Pengembangan Berbasis README (2010)
(tom.preston-werner.com)- Pengembangan berbasis README: pendekatan menulis README terlebih dahulu saat mengembangkan perangkat lunak
- Kita sering mendengar berbagai metodologi dan teknik pengembangan seperti TDD, BDD, Extreme Programming, dan SCRUM
- Namun, jika perangkat lunak yang kita kembangkan tidak memenuhi kebutuhan pengguna, semuanya menjadi tidak berarti
- Bahkan implementasi yang sempurna pun tidak bernilai jika mengikuti spesifikasi yang salah, dan library yang indah tetapi tidak terdokumentasi juga hampir tidak bernilai
- Jika perangkat lunak menyelesaikan masalah yang salah atau cara penggunaannya tidak diketahui, itu menimbulkan masalah serius
Solusi: Mulai dari README
- Mengapa README harus ditulis lebih dulu
- Sebelum menulis kode, pengujian, story, dan lainnya, tulislah README terlebih dahulu
- Menulis README adalah langkah penting untuk membuat perangkat lunak yang baik
- Sampai kita menuliskan tentang perangkat lunak itu, kita belum jelas tentang apa yang harus dikodekan
- README membantu kita memikirkan proyek secara sistematis
- Manfaat menulis README lebih dulu:
- Kesempatan memikirkan proyek secara sistematis:
- Kita dapat memikirkan proyek secara sistematis tanpa perlu mengubah kode
- Sebelum mulai coding, kita bisa mempertimbangkan struktur proyek dan API yang akan disertakan
- Memastikan dokumentasi yang baik:
- Pada tahap awal proyek, kita bisa menulis dokumentasi ketika motivasi dan minat masih tinggi
- Menulis README belakangan cenderung membosankan dan dapat membuat detail penting terlewat
- Meningkatkan efisiensi kerja tim:
- Developer lain dalam tim dapat lebih dulu memahami antarmuka sebelum proyek selesai, sehingga mereka bisa mulai mengerjakan hal lain dengan percaya diri
- Bekerja tanpa antarmuka yang jelas dapat menyebabkan kebutuhan pengerjaan ulang kode dalam skala besar
- Menyediakan dasar diskusi yang konkret:
- Dengan tindakan sederhana menuliskan solusi yang diusulkan dalam teks, semua orang dapat berdiskusi dengan gagasan yang jelas
- Kesempatan memikirkan proyek secara sistematis:
- Karakteristik README Driven Development (RDD):
- RDD dapat dipandang sebagai subset atau versi terbatas dari Documentation Driven Development (DDD)
- RDD membatasi dokumen desain pada satu file untuk mencegah masalah spesifikasi yang berlebihan
- RDD mendorong pemeliharaan library kecil yang termodularisasi
Kesimpulan
- Anggap proses menulis README sebagai "tindakan kreatif" yang sesungguhnya
- Semua ide cemerlang Anda harus terungkap dalam dokumen ini, dan dokumen itu sendiri harus menjadi bukti yang menunjukkan kreativitas dan daya ekspresi
- README harus menjadi dokumen terpenting dalam codebase, dan menulisnya paling pertama adalah pendekatan yang benar
9 komentar
Baik itu perangkat lunak, novel, film, atau bentuk karya kreatif apa pun, rasanya kalau dibuat sambil menyusun desain dan perencanaan di depan kertas, detail-detail kecil bisa lebih mudah terjaga.. :)
Saya sudah terlalu lama melupakan hal yang paling mendasar, jadi sekarang saya harus mulai mempraktikkannya.
Kami memutuskan untuk menyebutnya "desain dasar".
Tanpa sengaja, ini cukup mirip dengan cara dan konteks saya bekerja.
Tampaknya bagian itu dihasilkan dalam bentuk
README.Saat bekerja, saya cenderung menuliskan dengan jelas What, Why, How, dan sebagainya, lalu sambil berjalan membentuk gambaran tentang pekerjaan yang perlu dilakukan, jadi rasanya mirip dengan itu.
Pengembangan yang Dipandu README
Kami adalah organisasi riset, jadi saya sering memikirkan bagaimana merilis hasil riset dalam bentuk kode, dan sepertinya pengembangan yang dipandu README akan sangat cocok untuk kami. Ini terasa seperti pendekatan yang layak dipertimbangkan sejak tahap awal dimulainya riset.
Mirip dengan ini, saat mengerjakan backend saya juga sering melihat tampilan sambil menulis dokumentasi API secara kasar terlebih dahulu,
dan itu cukup membantu untuk mengurangi trial and error.
Kalau dipikir-pikir, ini terasa seperti pentingnya terlebih dahulu mendefinisikan dengan tepat masalah yang harus diselesaikan.
Ini tulisan dari tahun 2010, saya menemukannya saat membaca tulisan lain jadi saya coba bagikan di sini.