# Thay đổi hệ thống hiện có một cách an toàn

Taiga Learning · Worksheet học tập
https://taiga.training/vi/lessons/existing-systems/

Dùng thông tin giả định hoặc được phê duyệt. Không đưa secret vào worksheet này.

## Mục tiêu học tập
- Xác định hợp đồng mà thay đổi mã cục bộ có thể ảnh hưởng.
- Giải thích thay đổi expand-and-contract theo giai đoạn.
- Phân biệt rollback mã với khôi phục dữ liệu.

## Bài tập
Chọn thay đổi nhỏ ở trường dữ liệu hoặc API. Liệt kê mọi thành phần đọc và ghi, kể cả job nền. Mô tả bước đầu chỉ bổ sung, kiểm tra quá trình chuyển đổi và điều kiện xóa bỏ. Xác định bước nào có thể cản rollback.

## Câu trả lời của bạn
- Kịch bản và phạm vi:
- Giả định và câu hỏi còn mở:
- Câu trả lời hoặc quyết định đề xuất, kèm lý do:

## Xác minh câu trả lời
| Nhận định hoặc tiêu chí | Bằng chứng hoặc test | Kết quả hoặc khoảng trống | Người phụ trách |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Hành động tiếp theo
- Hành động, người phụ trách và ngày:
- Khi nào bạn sẽ xem lại câu trả lời này?

## Nguyên tắc cần giữ
Review quá trình chuyển giữa các phiên bản, không chỉ thiết kế cuối cùng. Thành phần cũ và mới có thể chạy cùng lúc.

## Nguồn
- [Martin Fowler: Parallel Change](https://martinfowler.com/bliki/ParallelChange.html)

Worksheet hỗ trợ học tập. Hoàn tất nó tự nó không cho phép thay đổi production.
