← thisisyazid.comArtikel › Membina secara lestariENBM한국어
Asas Agile

Membina secara lestari: langkah kecil, bukan satu lompatan besar

Mengapa pasukan Agile membina dalam langkah pendek yang berulang (iteratif) dan bukan dalam satu perjalanan panjang merancang, membina dan menguji (waterfall), serta mengapa cara itulah yang membolehkan pasukan terus bekerja bertahun-tahun tanpa keletihan melampau. Kira-kira 10 minit untuk dibaca.

🏗️WaterfallRancang semuanya, bina semuanya, uji semuanya, kemudian lancarkan sekali pada penghujungnya.
🔁IteratifBina satu bahagian kecil yang berfungsi, tunjukkannya, belajar, kemudian bina bahagian seterusnya dengan lebih baik.
🎯Mengapa ia pentingKita tahu kita tersilap dalam masa beberapa minggu, ketika menukar haluan masih murah.
🌱LestariRentak stabil yang boleh dikekalkan oleh pasukan tanpa had masa, tanpa kerja lebih masa yang gila-gila pada penghujungnya.
Bahagian 1

Dua cara membina perkara yang sama

Bayangkan anda mahu membuka sebuah kafe. Satu cara: habiskan setahun mereka bentuk kafe yang sempurna, bina semuanya, kemudian buka pintu dan berharap orang suka. Cara lain: mula dengan sebuah gerai kopi beroda, lihat apa yang orang benar-benar pesan, kemudian tambah tempat duduk, kemudian makanan, dan terus menyesuaikan. Kedua-duanya akhirnya menjadi kafe. Hanya satu yang memberitahu anda dari awal sama ada orang mahukan kopi anda.

WaterfallIteratif
Cara kerja disusunMengikut fasa: semua perancangan, kemudian semua pembinaan, kemudian semua ujianDalam kitaran pendek: setiap kitaran merancang, membina dan menguji satu bahagian kecil
Kali pertama pengguna melihat ia berfungsiPada penghujungnya, selalunya selepas berbulan-bulanSelepas kitaran pertama, biasanya dalam beberapa minggu
Bila kita tahu kita tersilapLewat, apabila kebanyakan wang sudah dibelanjakanAwal, selepas satu bahagian kecil
Kos sesuatu perubahanTinggi: pelan, reka bentuk dan kerja yang sudah siap terpaksa dibuangRendah: kita laraskan bahagian kecil yang seterusnya
Cara kemajuan diukurDokumen dan peratusan ("kami sudah 80% siap")Produk berfungsi yang boleh dicuba orang
Di mana risikonyaBertimbun pada penghujungnyaTersebar nipis dalam setiap kitaran
Produk berfungsi yang dihantar mengikut masa Dengan waterfall, tiada apa yang boleh digunakan sehingga pelancaran pada penghujungnya. Dengan cara iteratif, produk yang boleh digunakan bertambah langkah demi langkah sejak minggu-minggu pertama. Produk berfungsi yang dihantar mengikut masa Masa → ↑ Produk berfungsi di tangan pengguna Iteratif: ada hasil yang boleh diguna selepas setiap langkah, serta maklum balas Waterfall: tiada yang boleh diguna hingga akhir Pelancaran 😬 Jika projek terhenti separuh jalan, cara iteratif mengekalkan semua yang telah siap. Waterfall tidak meninggalkan apa-apa yang boleh diguna.
Kedua-dua garisan sampai ke tempat yang sama. Bezanya ialah semua yang berlaku di sepanjang jalan: maklum balas, nilai awal dan peluang menukar haluan.

Idea utama: iteratif tidak bermaksud "tiada pelan". Ia bermaksud merancang sedikit demi sedikit dan dengan kerap, berdasarkan bukti sebenar, bukannya merancang semuanya sekali berdasarkan tekaan.

Bahagian 2

Mengapa pelan besar gagal

Waterfall bukan cara yang bodoh. Ia terasa selamat: pelan penuh, tarikh tetap, bajet yang jelas. Masalahnya ialah andaian yang tersembunyi di dalamnya.

Ia mengandaikan kita tahu apa yang diperlukan sejak awal.Mengapa ia gagal: permulaan ialah saat kita paling kurang tahu. Orang hanya sedar apa yang benar-benar mereka mahu selepas memegang sesuatu yang nyata.
Ia mengandaikan tiada apa yang akan berubah sepanjang jalan.Mengapa ia gagal: pasaran, peraturan, pesaing dan keutamaan semuanya berubah dalam masa beberapa bulan. Pelan yang panjang sudah lapuk sebelum ia siap.
Ia mengandaikan kualiti boleh diperiksa pada penghujungnya.Mengapa ia gagal: masalah yang ditemui pada penghujungnya ialah yang paling mahal. Ia tertimbus di bawah kerja lain selama berbulan-bulan, dan tiada masa lagi untuk membaikinya dengan betul.
Ia menyembunyikan kebenaran sehingga lewat.Mengapa ia gagal: semuanya "mengikut jadual" sehinggalah tiba-tiba tidak lagi. Tiada apa yang benar-benar diuji sehingga semua bahagian dicantumkan, jadi berita buruk tiba serentak.
Ia meletakkan semua nilai pada penghujungnya.Mengapa ia gagal: tiada apa yang menjana atau menjimatkan walau satu sen sehingga hari pelancaran. Jika projek dibatalkan ketika 80% sudah dibina, organisasi mendapat 0% daripada manfaatnya.

🚨 Mengapa ini penting

Kos kesilapan meningkat mengikut saiz langkah. Ambil langkah 12 bulan, dan satu haluan yang salah boleh merugikan 12 bulan. Ambil langkah 2 minggu, dan ruginya paling banyak 2 minggu. Kita tidak dapat mengelak daripada tersilap sekali-sekala, tetapi kita boleh menjadikan kesilapan itu murah.

Supaya adil: bila pelan besar di awal ialah pilihan yang betul

Jika kerja itu difahami dengan baik, sudah dibuat berkali-kali dan sukar diubah secara fizikal selepas itu (menuang asas konkrit, memenuhi piawaian undang-undang yang tetap), merancangnya secara terperinci dahulu memang wajar. Kebanyakan kerja perisian dan kerja berasaskan pengetahuan adalah sebaliknya: baharu setiap kali dan mudah diubah. Di situlah membina dalam langkah kecil membuahkan hasil.

Bahagian 3

Mengapa membina dalam langkah kecil berkesan

Setiap kitaran pendek berakhir dengan satu bahagian kecil yang benar-benar berfungsi. Tabiat yang satu ini menghasilkan enam manfaat.

👂
Maklum balas ketika ia masih berguna

Pengguna sebenar memberi reaksi kepada hasil sebenar setiap dua minggu atau lebih kurang. Reaksi itulah yang membentuk langkah seterusnya, bukan laporan yang ditulis selepas pelancaran.

🧯
Risiko mengecil dari awal

Perkara yang paling tidak pasti ditangani dahulu, melalui eksperimen kecil. Jika sesuatu idea tidak menjadi, kita tahu pada minggu ke-2 dan bukan pada bulan ke-10.

💰
Nilai tiba lebih awal

Bahagian paling bernilai dibina dahulu dan mula memberi pulangan ketika selebihnya masih dibuat.

🛑
Anda boleh berhenti bila-bila masa

Setiap langkah berakhir dengan sesuatu yang berfungsi. Jika bajet atau keutamaan berubah, semua yang telah siap kekal menjadi milik anda.

📏
Kemajuan yang jujur

Kemajuan ialah apa yang berfungsi hari ini, bukan peratusan pada slaid. Tiada siapa terkejut pada penghujungnya.

🧠
Pasukan terus bertambah baik

Setiap kitaran ialah peluang untuk bekerja dengan lebih baik sedikit. Dua puluh enam penambahbaikan kecil setahun lebih baik daripada satu mesyuarat "pengajaran yang diperoleh" pada penghujung projek.

Masalah yang sama, ditemui pada masa yang berbeza

MasalahnyaWaterfall menemuinya…Iteratif menemuinya…
Kita salah faham keperluan penggunaSemasa ujian pengguna, hampir di penghujungPada review pertama, dalam beberapa minggu
Sesuatu pendekatan teknikal tidak menjadiApabila semuanya dicantumkan, selepas berbulan-bulanDalam kitaran pertama yang menyentuhnya
Kerja lebih besar daripada anggaranApabila tarikh akhir tergelincirSelepas satu atau dua kitaran, daripada rentak sebenar kita
Keutamaan berubahPermohonan perubahan, perancangan semula, kelewatanKita susun semula senarai sebelum kitaran seterusnya

Iteratif dan inkremental: dua perkataan, satu tabiat

Inkremental bermaksud menambah bahagian demi bahagian. Iteratif bermaksud kembali kepada sesuatu untuk memperbaikinya. Pasukan yang baik melakukan kedua-duanya: setiap langkah menambah satu bahagian nipis yang berfungsi, dan setiap langkah juga ialah peluang untuk memperhalus apa yang sudah ada.

Bayangkan seorang pelukis. Menyiapkan satu sudut kanvas dengan sempurna sebelum menyentuh bahagian lain ialah inkremental semata-mata. Melakar keseluruhan gambar secara kasar dan kemudian menambah perincian lapis demi lapis ialah iteratif. Lakaran kasar itu sudah berguna sejak hari pertama, kerana anda sudah boleh nampak sama ada komposisinya tidak kena.

Awas dengan waterfall mini: "Sprint reka bentuk", kemudian "Sprint pembinaan", kemudian "Sprint ujian" masih waterfall, cuma dipotong-potong. Setiap kitaran harus berakhir dengan sesuatu yang berfungsi dan boleh digunakan. Cara memotong kerja begitu diterangkan dalam Menghiris dan mensaiz.

Bahagian 4

Membina secara lestari: rentak yang boleh dikekalkan

Salah satu daripada dua belas prinsip di sebalik Agile Manifesto menyatakan bahawa penaja, pembangun dan pengguna seharusnya dapat mengekalkan rentak yang tetap tanpa had masa. Itulah maksud "lestari" di sini: bukan perlahan, tetapi cukup stabil untuk bertahan lama.

Beban kerja sepanjang hayat projek Garisan waterfall kekal rendah untuk masa yang lama dan kemudian melonjak menjadi kerja kelam-kabut sebelum tarikh akhir. Garisan iteratif kekal dalam julat yang stabil dan lestari sepanjang masa. Beban kerja sepanjang hayat projek Masa → Julat lestari Tarikh akhir Waterfall: mula tenang, akhirnya kelam-kabut 😵 Iteratif: stabil sepanjang jalan 🙂 Kerja kelam-kabut itulah punca kerja lebih masa, jalan pintas dan kecacatan.
Dalam waterfall, semua kejutan tiba pada minggu-minggu terakhir. Bekerja dalam langkah kecil menyebarkannya, jadi tiada satu minggu pun perlu menanggung semuanya.

Waterfall hampir pasti berakhir dengan kerja kelam-kabut. Kejutan tiba pada penghujungnya, tarikh sudah tetap, dan yang tinggal untuk dikorbankan hanyalah waktu malam dan hujung minggu orang. Langkah kecil menangani kejutan sebaik sahaja ia muncul, sedikit demi sedikit.

Mengapa rentak yang stabil lebih baik daripada aksi wira

Orang yang letih membuat kesilapan.Sebab: kerja lebih masa terasa produktif, tetapi jam tambahan itu menghasilkan kecacatan tambahan, dan kecacatan itu memakan lebih banyak jam kemudian. Selepas beberapa minggu kelam-kabut, pasukan menyiapkan kurang daripada rentak biasa.
Jalan pintas menjadi hutang.Sebab: di bawah tekanan tarikh akhir, ujian dilangkau dan pembaikan segera bertimbun. Setiap jalan pintas menjadikan perubahan seterusnya lebih perlahan. Ini dipanggil hutang teknikal, dan ia mengenakan faedah.
Kualiti dibina dalam setiap langkah.Sebab: setiap bahagian kecil mesti memenuhi Definition of Done sebelum bahagian seterusnya bermula. Produk sentiasa dalam keadaan boleh digunakan, jadi tiada "fasa penstabilan" yang menakutkan pada penghujungnya.
Ritma menjadikan pasukan boleh diramal.Sebab: pasukan dengan rentak stabil menyiapkan jumlah yang lebih kurang sama setiap kitaran, jadi ramalannya boleh dipercayai. Pasukan yang terumbang-ambing antara kelam-kabut dan pemulihan tidak boleh diramal langsung.
Orang kekal bersama pasukan.Sebab: keletihan melampau menyebabkan orang yang paling mengenali produk itu pergi. Menjaga pasukan bukan sekadar budi bahasa yang ditambah di atas penghantaran. Itulah cara penghantaran terus berlaku.

Ujian yang berguna: bolehkah pasukan bekerja tepat seperti minggu ini untuk dua tahun akan datang? Jika jawapannya tidak, rentak itu dipinjam, dan ia akan dibayar balik dengan faedah.

"Tetapi bagaimana pula dengan…": bantahan lazim

BantahanJawapan
"Kami perlukan pelan penuh untuk meluluskan bajet."Simpan pelan, pada tahap perincian yang betul: matlamat yang jelas, hala tuju kasar dan bajet. Yang berubah ialah perincian diputuskan langkah demi langkah, apabila bukti diperoleh.
"Iteratif bermaksud tiada seni bina atau reka bentuk."Ia bermaksud reka bentuk yang cukup untuk beberapa langkah seterusnya, dan disemak semula dengan kerap. Keputusan besar masih dibuat dengan teliti, cuma kemudian, apabila kita lebih tahu.
"Pelanggan kami mahukan tarikh yang tetap."Tetapkan tarikh dan bajet, dan biarkan skop fleksibel. Oleh sebab bahagian paling bernilai dibina dahulu, apa sahaja yang siap menjelang tarikh itu ialah versi terbaik yang mungkin.
"Menunjukkan kerja yang belum siap nampak tidak profesional."Kita menunjukkan kerja kecil yang sudah siap, iaitu sebaliknya. Kebanyakan pihak berkepentingan lebih suka sesuatu yang kecil tetapi berfungsi daripada janji yang besar.
"Berhenti untuk maklum balas melambatkan kami."Hanya jika anda tidak pernah membina perkara yang salah. Kebanyakan pasukan pernah, dan mengetahuinya lewat jauh lebih melambatkan.

Cara mula membina begini

  • Pilih kitaran pendek yang tetap (1 hingga 2 minggu) dan patuhinya
  • Persetujui maksud "berfungsi": Definition of Done bersama
  • Potong kerja pertama cukup nipis untuk disiapkan dalam satu kitaran
  • Tunjukkannya kepada pengguna sebenar atau pihak berkepentingan pada akhir kitaran
  • Ubah pelan berdasarkan apa yang anda dengar
  • Tanya setiap kitaran: bolehkah kita kekalkan rentak ini tanpa had masa?
  • Ulang

Baca seterusnya

Semua artikel →