Cara memotong kerja besar kepada hirisan nipis yang setiap satunya berbaloi (menghiris), cara pasukan bersetuju tentang besarnya setiap hirisan (mensaiz), dan mengapa kedua-duanya lebih penting daripada yang disangka. Kira-kira 12 minit untuk dibaca.
Bayangkan sebiji kek berlapis: span di bawah, krim di tengah, aising di atas. Hidangkan selapis demi selapis, dan tetamu pertama mendapat sepinggan span kosong. Potong sehiris ke bawah, dan setiap tetamu mendapat ketiga-tiga lapisan dalam satu potongan kecil. Kerja pun begitu.
Dalam perisian, lapisannya biasanya ialah skrin, peraturan perniagaan dan pangkalan data. Dalam jenis kerja lain, ia mungkin penyelidikan, penulisan draf dan kelulusan. Bahagian mendatar menyiapkan satu lapisan untuk semua perkara. Hirisan menegak menembusi setiap lapisan untuk satu perkara kecil, jadi ia berfungsi dari hujung ke hujung.
Nilai hanya tiba apabila sesuatu itu siap. Menghiris ialah cara kita menjadikan "siap" berlaku setiap beberapa hari dan bukan setiap beberapa bulan.
Ambil permintaan ini: "Pelanggan boleh membayar pesanan mereka dalam talian." Ia terlalu besar untuk satu kad. Berikut ialah cara lazim untuk memotongnya.
| Hiris mengikut… | Tanya diri sendiri | Contoh hirisan |
|---|---|---|
| Langkah dalam perjalanan pengguna | Bolehkah satu langkah berfungsi sendiri dahulu? | Masukkan butiran kad, kemudian papar halaman pengesahan, kemudian hantar resit melalui e-mel |
| Kes paling mudah dahulu | Apakah versi paling mudah yang masih berfungsi? | Satu barang pada harga penuh dahulu; diskaun dan baucar kemudian |
| Pilihan | Bolehkah kita sokong satu pilihan sekarang dan tambah yang lain kemudian? | Kad dahulu, kemudian PayNow, kemudian ansuran |
| Peraturan perniagaan | Peraturan mana yang boleh menunggu? | Dolar Singapura dahulu; mata wang lain dan peraturan cukai kemudian |
| Jenis pengguna | Siapa yang paling memerlukannya? | Pelanggan sedia ada dahulu, kemudian pembayaran sebagai tetamu |
| Laluan lancar dahulu, kemudian masalah | Bagaimana jika semuanya berjalan lancar? | Pembayaran berjaya dahulu; kad ditolak dan tamat masa selepas itu |
| Belajar dahulu ("spike") | Apa yang kita belum tahu? | Dua hari mencuba penyedia pembayaran sebelum mensaiz yang selebihnya |
Seseorang boleh menggunakannya, atau sekurang-kurangnya melihat ia berfungsi, walaupun tiada apa lagi yang dibina selepas itu.
Ia menembusi setiap lapisan yang diperlukan. Tiada yang ditinggalkan "menunggu back end".
Ia muat dengan selesa dalam satu Sprint. Sebaiknya ia kerja beberapa hari sahaja.
Ia mempunyai kriteria penerimaan yang jelas, jadi semua orang tahu bila ia siap.
Banyak pasukan menggunakan senarai semak INVEST untuk ini: Independent (berdikari), Negotiable (boleh dirunding), Valuable (bernilai), Estimable (boleh dianggar), Small (kecil), Testable (boleh diuji).
| Kesilapan | Apa yang jadi tidak kena |
|---|---|
| Menghiris mengikut lapisan ("bina pangkalan data", "bina skrin") | Tiada yang berfungsi sehingga setiap kad siap. Tiada apa untuk ditunjukkan, dan masalah hanya muncul apabila lapisan-lapisan itu bertemu. |
| Menghiris mengikut fasa ("reka bentuk", "bina", "uji") | Ia waterfall mini. Ujian bertimbun pada akhir Sprint. |
| Menghiris mengikut orang ("bahagian Sam", "bahagian Priya") | Kerja menunggu serah-menyerah, dan tiada siapa memiliki hasil keseluruhannya. |
| "Bahagian 1" dan "Bahagian 2" | Potongannya sembarangan. Bahagian 1 tidak memberi apa-apa dengan sendirinya. |
| Menghiris terlalu nipis | Berpuluh-puluh kad kecil yang tidak bermakna bagi pengguna. Berhenti memotong sementara hirisan itu masih memberi sesuatu yang kelihatan. |
Menghiris memotong kerja kepada bahagian kecil supaya setiap satunya boleh dibina dan diperiksa secara berasingan. Menyambung ialah separuh yang satu lagi: mencantumkan semula bahagian-bahagian itu dan memeriksa bahawa keseluruhannya berfungsi. Bayangkan sebuah kedai burger.
Setiap bahan boleh lulus pemeriksaannya sendiri, namun burger itu masih boleh gagal. Dua bahan masin apabila digabungkan menjadi terlalu masin. Daging yang berjus menjadikan roti lembut itu lembik. Susunan yang tinggi runtuh di tangan pelanggan. Masalah ini wujud pada sambungannya, jadi hanya burger yang sudah dipasang dapat menunjukkannya.
| Menghiris | Menyambung | |
|---|---|---|
| Soalannya | "Adakah bahagian ini betul?" | "Adakah bahagian-bahagian ini berfungsi bersama?" |
| Di kedai burger | Rasa daging, sos dan roti secara berasingan | Gigit burger yang sudah dipasang |
| Dalam pasukan | Satu kad dibina, disemak dan diuji mengikut kriteria penerimaannya | Kad itu dicantumkan dengan yang lain dan keseluruhan produk dicuba dari hujung ke hujung |
| Apa yang dikesan | Kesilapan di dalam satu bahagian | Kesilapan di antara bahagian |
| Bila | Setiap kali satu bahagian siap | Sejurus selepas itu, setiap kali, bukan sekali pada penghujungnya |
Jangan tangguhkan kerja menyambung ke penghujung: menyediakan bahan selama berminggu-minggu dan memasang burger pertama pada hari pembukaan ialah waterfall sekali lagi. Lihat Membina secara lestari.
Dalam pasukan perisian, menyambung biasanya dipanggil "integrasi" (integration). Melakukannya banyak kali sehari dipanggil continuous integration.
Mensaiz ialah pasukan bertanya "lebih kurang berapa besarkah ini, berbanding perkara yang pernah kita buat?". Ia memang sengaja kasar. Matlamatnya ialah jawapan yang cukup baik dalam dua minit, bukan jawapan sempurna dalam dua jam.
Apa yang bukan mensaiz: janji, tarikh akhir atau markah. Sebaik sahaja saiz digunakan untuk menilai orang atau membandingkan pasukan, orang akan membesar-besarkannya dan angka itu tidak lagi bermakna.
Tanya berapa jam sesuatu tugas akan mengambil masa, dan anda mendapat jawapan berbeza daripada setiap orang, biasanya yang optimistik. Tanya sama ada ia lebih besar atau lebih kecil daripada tugas yang disiapkan minggu lalu, dan orang cepat bersetuju. Manusia lemah dalam anggaran mutlak dan pandai membuat perbandingan.
Jadi pasukan mensaiz dengan story points: angka yang hanya bermaksud "lebih besar atau lebih kecil daripada kerja kita yang lain". Pilih satu kad yang difahami semua orang dan namakannya 2. Kad yang terasa lebih sedikit daripada dua kali ganda besarnya ialah 5. Points merangkumi tiga perkara serentak: berapa banyak yang perlu dibuat, betapa sukarnya, dan berapa banyak yang kita belum tahu.
Kebanyakan pasukan menggunakan nombor 1, 2, 3, 5, 8 dan 13 (jujukan Fibonacci). Ada yang lebih suka saiz baju-T (S, M, L, XL), yang berfungsi dengan cara yang sama.
Hanya orang yang akan membuat kerja itu yang mensaiznya. Product Owner menerangkan dan menjawab soalan, tetapi tidak mengundi.
| Kesilapan | Apa yang jadi tidak kena |
|---|---|
| Menukar points kepada jam ("1 point = 1 hari") | Anda kembali kepada anggaran mutlak, dengan satu langkah tambahan. |
| Menjadikan velocity sebagai sasaran | Saiz membengkak, velocity "bertambah baik" dan tiada apa yang benar-benar menjadi lebih pantas. |
| Membandingkan pasukan melalui points mereka | Points setiap pasukan ialah skala peribadi pasukan itu. Perbandingannya tidak bermakna. |
| Pengurus atau ketua mensaiz bagi pihak pasukan | Orang yang membuat kerja terlepas perbualan itu, dan tidak merasakan komitmen itu milik mereka. |
| Berdebat antara 3 dengan 5 selama dua puluh minit | Ketepatan itu palsu. Ambil nombor yang lebih besar dan teruskan. |
| Mengubah saiz selepas kerja siap | Ia menyembunyikan betapa silapnya kita, sedangkan daripada situlah kita perlu belajar. |
| Mensaiz kerja yang belum difahami sesiapa | Angka pada kad yang kabur ialah tekaan tentang tekaan. Jelaskan dahulu atau jalankan spike. |
Baik diketahui: Scrum Guide tidak mewajibkan story points, Planning Poker atau apa-apa kaedah lain. Ia hanya menyatakan bahawa orang yang membuat kerja itu bertanggungjawab mensaiznya. Sesetengah pasukan berpengalaman tidak menggunakan points langsung: mereka menghiris semuanya kepada saiz kecil yang lebih kurang sama dan hanya mengira kad.
Mensaiz memberitahu bila perlu menghiris, dan menghiris memudahkan kerja mensaiz. Satu peraturan pasukan yang lazim: apa sahaja yang lebih besar daripada 8 dihiris sebelum boleh masuk ke dalam Sprint.
| Bila | Apa yang berlaku |
|---|---|
| 🧹 Refinement | Item besar dihiris dan disaiz. Kebanyakan kerjanya berlaku di sini. |
| 🗓️ Sprint Planning | Pasukan menggunakan saiz dan rentak biasanya untuk memutuskan berapa banyak yang muat. |
| ☀️ Semasa Sprint | Jika sesuatu kad ternyata jauh lebih besar daripada jangkaan, nyatakan dalam Daily Scrum dan hiris ia. |
| 🔁 Retrospective | Lihat semula kad yang mengejutkan kita. Apa yang kita terlepas pandang, dan bagaimana kita akan mengesannya lain kali? |
Soalan-soalan ini sesuai dimasukkan ke dalam Definition of Ready. Lihat Ready dan Done dalam panduan Scrum.