# Ubah sistem yang sudah ada dengan aman

Taiga Learning · Lembar kerja
https://taiga.training/id/lessons/existing-systems/

Gunakan informasi fiktif atau yang disetujui. Jangan masukkan secret dalam lembar kerja ini.

## Tujuan pembelajaran
- Identifikasi kontrak yang dapat terdampak oleh perubahan kode lokal.
- Jelaskan perubahan expand-and-contract secara bertahap.
- Bedakan rollback kode dari pemulihan data.

## Latihan
Pilih perubahan kecil pada field atau API. Daftar semua komponen yang membaca dan menulis data, termasuk job latar belakang. Jelaskan langkah pertama yang hanya menambah, pemeriksaan transisi, dan syarat penghapusan. Identifikasi langkah yang dapat menghalangi rollback.

## Jawaban Anda
- Skenario dan cakupan:
- Asumsi dan pertanyaan yang belum terjawab:
- Jawaban atau keputusan yang diusulkan, beserta alasan:

## Verifikasi jawaban Anda
| Klaim atau kriteria | Bukti atau pengujian | Hasil atau kekurangan | Penanggung jawab |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Tindakan berikutnya
- Tindakan, penanggung jawab, dan tanggal:
- Kapan Anda akan meninjau jawaban ini?

## Prinsip yang perlu dipertahankan
Tinjau transisi antarversi, bukan hanya desain akhirnya. Komponen lama dan baru dapat berjalan bersamaan.

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

Lembar kerja ini mendukung pembelajaran. Menyelesaikannya tidak dengan sendirinya mengizinkan perubahan produksi.
