Di tim kami, sejak mulai gesit, kami juga telah berusaha mempersempit dan memahami betapa banyak dokumentasi yang sebenarnya diperlukan. Saya dapat membagikan kepada Anda apa yang telah kami pelajari sampai sekarang.
Sebelum ada yang lain, pastikan untuk membaca artikel ini tentang Agile / Lean Documentation . Sangat bagus dibaca.
Kedua, saya akan sangat menyarankan Anda untuk mempertimbangkan kembali memproduksi dokumen desain setelah pekerjaan pendahuluan pada cerita. Kami telah mencobanya sebelumnya dan terbukti sia-sia. Di tengah rilis terakhir kami telah memutuskan untuk memperbarui dokumen desain HANYA SETELAH kode untuk cerita disampaikan. Dan sekarang saya berpikir bahwa itu terlalu cepat.
Anda perlu bertanya pada diri sendiri mengapa Anda ingin melakukan dokumen desain sebelum pengkodean. Bagi kami ini adalah alasannya:
- Kita sebagai tim perlu memahami bagaimana cerita akan memengaruhi desain.
- Memiliki dokumen desain terbukti bermanfaat ketika anggota baru (atau sementara) bergabung dengan tim atau ketika kembali ke kode yang belum pernah dikerjakan oleh siapa pun selama lebih dari setahun. Jadi mereka berguna untuk memori organisasi untuk membantu memahami cara kerja kode.
- Dokumen desain berguna untuk teknisi pemeliharaan yang mungkin perlu memecahkan masalah kode setelah rilis.
Untuk memuaskan (1) Anda tidak perlu membuat dokumen desain yang sebenarnya. Tim Anda masih harus memiliki fase desain sebelum pengkodean, tetapi fase itu dapat sesederhana sesi 15 menit di depan papan tulis atau serbet. Anda tidak perlu membuat dokumen aktual yang akan memakan waktu berjam-jam (jika bukan hari) untuk menulis hanya untuk membahas perubahan desain.
(2) atau (3) tidak diperlukan selama pengembangan cerita saat ini dan lebih dari itu mereka tidak akan diperlukan untuk beberapa iterasi berikutnya.
Juga perlu diingat bahwa setiap kali anggota tim menulis / memperbarui dokumen desain, saat itulah kode tidak ditulis. Ketika Anda menulis dokumen sebelum kode aktual, ada hampir 100% kemungkinan bahwa mereka akan perlu diperbarui karena begitu Anda memulai desain pengkodean selalu berakhir diubah. Dan bahkan jika Anda menulis dokumen desain setelah kode, seperti yang dipelajari oleh tim kami, refactoring dari cerita selanjutnya masih mengubah desain.
Jadi apa yang akan saya rekomendasikan:
- Awalnya, buat desain / model sementara cukup sehingga tim Anda dapat memiliki percakapan yang cerdas sebelum pengkodean. Jangan berharap menyimpan ini dan jangan buang waktu untuk memformalkannya.
- Hanya buat dokumentasi desain resmi jika seseorang membutuhkannya (mis. Tim Anda memiliki kebutuhan nyata akan memori organisasi)
- Hanya menghasilkan dokumentasi desain pada kode yang telah distabilkan. Tidak ada gunanya mencoba mendokumentasikan modul yang terus berubah di setiap iterasi.
- Menghasilkan dokumen desain yang sepenuhnya menggambarkan modul (atau bagian dari produk). Di masa lalu kami biasa menulis dokumen desain yang mendokumentasikan perubahan yang harus dilakukan. Dokumen-dokumen itu benar-benar tidak berharga segera setelah pembebasan dilakukan.
- Simpan dokumen dengan sangat tinggi. Jika Anda menulis 20 halaman yang mencakup arsitektur dan desain tingkat tinggi, dokumen itu akan a) benar-benar dibaca oleh orang lain dan b) akan membantu orang mengenal tata letak umum kode Anda. Untuk lebih jelasnya, orang bisa langsung masuk ke kode. Jika Anda menulis 700 halaman dengan spesifikasi terperinci, mereka akan hampir selalu tidak cocok dengan kenyataan, itu terlalu banyak bagi siapa pun untuk membaca dan Anda akhirnya harus memelihara dan memperbarui 700 halaman alih-alih 20 setiap kali perubahan di masa depan dibuat.