Saya sedang membaca Prinsip Agile Manifesto . Semuanya tampak jelas dan masuk akal kecuali satu hal:
Kesederhanaan - seni memaksimalkan jumlah pekerjaan yang tidak dilakukan - sangat penting.
Saya tidak mengerti ini. Apakah ini berarti bahwa pekerjaan yang tidak dilakukan harus dibesar-besarkan? Jika demikian, itu tidak benar-benar masuk akal.
agile
management
superM
sumber
sumber
Jawaban:
Hapus komentar kurung. Yang tersisa adalah "Kesederhanaan itu penting", yang merupakan penerapan prinsip untuk ekspresinya sendiri.
Kesederhanaan sangat penting, karena Anda telah menyaring apa yang benar-benar Anda butuhkan, menghilangkan apa yang membuat tugas lebih berat, kurang elegan: kompleks.
Saya selalu menafsirkan dalam pengertian Pascal tentang singkatnya : " Saya akan menulis surat yang lebih pendek, tetapi saya tidak punya waktu. " Anda harus menghindari apa yang tidak diawasi (dari surat, dari kode) dan ini adalah sebuah tugas aktif , dan tidak mudah. Itu bukan sesuatu yang terjadi dengan sendirinya.
sumber
Idenya adalah untuk menghindari melakukan pekerjaan yang tidak perlu, yaitu "memaksimalkan jumlah pekerjaan yang tidak dilakukan".
Jadi, jika dalam proyek tradisional Anda akan merencanakan dan membangun sistem basis abstrak yang bagus untuk memungkinkan semua kebutuhan Anda yang mungkin nanti, Anda hanya melewatkan itu dan membangun hal paling sederhana yang mungkin dapat bekerja untuk persyaratan saat ini . Jangan membuat barang yang tidak Anda butuhkan.
YAGNI adalah konsep terkait.
sumber
Kami biasa menyebutnya "pelapisan emas". Persyaratan untuk palu adalah dapat menampar paku ke sepotong kayu. Itu tidak melakukan pekerjaan lebih baik untuk menjadi palu berlapis emas.
Berkali-kali seorang pengembang menyarankan menggunakan kerangka kerja keren baru atau menambahkan fitur yang meskipun tidak diperlukan. Kami akan mencatat ide ini, tetapi untuk versi ini kami tidak akan melakukannya. Kami akan memaksimalkan pekerjaan yang tidak dilakukan. Cukup sulit untuk mengirimkan perangkat lunak tepat waktu, jadi jangan berikan kode lebih dari yang Anda perlukan. Jika perlu dilakukan, pada akhirnya akan masuk dalam rencana dan dilakukan pada waktu yang tepat.
sumber
Gagasan ini sangat mirip dengan konsep dari Toyota Production System (TPS) , yang mengarah pada Lean Manufacturing yang lebih umum dan kemudian penerapan teknik-teknik tersebut untuk Pengembangan Perangkat Lunak Lean . TPS secara signifikan mendahului gerakan lincah, dengan akarnya di bidang manufaktur pada akhir 1950-an.
Konsep memaksimalkan jumlah pekerjaan yang tidak dilakukan mirip dengan menghilangkan limbah. Dalam lingkungan manufaktur, limbah mencakup hal-hal seperti kelebihan produksi barang, menunggu sumber daya, pergerakan orang atau produk yang tidak perlu, terlalu banyak inventaris, dan produk cacat. Dalam Pengembangan Perangkat Lunak Ramping, limbah ini diterjemahkan ke dalam fungsionalitas yang tidak perlu, keterlambatan dalam proses pengembangan, persyaratan tidak jelas yang memperlambat produksi perangkat lunak, kurangnya pengujian, dan keterlambatan komunikasi.
Ide keseluruhan dari kedua konsep adalah sama - hal-hal yang tidak menambah nilai boros dan harus diminimalkan. Tujuan utamanya adalah untuk meningkatkan kualitas sekaligus mengurangi waktu dan biaya untuk memproduksi.
sumber