← thisisyazid.comArtikel › Menghiris dan mensaizENBM한국어
Asas Agile

Menghiris dan mensaiz: mengecilkan kerja supaya boleh disiapkan

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.

🍰MenghirisMemotong kerja besar kepada bahagian kecil yang setiap satunya memberi sesuatu yang boleh dilihat atau digunakan oleh pengguna.
📐MensaizTekaan pantas dan bersama oleh pasukan tentang besarnya sesuatu bahagian, berbanding bahagian lain.
🎯Mengapa menghirisBahagian kecil siap lebih cepat, mendapat maklum balas lebih cepat dan menyembunyikan lebih sedikit kejutan.
🗣️Mengapa mensaizPerbualannya mendedahkan salah faham, dan angkanya memastikan ramalan kita jujur.
Bahagian 1

Menghiris: potong kek ke bawah, bukan melintang

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.

Lapis demi lapis berbanding hiris demi hiris Di kiri, kerja dibina satu lapisan penuh pada satu masa dan tiada apa yang berfungsi sehingga ketiga-tiga lapisan siap. Di kanan, hirisan menegak yang nipis menembusi ketiga-tiga lapisan, dan setiap hirisan berfungsi dengan sendirinya. Lapis demi lapis Hiris demi hiris 3. Skrin (akhir sekali) 2. Peraturan perniagaan (seterusnya) 1. Pangkalan data (dahulu) Tiada yang berfungsi sehingga ketiga-tiga lapisan siap Tiada untuk ditunjuk, tiada untuk dipelajari 😬 Skrin Peraturan Pangkalan data 1 ✓ 2 3 Setiap hirisan menembusi semua lapisan dan berfungsi sendiri Tunjuk, belajar, kemudian potong yang seterusnya 🙂
Kek yang sama, jumlah usaha yang sama. Memotong ke bawah bermakna potongan pertama pun sudah berbaloi.

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.

Mengapa menghiris itu penting

Bahagian kecil dapat disiapkan.Sebab: bahagian yang mengambil dua hari akan siap. Bahagian yang mengambil tiga minggu melimpah keluar daripada Sprint, tersangkut "sedang dibuat" dan menyekat semua yang beratur di belakangnya.
Maklum balas tiba lebih awal.Sebab: hirisan nipis yang berfungsi boleh ditunjukkan kepada pengguna minggu ini juga. Lapisan pangkalan data yang sudah siap tidak boleh ditunjukkan kepada sesiapa.
Kejutan kekal kecil.Sebab: risiko bersembunyi dalam bahagian yang besar. Lebih kecil hirisannya, lebih kecil perkara terburuk yang boleh tersembunyi di dalamnya.
Keutamaan menjadi lebih jelas.Sebab: dalam setiap permintaan besar ada yang mesti ada dan ada yang sekadar elok jika ada. Menghiris memisahkan kedua-duanya, supaya bahagian paling bernilai dihantar dahulu dan selebihnya boleh menunggu, atau tidak dibina langsung.
Anggaran menjadi lebih baik.Sebab: manusia lemah menilai perkara besar dan pandai menilai perkara kecil. Hiris dahulu, dan kerja mensaiz hampir selesai dengan sendirinya.
Kemajuan menjadi kelihatan.Sebab: kad sampai ke Siap setiap satu atau dua hari. Pasukan merasai momentum, dan pihak berkepentingan melihat kemajuan sebenar, bukan "80% siap" selama sebulan.

🚨 Sebabnya dalam satu baris

Nilai hanya tiba apabila sesuatu itu siap. Menghiris ialah cara kita menjadikan "siap" berlaku setiap beberapa hari dan bukan setiap beberapa bulan.

Cara-cara menghiris kerja yang besar

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 sendiriContoh hirisan
Langkah dalam perjalanan penggunaBolehkah satu langkah berfungsi sendiri dahulu?Masukkan butiran kad, kemudian papar halaman pengesahan, kemudian hantar resit melalui e-mel
Kes paling mudah dahuluApakah versi paling mudah yang masih berfungsi?Satu barang pada harga penuh dahulu; diskaun dan baucar kemudian
PilihanBolehkah kita sokong satu pilihan sekarang dan tambah yang lain kemudian?Kad dahulu, kemudian PayNow, kemudian ansuran
Peraturan perniagaanPeraturan mana yang boleh menunggu?Dolar Singapura dahulu; mata wang lain dan peraturan cukai kemudian
Jenis penggunaSiapa yang paling memerlukannya?Pelanggan sedia ada dahulu, kemudian pembayaran sebagai tetamu
Laluan lancar dahulu, kemudian masalahBagaimana 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

Rupa hirisan yang baik

🎁 Bernilai dengan sendirinya

Seseorang boleh menggunakannya, atau sekurang-kurangnya melihat ia berfungsi, walaupun tiada apa lagi yang dibina selepas itu.

🧵 Dari hujung ke hujung

Ia menembusi setiap lapisan yang diperlukan. Tiada yang ditinggalkan "menunggu back end".

📏 Kecil

Ia muat dengan selesa dalam satu Sprint. Sebaiknya ia kerja beberapa hari sahaja.

✅ Boleh diuji

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 ketika menghiris

KesilapanApa 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 nipisBerpuluh-puluh kad kecil yang tidak bermakna bagi pengguna. Berhenti memotong sementara hirisan itu masih memberi sesuatu yang kelihatan.
Bahagian 2

Menyambung (splicing): cantumkan hirisan dan uji keseluruhannya

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.

🔪
Menghiris: uji setiap bahan
  • Adakah roti dibakar dengan betul?
  • Adakah daging masak hingga ke tengah?
  • Adakah rasa sosnya kena?
  • Adakah jeruk timunnya rangup?
🍔
Menyambung: uji keseluruhan burger
  • Adakah ia sedap apabila dimakan bersama?
  • Adakah ia tidak berkecai apabila dipegang?
  • Adakah ia masih panas apabila sampai ke meja?
  • Adakah ia seperti yang dipesan pelanggan?

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.

MenghirisMenyambung
Soalannya"Adakah bahagian ini betul?""Adakah bahagian-bahagian ini berfungsi bersama?"
Di kedai burgerRasa daging, sos dan roti secara berasinganGigit burger yang sudah dipasang
Dalam pasukanSatu kad dibina, disemak dan diuji mengikut kriteria penerimaannyaKad itu dicantumkan dengan yang lain dan keseluruhan produk dicuba dari hujung ke hujung
Apa yang dikesanKesilapan di dalam satu bahagianKesilapan di antara bahagian
BilaSetiap kali satu bahagian siapSejurus selepas itu, setiap kali, bukan sekali pada penghujungnya

Mengapa menyambung itu penting

Pelanggan membeli burger, bukan bahan-bahannya.Sebab: nilai hanya wujud pada keseluruhannya. Tiada siapa menggunakan halaman log masuk atau pangkalan data secara bersendirian. Mereka menggunakan produk.
Masalah bersembunyi pada sambungan.Sebab: setiap bahagian boleh berfungsi dengan sempurna secara bersendirian tetapi gagal di tempat ia bertemu dengan yang lain, kerana orang yang membinanya mengandaikan perkara yang sedikit berbeza.
Sambung awal dan sambung selalu.Sebab: jika anda menyambung selepas setiap hirisan, masalah baharu pasti berada pada bahagian yang baru ditambah. Sambung dua puluh bahagian pada penghujungnya, dan ia boleh berada di mana-mana.
Ia memastikan "Siap" kekal jujur.Sebab: sesuatu kad belum siap hanya kerana ia berfungsi sendiri. Ia siap apabila ia berfungsi sebagai sebahagian daripada produk. Pemeriksaan itu patut ada dalam Definition of Done.

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.

Bahagian 3

Mensaiz: tekaan bersama, dibuat bersama

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.

Mengapa mensaiz itu penting

Perbualan itulah hasil sebenarnya.Sebab: apabila seorang berkata "kecil" dan seorang lagi berkata "sangat besar", mereka memahami kerja itu secara berbeza. Mensaiz mendedahkan jurang itu sebelum kerja bermula, bukan di pertengahan jalan.
Ia memberitahu kita apa yang muat.Sebab: mengetahui saiz kasar setiap bahagian, dan berapa banyak yang biasanya disiapkan pasukan, membolehkan kita mengisi Sprint secara jujur dan bukan sekadar berharap.
Ia amaran awal.Sebab: angka yang besar ialah isyarat bahawa bahagian itu terlalu besar atau terlalu kabur. Hiris ia, atau tanya lebih banyak soalan.
Ia membantu Product Owner memilih.Sebab: nilai hanyalah separuh daripada keputusan keutamaan. Sesuatu yang sangat bernilai tetapi kosnya kecil patut didahulukan, dan tiada siapa dapat melihatnya tanpa saiz.
Ia menjadikan ramalan boleh dipercayai.Sebab: dengan saiz dan rekod prestasi, soalan "bila ia akan siap?" mendapat jawapan berdasarkan bukti dan bukan berdasarkan optimisme.

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.

Mengapa saiz relatif, dan bukan jam?

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.

Skala story points Enam bulatan yang semakin besar berlabel 1, 2, 3, 5, 8 dan 13. Saiz 1 hingga 3 muat dengan mudah, 5 dan 8 muat jika berhati-hati, dan 13 ke atas patut dihiris dahulu. 1 2 3 5 8 13+ Muat dengan mudah Muat, jika berhati-hati Hiris dahulu
Jurangnya sengaja melebar. Lebih besar sesuatu perkara, lebih kurang tepat kita dapat menilainya, jadi tiada gunanya berbalah sama ada ia 9 atau 10.

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.

Cara mensaiz bersama: Planning Poker

Seseorang membaca kad.Biasanya Product Owner, yang menerangkan apa yang diperlukan dan mengapa.
Pasukan bertanya soalan.Paling lama beberapa minit. Jika kad itu tidak dapat diterangkan dengan cepat, ia belum bersedia.
Setiap orang memilih saiz secara rahsia.Setiap Developer memilih satu nombor tanpa menunjukkannya.
Semua orang mendedahkannya serentak.Sebab: jika seorang yang senior bercakap dahulu, semua orang akan cenderung kepada nombor itu. Mendedahkan serentak memastikan setiap pendapat jujur.
Yang tertinggi dan yang terendah menerangkan.Sebab: mereka yang jauh berbeza biasanya tahu sesuatu yang orang lain tidak tahu: risiko tersembunyi, atau jalan pintas yang bijak.
Undi sekali lagi, kemudian teruskan.Cukup hampir sudah memadai. Jika pasukan masih berbelah bahagi, ambil nombor yang lebih besar atau hiris kad itu.

Hanya orang yang akan membuat kerja itu yang mensaiznya. Product Owner menerangkan dan menjawab soalan, tetapi tidak mengundi.

Kesilapan ketika mensaiz

KesilapanApa yang jadi tidak kena
Menukar points kepada jam ("1 point = 1 hari")Anda kembali kepada anggaran mutlak, dengan satu langkah tambahan.
Menjadikan velocity sebagai sasaranSaiz membengkak, velocity "bertambah baik" dan tiada apa yang benar-benar menjadi lebih pantas.
Membandingkan pasukan melalui points merekaPoints setiap pasukan ialah skala peribadi pasukan itu. Perbandingannya tidak bermakna.
Pengurus atau ketua mensaiz bagi pihak pasukanOrang yang membuat kerja terlepas perbualan itu, dan tidak merasakan komitmen itu milik mereka.
Berdebat antara 3 dengan 5 selama dua puluh minitKetepatan itu palsu. Ambil nombor yang lebih besar dan teruskan.
Mengubah saiz selepas kerja siapIa menyembunyikan betapa silapnya kita, sedangkan daripada situlah kita perlu belajar.
Mensaiz kerja yang belum difahami sesiapaAngka 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.

Bahagian 4

Menghiris dan mensaiz bekerja berpasangan

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.

1. Idea besarTiba dalam backlog
➜
2. SaizkanPantas dan kasar
➜
3. Terlalu besar?Atau terlalu kabur untuk disaiz
➜
4. HirisMenjadi bahagian nipis yang berfungsi
➜
5. Saizkan hirisanKini ia mudah
➜
6. ReadyCukup kecil untuk satu Sprint

Di mana ia berlaku dalam Sprint

BilaApa yang berlaku
🧹 RefinementItem besar dihiris dan disaiz. Kebanyakan kerjanya berlaku di sini.
🗓️ Sprint PlanningPasukan menggunakan saiz dan rentak biasanya untuk memutuskan berapa banyak yang muat.
☀️ Semasa SprintJika sesuatu kad ternyata jauh lebih besar daripada jangkaan, nyatakan dalam Daily Scrum dan hiris ia.
🔁 RetrospectiveLihat semula kad yang mengejutkan kita. Apa yang kita terlepas pandang, dan bagaimana kita akan mengesannya lain kali?

Senarai semak: sebelum kad masuk ke dalam Sprint

  • Adakah ia memberi sesuatu yang boleh dilihat atau digunakan oleh pengguna?
  • Adakah ia berfungsi dari hujung ke hujung, tanpa lapisan yang ditinggalkan untuk kemudian?
  • Bolehkah ia disiapkan dalam beberapa hari?
  • Adakah kita tahu cara mengujinya?
  • Adakah seluruh pasukan mensaiznya bersama?
  • Jika ia lebih besar daripada had kita, sudahkah kita menghirisnya?
  • Adakah kita tahu cara ia akan disambung dengan yang lain dan diuji secara keseluruhan?

Soalan-soalan ini sesuai dimasukkan ke dalam Definition of Ready. Lihat Ready dan Done dalam panduan Scrum.

Baca seterusnya

Semua artikel →