Proses Agile: bagaimana dan apa yang harus didokumentasikan?

10

Beberapa waktu yang lalu perusahaan tempat saya bekerja telah melakukan outsourcing proyek pengembangan kepada pihak ketiga. Mereka menggunakan praktik lincah dalam mengembangkan solusi. Namun ketika ditanya untuk dokumentasi mereka hanya akan mengatakan itu diperlukan karena dimasukkan dalam wiki atau sebagai bagian dari sprint mereka.

Mereka pergi pada saat penyelesaian proyek, dengan semua kecuali satu dari tim proyek. Situs proyek wiki sekarang telah ditutup setelah langganan tahunan jatuh tempo.

Ketika mereka pergi, mereka mengambil sebagian besar pengetahuan dan pemahaman tentang apa yang dikembangkan bersama mereka.

Jadi saya punya 2 pertanyaan utama;

  1. Apakah ini normal untuk gesit atau hanya alasan untuk tidak ingin menulisnya?
  2. Apa norma industri untuk dokumentasi dalam proyek gesit untuk mencatat persyaratan pengembangan, desain, keputusan utama dan konteks?
GrumpyMonkey
sumber
en.wikipedia.org/wiki/There%27s_a_sucker_born_every_minute Serius - apakah Anda tidak melihat en.wikipedia.org/wiki/Bus_factor ? Nah, pelajaran yang dipelajarinya dengan susah payah cenderung dipelajari dengan baik. Mudah-mudahan, bagi Anda, tidak akan ada waktu berikutnya (tetapi Anda masih akan dalam bisnis)
Mawg mengatakan mengembalikan Monica

Jawaban:

4

Apakah ini normal untuk gesit atau hanya alasan untuk tidak ingin menulisnya?

Teori saya adalah itu sebabnya gesit menyebar begitu cepat, terutama scrum . Saya telah melihat terlalu banyak tim yang ingin gesit untuk melindungi diri mereka sendiri (bukan seluruh perusahaan). Masalahnya adalah bahwa dalam banyak kasus, metodologi tersebut digunakan untuk melawan mereka oleh manajemen (karena mereka juga ingin melindungi diri mereka sendiri!).

Apakah ini berarti gesit tidak bekerja sama sekali? Tentu saja tidak, ini hanya berarti bahwa tangkas membantu Anda untuk memecahkan beberapa masalah umum, tetapi Anda masih bertanggung jawab atas semua yang lain. Dan dalam banyak kasus lincah tidak cocok untuk tim di perusahaan itu.

Apa norma industri untuk dokumentasi dalam proyek gesit untuk mencatat persyaratan pengembangan, desain, keputusan utama dan konteks?

Singkatnya:

Tim harus menentukan berapa banyak dokumentasi yang mereka butuhkan

Mereka tahu domain, mereka adalah para ahli dan yang lebih penting mereka membangunnya!

Itulah yang berfungsi perangkat lunak melalui dokumentasi komprehensif dalam Agile Manifesto artinya.


sumber
2

Apakah mereka meninggalkan Anda satu set Tes TDD, Tes Penerimaan, atau Tes Unit lainnya? Mereka melakukan pekerjaan yang baik dalam mendokumentasikan cara kerja aplikasi dan diharapkan berfungsi, serta memberikan contoh implementasi bagaimana menggunakan apa yang dikembangkan.

CaffGeek
sumber
+1 Ya, itu adalah cara yang gesit untuk mendokumentasikan. Jika pengujian Anda cukup lengkap dan berjalan, Anda dapat memastikan sistem ini didokumentasikan dengan baik (sebagai lawan untuk menjaga dokumentasi terpisah dan tidak sinkron dengan kode yang sebenarnya). Oh, dan Anda mungkin perlu semacam dokumen luas untuk melihat gambaran besar.
Martin Wickman
2
Sayangnya, jumlah dan kualitas tes yang mereka tinggalkan buruk, mereka dengan cepat dibuang karena tidak ada penggunaan praktis.
GrumpyMonkey
2

Meskipun saya bukan ahli Agile dengan cara apa pun, berikut adalah upaya saya untuk menjawab:

  1. Apakah ada cerita / persyaratan yang meminta dokumentasi spesifik? Jika tidak, maka ini adalah bagian dari masalah saat Anda mendapatkan apa yang diminta sampai batas tertentu. Itu alasan dan saya ingin tahu apa yang Anda maksud dengan "normal" di sini. Apakah hanya sebagian besar dari mereka yang mengikuti prinsip Agile yang membuat sesuatu menjadi normal atau itu bagian dari keseluruhan proses yang harus diharapkan? Itulah dua pandangan yang bisa saya lihat untuk itu. EDIT: Saya ragu ada sesuatu yang dilakukan oleh sebagian besar tim yang sama dalam hal dokumentasi, tapi itu dugaan saya.

  2. Tautan pasangan yang mungkin menarik, adalah yang terbaik yang bisa saya lakukan tentang ini:

Agile memiliki beberapa poin spesifik dalam manifesto , di mana saya akan menunjukkan satu ini bersama dengan catatan:

Bekerja dengan perangkat lunak melalui dokumentasi yang komprehensif

Artinya, sementara ada nilai di item di sebelah kanan, kami lebih menghargai item di sebelah kiri.

JB King
sumber
@JB menggunakan istilah normal adalah untuk mengetahui apa yang dilakukan sebagian besar tim.
GrumpyMonkey
1

Mereka hanya mengerikan. Saya tidak percaya gesit berarti tidak ada dokumentasi sama sekali. Mereka setidaknya harus melacak deskripsi aplikasi. Mendapatkan ekspor wiki mereka akan menyenangkan atau mengizinkan orang lain untuk mengambil biaya layanan.

Mungkin tidak sedetail beberapa upaya. Teorinya adalah, ketika dalam krisis waktu, spesifikasi tidak lagi cocok dengan kode. Jadi, Anda memiliki dokumentasi yang cukup untuk menulis kode dan tidak mencoba mendefinisikannya secara terperinci (Semacam seperti menulis kode dalam beberapa kode pseudo-verbalized-text / diagram dan kemudian pada kode yang sebenarnya.).

JeffO
sumber
1

Masalah Anda tidak ada hubungannya dengan Agile. Mereka seharusnya menghasilkan dokumentasi yang Anda minta. Proyek ini dikelola dengan buruk.

Henry
sumber
0

Harus ada deskripsi fitur, cerita pengguna, dan kasus uji di suatu tempat , minimal. TI mungkin ada dalam file ReadMe dalam proyek, mungkin dalam komentar kode sumber, mungkin dalam dokumen desain; mungkin semua hal di atas ... atau mungkin MIA!

Steven A. Lowe
sumber
0

Dalam pengalaman saya selalu ada banyak orang yang menuntut dokumentasi (saya sudah salah satu dari mereka) tetapi dalam praktiknya tidak ada yang benar-benar punya waktu atau keinginan untuk membuatnya. Kadang-kadang ada upaya, tetapi dokumentasi yang dibuat biasanya usang sangat cepat dan tidak sinkron dengan fungsi sebenarnya dari sistem. Ini mengarah ke situasi di mana bahkan jika Anda memiliki dokumentasi tidak ada yang benar-benar mengganggu memeriksanya karena mereka tidak percaya keakuratannya.

Untuk keakuratan nyata dan informasi yang dapat diandalkan itu cukup banyak karena dapat membaca kode dan tes. Seorang pelanggan yang ingin (kembali) menemukan apa yang dilakukan sistemnya selalu dapat mewawancarai dan menanyakan kepada seorang programmer yang kemudian dapat menyajikan (dengan beberapa penyelidikan) fakta-fakta tentang sistem tersebut.

Membuat dokumentasi yang baik adalah -tidak sepele dan bisa sangat mahal. Kedua, orang bisa bertanya-tanya tentang audiens, untuk siapa dokumentasi dan apa yang dimaksudkan untuk disediakan?

Joppe
sumber
Sepertinya Anda merujuk pada dokumentasi setelah fakta (tolong maafkan saya jika saya salah). Apa yang terjadi pada dokumentasi sebelum fakta? O tempora, atau lebih banyak :-(
Mawg mengatakan mengembalikan Monica