Dokumentasi Agile: Menyeimbangkan Kecepatan dan Retensi Pengetahuan
Diterbitkan: 2022-03-11Berbagai dokumen, artefak, dan proses yang terkait dengan generasinya adalah beberapa simbol utama dari model Waterfall. Meminjam dari Lean, Agile menganggap banyak dokumentasi sebagai "pemborosan" yang perlu diberantas untuk merampingkan siklus hidup pengembangan.
Bagi banyak manajer proyek, tidak sulit untuk memahami bagaimana fase Waterfall diubah menjadi sprint—pekerjaan yang sama diselesaikan; itu hanya diatur dengan cara yang berbeda. Namun, penghapusan sebagian besar dokumentasi adalah pil yang lebih sulit untuk ditelan karena menggarisbawahi cara kerja yang sama sekali berbeda. Ini membutuhkan melonggarkan kendali, merangkul yang tidak diketahui, dan memberdayakan tim pengiriman untuk membuat keputusan di tempat.
Pendekatan Tradisional untuk Dokumentasi Sedang Ditantang
Dalam metodologi Waterfall, banyak waktu dihabiskan untuk mendokumentasikan persyaratan proyek dan merinci solusi. Proses ini bekerja ketika persyaratan benar-benar jelas dan kami yakin tidak ada yang akan berubah dari apa yang telah ditangkap dan dijadikan dasar. Namun pengalaman sebagian besar perusahaan dalam beberapa dekade terakhir telah menunjukkan bahwa ini hampir tidak pernah benar. Di dunia sekarang ini, laju perubahan begitu dinamis sehingga kebutuhan klien berubah secara signifikan pada saat kita menyelesaikan fase dokumentasi.
Fokus Agile adalah menyelesaikan sesuatu dan menambah nilai bagi pemangku kepentingan. Itu dibangun sedemikian rupa sehingga model tidak mendorong bekerja pada periferal dan aktivitas yang tidak secara langsung dan segera menambah nilai bagi klien.
Dokumentasi di Waterfall vs. Agile
Setiap perusahaan memiliki tingkat dokumentasi yang berbeda, yang dapat berbeda bahkan pada tingkat proyek. Tapi inilah prosedur dokumentasi tipikal dalam proyek Waterfall dan Agile:
Air terjun | Lincah |
Dokumentasi adalah wajib untuk sebagian besar waktu. Tidak ada pekerjaan yang berjalan kecuali dokumentasinya lengkap. | Hanya dokumentasi dasar yang cukup untuk dipahami untuk memulai pekerjaan yang dianjurkan. |
Dokumen menjalani proses peninjauan yang panjang dan harus disetujui oleh banyak pihak. | Tidak ada tinjauan formal dan proses persetujuan dan manajer proyek adalah pengambil keputusan utama. |
Template standar harus diikuti. | Tidak ada template formal untuk dokumentasi; praktik terbaik digunakan sebagai gantinya. |
Berbagai jenis dokumen diperlukan pada fase yang berbeda: piagam proyek, pernyataan visi, dokumen persyaratan bisnis, persyaratan fungsional dan non-fungsional, dokumen desain tingkat tinggi (HLD) dan desain tingkat rendah (LLD), dll. | Hanya dokumen yang diperlukan untuk memberikan fungsionalitas dalam sprint mendatang yang diperlukan. |
Perubahan pada dokumentasi sulit dilakukan karena semua dokumen saling terkait. | Perubahan pada dokumentasi jauh lebih mudah. |
Diperlukan suatu sistem atau proses untuk mengelola dokumen dalam jumlah yang banyak. | Dokumentasi minimal, sehingga mudah dikelola. |
Kasus untuk Dokumentasi
Waterfall mempromosikan pendekatan dokumentasi yang jauh lebih ketat, yang mungkin tampak berlebihan. Tapi sebelum kita mengabaikan ini sebagai "pemborosan", berikut adalah beberapa manfaat memiliki prosedur dokumentasi yang kuat.
Peluang untuk Pemikiran Strategis
Mereka yang gagal merencanakan, merencanakan kegagalan. Dokumentasi memaksa seorang manajer proyek untuk duduk dan memikirkan semuanya, lalu menemukan solusi terbaik. Orang terkadang salah mengartikan nilai Agile dari perangkat lunak yang berfungsi daripada dokumentasi komprehensif yang berarti bahwa tidak ada dokumentasi yang diperlukan. Mereka kemudian bergegas ke pasar, tindakan yang digambarkan Paul Adams, Wakil Presiden Produk di Intercom, seperti melempar barang ke dinding dan melihat apa yang menempel. Merancang solusi, membuat rencana, mempertimbangkan tindakan—aktivitas ini menciptakan nilai dengan menghemat waktu dengan tidak mengembangkan setiap ide fitur yang muncul di benak.
UX dan Konsistensi Fungsional
Ketika perusahaan tumbuh dari beberapa pendiri menjadi ratusan atau ribuan karyawan, banyak tim yang berbeda mulai mengerjakan produk yang sama atau terkait. Tim A mungkin berpikir bahwa apa yang sedang mereka kerjakan tidak terkait dengan apa yang sedang dikerjakan oleh tim B, tetapi bagi pengguna akhir, semuanya adalah produk yang sama. Alih-alih tim lintas fungsi melakukan hal mereka sendiri, dokumentasi yang jelas tentang pengalaman pengguna dan tingkat fungsional menghindari aliran pengguna yang terputus-putus.
Dokumentasi Dapat Dikonversi ke Panduan Pengguna
Di Waterfall, banyak waktu dihabiskan untuk merinci solusi dan bagaimana mereka akan digunakan. Gambar desain fidelitas tinggi dibuat untuk pengembang front-end. Semua aset ini membutuhkan lebih sedikit pekerjaan untuk diubah menjadi panduan pengguna internal atau eksternal daripada membuatnya dari awal.
Bagaimana Agile Mengurangi Kebutuhan Dokumentasi
Faktor yang berulang kali muncul sebagai alasan untuk mengamanatkan dokumentasi adalah pergantian karyawan. Manajer takut kehilangan pengetahuan kelembagaan ketika orang pergi dan yang baru bergabung untuk menggantikan mereka. Bagaimana mereka tahu apa yang telah diterapkan dan bagaimana cara kerjanya? Berapa lama mereka akan mengejar? Akankah tim saat ini memiliki bandwidth untuk menangani anggota tim baru?
Harapannya, dokumentasi yang baik akan membuat karyawan baru yang sebagian besar bekerja mandiri dengan cepat hingga cepat. Namun, Agile secara inheren mengurangi kebutuhan akan dokumentasi melalui teknik kolaborasi yang, pada saat yang sama, mengurangi waktu untuk orientasi. Berikut adalah beberapa cara Agile mengurangi kebutuhan akan dokumentasi.
Interaksi Reguler Antara Tim Produk dan Anggota Tim Agile
Manifesto Agile mempromosikan “individu dan interaksi melalui proses dan alat.” Karena persyaratan cenderung berubah selama proyek dan ide-ide baru muncul, Agile memastikan klarifikasi persyaratan langsung dari sumbernya alih-alih bergantung pada artefak tertulis yang perlu diperbarui terus-menerus.

Perawatan dan Perencanaan Membagi Tugas
Perawatan backlog dan perencanaan sprint memecah fitur menjadi bagian-bagian spesifik yang dapat diterapkan yang mudah dipahami dan dapat dikerjakan secara mandiri. Ini menciptakan peluang bagi karyawan baru untuk menjadi produktif sejak dini, sementara belum sepenuhnya memahami gambaran besar dari keseluruhan proyek.
Kisah Pengguna Memberikan Dokumentasi yang Efisien
Format sederhana dari cerita pengguna memungkinkan manajer proyek untuk menangkap persyaratan minimum yang menciptakan pemahaman bersama di antara semua anggota tim. Bahkan jika cerita pengguna tidak membuatnya menjadi sprint, pemborosan pembuatan artefak dokumentasi ini sangat rendah. Saat cerita pengguna pindah ke sprint, mereka dapat disempurnakan dan dilengkapi dengan informasi lain yang diperlukan seperti gambar rangka, desain, kriteria penerimaan, dll. Proses ini memberikan pengiriman dokumentasi yang sangat efisien yang sangat dapat dibuang dan diproduksi pada tahap pengembangan yang paling tepat.
Berkurangnya Kebutuhan akan Dokumentasi Kode
Teknik seperti pemrograman berpasangan dan tinjauan kode menciptakan peluang konstan untuk menyebarkan pengetahuan teknis ke seluruh tim, terutama kepada anggota tim baru. Umpan balik yang konstan mengarah pada pemahaman bersama yang juga memiliki fleksibilitas untuk beradaptasi dengan keadaan baru alih-alih dengan cepat menjadi usang dalam dokumen di suatu tempat.
Upacara Agile
Standup harian, tinjauan sprint, dan retrospektif menciptakan banyak peluang untuk menyelesaikan masalah dan membuat keputusan secara langsung alih-alih mengandalkan email dan dokumen. Jangka waktu yang terbatas dari semua upacara memastikan bahwa hanya informasi yang paling penting yang diprioritaskan daripada menghabiskan waktu untuk mendokumentasikan semuanya, bahkan jika kemungkinan besar tidak akan pernah digunakan.
Semua hal di atas secara langsung atau tidak langsung mengurangi dokumentasi dan memprioritaskan penyampaian tujuan proyek sambil memastikan bahwa tidak ada yang benar-benar hilang karena kurangnya dokumentasi.
Pendekatan Hybrid untuk Dokumentasi
Beberapa perusahaan masih lebih suka memiliki beberapa dokumentasi, bahkan dalam pengaturan Agile. Agile tidak bersifat preskriptif, karena setiap proyek berbeda dan memiliki serangkaian keadaan unik yang perlu ditangani.
Di bawah ini adalah beberapa contoh bagaimana Agile dapat digabungkan dengan metode dokumentasi yang lebih intensif waktu.
Menggabungkan UML dan Agile
Pertimbangkan untuk menggunakan bahasa pemodelan standar seperti Unified Modeling Language (UML) yang sangat terstruktur dan memiliki entitas yang ditentukan untuk memvisualisasikan suatu sistem. Ini membantu menjaga konten tetap sederhana dan fokus pada apa yang dibutuhkan dan memastikan penggunaan bahasa tertulis minimal. Alat seperti StarUML dan Draw.io, di antara banyak lainnya, adalah pilihan yang nyaman.
Generator Dokumentasi Kode
Pendekatan lain adalah memastikan bahwa kode lebih mudah dibaca dengan memperkenalkan komentar yang lebih terstruktur dan terperinci sebagai bagian dari detail kelas, detail metode, penggunaan parameter, dependensi, dan sebagainya. Ada banyak alat yang mengotomatiskan proses menghasilkan dokumen yang berguna dari kode sumber dan mereka disebut generator dokumentasi. Mulai dari yang umum hingga yang khusus bahasa pemrograman.
Desain Detail dan Dokumen UX
Mendefinisikan persyaratan menggunakan gambar rangka, maket, diagram alur pengguna, diagram urutan, dll. membantu menyederhanakan alur proyek serta memperjelas secara eksplisit kepada tim teknis apa yang perlu dikembangkan. Dokumen desain adalah cara yang bagus untuk memiliki berbagai tingkat dokumentasi yang lebih kaku. Ada berbagai alat wireframing dan UX untuk dipilih untuk tugas-tugas ini.
Alat Manajemen Proyek Dokumentasi Otomatis
Manajemen proyek yang lebih kuat dan alat terkait seperti JIRA, Confluence, Asana, dan Basecamp menyediakan cara untuk menyimpan semua informasi terkait proyek di satu tempat. Tugas dapat ditautkan, ditandai, disarangkan, dan ditetapkan ke anggota tim yang berbeda, yang kemudian dapat meninggalkan komentar dan melaporkan masalah apa pun. Semua tindakan ini, di samping fleksibilitas untuk mengadaptasi alat tersebut, dapat membuat sejumlah besar dokumentasi dengan sedikit atau tanpa usaha.
Selain itu, secara historis, bagian dari kebutuhan dokumentasi berasal dari persyaratan pelaporan. Pemangku kepentingan menginginkan akses ke kinerja tim atau metrik relevan lainnya. Alat manajemen proyek memudahkan untuk mengotomatisasi dasbor dan tampilan khusus yang mencerminkan kemajuan proyek dan menautkan kembali ke dokumentasi yang relevan di dalam alat.
Manajemen Dokumentasi Adalah Tindakan Penyeimbang
Pembuat Manifesto Agile menulis bahwa mereka menghargai "perangkat lunak yang berfungsi daripada dokumentasi yang komprehensif." Namun, mereka juga menambahkan penafian bahwa “sementara ada nilai pada item di sebelah kanan, [mereka] lebih menghargai item di sebelah kiri.” Agile tidak menyarankan untuk menghapus semua dokumentasi, karena beberapa dokumentasi jelas memberikan nilai; itu hanya menunjukkan bahwa prioritas harus pada perangkat lunak yang berfungsi dan menambahkan dokumentasi hanya seperlunya tergantung pada keadaan proyek dan tanpa sangat menghambat kemajuan pengembangan.
Manajer proyek harus mencapai tindakan penyeimbangan antara menghabiskan lebih sedikit waktu untuk dokumentasi dan menghabiskan lebih banyak waktu untuk memberikan perangkat lunak yang berfungsi dan benar-benar mencari tahu di mana beberapa bentuk dokumentasi diperlukan untuk kesuksesan jangka panjang.