Mengadopsi situs yang sudah ada

Bagaimana sebuah repositori yang asing diambil alih tanpa menulis ulang dari nol.

Ringkas dulu

Apa ini?
Urutan tahap untuk mengambil alih repositori situs yang sudah berjalan.
Mengapa penting?
Sebagian besar situs komersial yang butuh disiplin rekayasa sudah lama ada, lengkap dengan sejarah dan batasan yang nyata meski tak terdokumentasi.
Bagaimana cara kerjanya?
Empat tahap pertama tidak mengubah apa pun. Mereka hanya membangun pemahaman, otoritas, titik pulih, dan daftar hal yang wajib tetap benar.
Contoh konkretnya?
Sebelum menyentuh satu berkas pun, pekerjaan mencatat commit persis yang diketahui baik. Kalau nanti ada yang rusak, pertanyaannya bukan "dulu seperti apa" melainkan "kembali ke titik mana".
Berikutnya baca apa?
"Mengukur perubahan, lalu membuktikannya", karena setelah dipahami, perubahan harus diberi ukuran.

Mengapa repositori lama didahulukan

Sebagian besar situs komersial yang membutuhkan disiplin rekayasa sudah ada lebih dulu. Mereka membawa sejarah, keputusan yang tak seorang pun ingat pernah dibuat, dan batasan yang nyata meski tidak tertulis. Metode yang hanya jalan pada proyek baru tidak berguna untuk mereka.

Karena itu adopsi repositori yang sudah ada diperlakukan sebagai kelas utama, bukan jalur migrasi. Alurnya dirancang untuk tidak pernah memulai dari nol: ia memahami apa yang sudah ada, lalu mengubahnya dalam langkah-langkah yang dibatasi.

Periksa, otoritas, baseline, invarian

Adopsi berjalan sebagai alur berurutan. Setiap tahap harus menghasilkan keluaran wajibnya sebelum tahap berikutnya bermakna.

  1. InspectMemastikan repositori ini sebenarnya apa, sebelum mengusulkan perubahan.
  2. AuthorityMenemukan rujukan dan pihak yang berwenang menyetujui perubahan.
  3. BaselineMencatat satu titik acuan persis yang diketahui baik, untuk tempat kembali.
  4. InvariantsMenyatakan hal-hal yang wajib tetap benar sepanjang perubahan.
  5. Risk and Change ClassMenilai luas dampak, tingkat ketidakpastian, dan seberapa mudah dibatalkan.
  6. Plan or Bounded DeltaMemilih jalur rekayasa dan menuliskan perubahan terbatas yang akan dikerjakan.
  7. VerifyMenjalankan verifikasi sebanding dengan risikonya.
  8. Release and Evidence DecisionMemutuskan bukti rilis apa yang dibutuhkan sebelum menyentuh publik.

Empat tahap pertama tidak melakukan pekerjaan apa pun pada situs. Mereka menetapkan repositori ini sebenarnya apa, siapa yang berwenang menyetujui perubahan, titik persis untuk kembali, dan apa yang wajib tetap benar. Baru setelah itu sebuah perubahan dijelaskan.

Apa arti baseline yang persis

Baseline adalah rujukan yang persis dan tidak berubah, bukan deskripsi tentangnya. "Versi sekarang", "yang terbaru", atau "yang sedang tayang" bukan baseline, karena ketiganya menunjuk hal yang berbeda tergantung kapan Anda membacanya.

Contoh konkret

Dua orang membaca "kembalikan ke versi terakhir yang bagus" pada hari yang berbeda akan mengembalikan sistem ke dua keadaan yang berbeda. Satu commit yang disebut lengkap tidak punya masalah itu.

Alasannya adalah pemulihan. Ketika ada yang salah, pertanyaannya bukan bagaimana rupa situs itu dulu, melainkan keadaan persis mana yang bisa dituju kembali. Jawaban itu harus sudah dicatat sebelum perubahan, bukan disusun ulang sesudahnya.

Kapan hasil pemeriksaan boleh dipakai lagi

Tahap adopsi bukan ritual yang harus diulang. Ketika sebuah tahap sudah menghasilkan keluaran yang tepercaya dan masih berlaku, pekerjaan berikutnya melanjutkan dari situ alih-alih memeriksa ulang repositori yang sama.

Ada batasnya: hasil sebelumnya harus masih valid. Kalau ada yang berubah secara material, atau buktinya sudah basi, tahap itu dikerjakan lagi. Ukurannya adalah apakah kesimpulannya masih berlaku, bukan seberapa baru pekerjaan itu dilakukan.

Kapan sebuah tahap wajib diulang?

Bukan karena waktu berlalu, melainkan karena ada pemicu nyata: dampaknya melebar, muncul anomali atau regresi, ada perubahan dependensi atau runtime yang material, lingkungan produksi berubah, pemilik memintanya, atau berlaku aturan domain berisiko tinggi.

Tanpa salah satu pemicu itu, mengulang seluruh pemeriksaan hanya memindahkan waktu dari pekerjaan yang benar-benar perlu diverifikasi.

Sumber kanonik yang dijelaskan halaman ini

Halaman ini menjelaskan berkas-berkas berikut. Kalau isinya berbeda, berkas itu yang berlaku — bukan tulisan di sini.

  • docs/product/DEV-WEB-PRODUCT-REQUIREMENTS.md
  • kernel/core/adopter-workflow.contract.json
  • kernel/core/foundation.contract.json
  • schemas/adopter-baseline.schema.json

Lanjutkan ke