Menggunakan catatan keputusan arsitektur untuk merampingkan pengambilan keputusan teknis untuk proyek pengembangan perangkat lunak - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan catatan keputusan arsitektur untuk merampingkan pengambilan keputusan teknis untuk proyek pengembangan perangkat lunak

Darius Kunce dan Dominik Goby, Layanan Web Amazon (AWS)

Maret 2022(sejarah dokumen)

Panduan ini memperkenalkan proses catatan keputusan arsitektur (ADR) untuk proyek rekayasa perangkat lunak. ADR mendukung penyelarasan tim, mendokumentasikan arahan strategis untuk proyek atau produk, dan mengurangi upaya pengambilan keputusan yang berulang dan memakan waktu.

Selama pengembangan proyek dan produk, tim rekayasa perangkat lunak perlu membuat keputusan arsitektur untuk mencapai tujuan mereka. Keputusan ini dapat bersifat teknis, seperti memutuskan untuk menggunakan pola pemisahan tanggung jawab permintaan perintah (CQRS), atau terkait proses, seperti memutuskan untuk menggunakanGitFlowalur kerja untuk mengelola kode sumber. Membuat keputusan ini adalah proses yang memakan waktu dan sulit. Tim harus membenarkan, mendokumentasikan, dan mengkomunikasikan keputusan ini kepada pemangku kepentingan yang relevan.

Tiga anti-pola utama sering muncul ketika membuat keputusan arsitektur:

  • Tidak ada keputusan yang dibuat sama sekali, karena takut membuat pilihan yang salah.

  • Keputusan dibuat tanpa pembenaran apa pun, dan orang tidak mengerti mengapa itu dibuat. Ini menghasilkan topik yang sama dibahas beberapa kali.

  • Keputusan tidak diambil dalam repositori keputusan arsitektur, sehingga anggota tim lupa atau tidak tahu bahwa keputusan itu dibuat.

Anti-pola ini sangat penting untuk ditangani selama proses pengembangan suatu produk atau proyek.

Menangkap keputusan, konteks, dan pertimbangan yang mengarah pada keputusan dalam bentuk ADR memungkinkan pemangku kepentingan saat ini dan masa depan untuk mengumpulkan informasi tentang keputusan yang dibuat dan proses pemikiran di balik setiap keputusan. Ini mengurangi waktu pengembangan perangkat lunak dan memberikan dokumentasi yang lebih baik untuk tim masa depan.

Hasil bisnis yang ditargetkan

ADR menargetkan tiga hasil bisnis:

  • Mereka menyelaraskan anggota tim saat ini dan masa depan.

  • Mereka menetapkan arah strategis untuk proyek atau produk.

  • Mereka menghindari keputusan anti-pola dengan mendefinisikan proses untuk mendokumentasikan dan mengkomunikasikan keputusan arsitektur dengan benar.

ADR menangkap konteks keputusan untuk menginformasikan pemangku kepentingan di masa depan. Kumpulan ADR memberikan pengalaman serah terima dan dokumentasi referensi. Anggota tim atau proyek menggunakan koleksi ADR untuk proyek tindak lanjut dan perencanaan fitur produk. Mampu mereferensikan ADR mengurangi waktu yang dibutuhkan selama pengembangan, tinjauan, dan keputusan arsitektur. ADR juga memungkinkan tim lain untuk belajar dari, dan mendapatkan wawasan tentang, pertimbangan yang dibuat oleh tim proyek dan pengembangan produk lainnya.