10.15

View in English

10.15 Estimasi dan peramalan

Tinjauan dan motivasi

Setiap tim perangkat lunak diajukan pertanyaan yang sama: kapan selesai? Di balik pertanyaan itu ada estimasi upaya pengembangan perangkat lunak, praktik memprediksi berapa banyak kerja yang dibutuhkan sesuatu sebelum Anda mengerjakannya. Ini salah satu hal tersulit yang kita lakukan, dan salah satu yang termudah dilakukan dengan buruk. Masalahnya, perangkat lunak adalah kerja penemuan. Anda membangun sesuatu yang belum pernah ada, dan banyak dari apa yang akan Anda pelajari tentang masalahnya baru terlihat saat Anda membangun. Memprediksi upaya belajar benar-benar berbeda dari memprediksi upaya mengulang tugas yang dikenal.

Mengapa memperlakukan ini sebagai disiplin tersendiri alih-alih sudut manajemen proyek (bab 10.6)? Karena kegagalannya begitu konsisten dan mahal. Tim rutin berkomitmen pada tanggal tunggal yang tak punya buktinya, lalu membelanya jauh melewati titik di mana kenyataan membantahnya. Pemimpin mencampuradukkan estimasi dengan janji. Kontrak membekukan angka yang dihasilkan dalam satu sore dan menahan orang padanya selama setahun. Hasilnya penyampaian terlambat, kepercayaan terkikis, dan budaya di mana tak ada yang mengatakan apa yang sebenarnya mereka yakini. Memperbaiki ini kurang soal matematika lebih baik dan lebih soal kejujuran: memisahkan apa yang Anda ketahui dari apa yang Anda harapkan, dan mengomunikasikan ketidakpastian sebagai ketidakpastian.

Taruhannya naik tajam dalam pengaturan enterprise dan pemerintah. Enterprise mendanai portofolio inisiatif yang saling mengunci terhadap anggaran tahunan dan mengharapkan angka tegas untuk mengalokasikan modal (bab 10.1). Pemerintah membuat komitmen publik di bawah aturan apropriasi, menandatangani kontrak harga tetap, dan bertanggung jawab kepada legislator ketika tanggal bergeser. Di kedua dunia, tekanan untuk menghasilkan satu angka yakin sangat besar, dan ketidakpastian mendalam yang membuat angka itu tak andal tidak lenyap hanya karena seseorang yang penting menginginkan kepastian. Bab ini berargumen untuk sikap berbeda: estimasi ketika itu membantu Anda memutuskan, ramalkan dengan bukti alih-alih optimisme, dan katakan yang sebenarnya tentang rentangnya.

Prinsip utama

  • Estimasi adalah prediksi, bukan janji. Jaga terpisah dari target dan komitmen.
  • Ketidakpastian itu nyata, jadi ekspresikan. Rentang dengan probabilitas mengalahkan satu tanggal palsu.
  • Masa lalu memprediksi masa depan lebih baik daripada optimisme. Pilih riwayat terukur daripada tebakan baru.
  • Dekomposisi untuk memahami, ramal untuk berkomitmen. Irisan kecil mengurangi risiko dan kebutuhan mengestimasi.
  • Ambil pandangan luar. Bandingkan dengan upaya serupa masa lalu sebelum memercayai cerita dalam Anda.
  • Perkirakan ulang terus-menerus. Prediksi yang dibuat sekali dan tak pernah diperbarui adalah hiasan.
  • Estimasi hanya ketika jawabannya akan mengubah keputusan. Selain itu adalah pemborosan.

Rekomendasi

Pisahkan estimasi, target, dan komitmen

Langkah paling berguna di seluruh bab ini tidak berbiaya: jaga tiga gagasan tetap berbeda. Estimasi adalah prediksi jujur Anda tentang berapa lama sesuatu akan memakan waktu, dengan ketidakpastiannya terlampir. Target adalah sasaran bisnis yang ingin Anda capai, seperti peluncuran di pameran dagang atau tenggat regulasi. Komitmen adalah janji yang Anda buat kepada orang lain yang Anda niatkan untuk ditepati. Ketiganya hal berbeda, dan menyatukannya adalah cara proyek mulai membohongi dirinya sendiri. Ketika pemimpin mendengar “sekitar tiga sampai lima bulan” dan menuliskan “tiga bulan,” dan tim penjualan menjanjikan pelanggan “dua belas minggu,” estimasi telah diam-diam menjadi komitmen tanpa ada yang memutuskan menerima risikonya.

Katakan yang mana yang Anda berikan, setiap kali. Jika diminta tanggal, jawab dengan estimasi yang diekspresikan sebagai rentang, lalu biarkan bisnis menetapkan target terhadapnya dan memutuskan, dengan sengaja, apa yang dikomitmenkan. Komitmen harus menjadi pilihan yang dibuat dengan mata terbuka, menimbang ketidakpastian estimasi terhadap biaya meleset. Disiplin ini terhubung langsung dengan cara organisasi Anda membuat dan mencatat keputusan (bab 1.5): komitmen adalah keputusan, dan ia layak mendapat ketelitian keputusan alih-alih anggukan di lorong.

Pahami mengapa estimasi salah, dan ke arah mana

Estimasi perangkat lunak tidak salah secara acak. Ia salah dengan cara yang dapat diprediksi dan sistematis, dan mengetahui polanya memungkinkan Anda mengoreksi. Di awal upaya apa pun Anda berada di dalam kerucut ketidakpastian: di awal estimasi Anda dapat dengan mudah meleset dengan faktor empat ke kedua arah, dan rentangnya menyempit hanya seiring Anda membangun dan belajar. Berkomitmen pada angka presisi di mulut lebar kerucut adalah berkomitmen pada angka yang belum dapat Anda dukung.

Di atas ketidakpastian struktural itu duduk bias manusia. Kekeliruan perencanaan adalah kecenderungan andal kita meremehkan waktu, biaya, dan risiko rencana kita sendiri sambil membayangkan skenario terbaik. Kita membayangkan jalur bahagia, melupakan interupsi dan kejutan integrasi dan hari sakit, dan menghasilkan angka yang mengasumsikan tak ada yang salah. Bantalan adalah respons defensif yang lazim, tetapi bantalan yang ditambah berdasarkan perasaan hanyalah tebakan kedua yang ditumpuk di atas yang pertama, dan ia dinegosiasikan hilang begitu jadwal mengetat. Obatnya bukan lebih banyak tekad; melainkan metode. Dasarkan prediksi pada apa yang sebenarnya dimakan kerja serupa, bukan pada bagaimana kerja ini terasa dari dalam.

Pakai dekomposisi dan penilaian pakar, dan ketahui batasnya

Teknik andalannya layak diketahui dan layak dibatasi. Dekomposisi memecah deliverable besar menjadi bagian lebih kecil yang dapat Anda nalar, lalu menggulirkan bagian-bagiannya ke atas. Ia membantu karena orang mengestimasi hal kecil yang akrab jauh lebih baik daripada yang besar dan samar, dan karena menjumlahkan banyak butir independen membiarkan sebagian estimasi berlebih membatalkan sebagian estimasi kurang. Batasnya adalah dekomposisi melewatkan kerja di antara kotak-kotak: integrasi, koordinasi, dan tugas yang tidak terpikir untuk didaftar. Penilaian pakar dan estimasi dengan analogi (“ini seperti modul pelaporan yang kita bangun tahun lalu, yang memakan dua bulan”) cepat dan sering mengejutkan baiknya, tetapi mewarisi optimisme dan titik buta estimator.

Untuk apa pun yang harus Anda beri angka, pilih estimasi tiga titik, yang meminta angka optimistis, paling mungkin, dan pesimistis lalu menggabungkannya, sering sebagai rata-rata berbobot PERT (optimistis ditambah empat kali paling mungkin ditambah pesimistis, dibagi enam). Nilainya bukan rumus persisnya. Melainkan bahwa estimasi tiga titik memaksa Anda menyatakan ketidakpastian dengan lantang dan menghasilkan rentang alih-alih titik palsu. Metode ukuran relatif seperti story point dan ukuran kaus (kecil, sedang, besar, ekstra besar) menghindari jebakan memprediksi jam persis dengan membandingkan butir satu sama lain. Mereka bekerja baik untuk pengurutan dan kapasitas kasar, tetapi perlakukan sebagai masukan perkiraan, bukan mata uang. Point bukan jam, dan mengalikan velositas dengan point untuk menghasilkan tanggal memperkenalkan kembali setiap masalah yang hendak dihindari ukuran relatif.

Ramalkan secara probabilistik dari data aliran Anda sendiri

Inilah pergeseran yang mengubah segalanya: berhenti meminta orang menebak berapa lama kerja akan memakan waktu, dan mulai mengukur seberapa cepat tim Anda sebenarnya menyelesaikan kerja. Jalur penyampaian Anda (bab 11.2) sudah menghasilkan data yang Anda butuhkan. Jika Anda melacak throughput, jumlah butir yang diselesaikan tim Anda per minggu, Anda dapat meramalkan masa depan dari masa lalu alih-alih dari harapan. Tim yang telah menutup enam sampai sebelas butir per minggu selama tiga bulan terakhir akan, dengan probabilitas tinggi, memakan sekitar empat sampai tujuh minggu untuk menyelesaikan empat puluh butir tersisa. Perkiraan itu bertumpu pada bukti, dan memperbarui dirinya setiap minggu seiring data baru tiba.

Versi ketatnya menjalankan simulasi metode Monte Carlo: ambil sampel dari throughput mingguan historis Anda ribuan kali untuk membangun distribusi tanggal selesai yang mungkin, lalu baca jawabannya sebagai probabilitas. “Kita 85% mungkin selesai pada 14 Maret, dan 50% mungkin pada 28 Februari” adalah pernyataan yang jauh lebih berguna dan jujur daripada “akan selesai 1 Maret.” Pendekatan ini terhubung langsung dengan teori antrean (bab 11.3): lead time sama dengan kerja dalam proses dibagi throughput, sehingga metrik aliran yang sama yang mengatur bagaimana kerja bergerak juga mengatur kapan ia akan tiba. Peramalan probabilistik butuh riwayat dan proses yang cukup stabil, itulah persis mengapa ia menghargai tim yang menjaga kerja kecil dan aliran stabil. Ia juga diam-diam menghilangkan sebagian besar upacara estimasi, karena Anda tak lagi perlu mengukur tiap butir untuk tahu kapan batch akan mendarat.

Ambil pandangan luar untuk program besar

Untuk program besar, panjang, dan mahal, estimasi individual dan bahkan perkiraan aliran dapat menyesatkan, karena program baru belum punya riwayat throughput dan cerita dalamnya persis tempat kekeliruan perencanaan menggigit paling keras. Penawarnya adalah peramalan kelas referensi: temukan kelas referensi upaya serupa yang telah selesai, lihat berapa lama dan berapa banyak sebenarnya yang mereka butuhkan, dan tempatkan program Anda dalam distribusi itu sebelum memercayai rencana bottom-up Anda sendiri. Jika penggantian platform sebanding di perusahaan Anda melampaui estimasi awalnya rata-rata 60%, angka itu bukti lebih baik tentang milik Anda daripada rencana rapi yang baru dirakit tim Anda. Pandangan luar terasa mengempiskan, dan itulah nilainya: ia melawan optimisme yang dibawa setiap rencana segar. Pakai untuk pendanaan portofolio dan penganggaran megaprogram (bab 10.1), di mana biaya pelampauan sistematis diukur dalam jutaan dan dalam kredibilitas.

Estimasi lebih sedikit dengan mengiris lebih kecil, dan urutkan menurut biaya penundaan

Kadang jumlah estimasi yang tepat hampir nol. Argumen #NoEstimates, pada inti masuk akalnya, mengamati bahwa jika Anda mengiris kerja menjadi potongan yang cukup kecil sehingga masing-masing memakan satu atau dua hari, estimasi satu potongan tunggal berhenti penting. Anda cukup menghitung throughput dan meramalkan dari hitungan. Ketika irisan seragam dan kecil, pengukuran rumit adalah pemborosan: ia memakan upaya menghasilkan presisi yang tak dibutuhkan perkiraan. Ini bukan argumen melawan berpikir ke depan. Ini argumen untuk membuat prediksi individual murah dengan membuat potongan individual kecil.

Yang masih butuh keputusan adalah urutan. Ketika Anda tak dapat melakukan segalanya sekaligus, urutkan menurut biaya penundaan: nilai yang hilang untuk setiap satuan waktu bagian kerja tertentu terlambat. Fitur yang membuka kontrak besar kuartal depan punya biaya penundaan tinggi dan harus melompati hal-yang-bagus-dimiliki tanpa biaya penundaan, bahkan jika yang terakhir lebih mudah. Menimbang biaya penundaan terhadap upaya (heuristik “weighted shortest job first” dari pemikiran lean) memberi tahu apa yang dilakukan berikutnya jauh lebih andal daripada backlog yang diurutkan dengan firasat. Perhatikan bahwa ini membingkai ulang seluruh percakapan: alih-alih “kapan semuanya selesai,” yang mengundang presisi palsu, Anda bertanya “apa hal paling berharga untuk diselesaikan berikutnya,” yang benar-benar dapat Anda jawab.

Trade-off: kelebihan dan kekurangan

PendekatanKelebihanKekurangan
Estimasi tanggal tunggalSederhana; apa yang diminta pemangku kepentinganPresisi namun salah; menyembunyikan risiko; menjadi komitmen tak sengaja
Estimasi tiga titik / PERTMemaksa ketidakpastian terbuka; murahTetap tebakan; rumus menyiratkan ketelitian palsu
Story point / ukuran kausCepat; baik untuk pengurutan dan kapasitas kasarBukan jam; matematika velositas menyelundupkan kembali tanggal tunggal
Perkiraan aliran probabilistikBerbasis bukti; memperbarui diri; rentang jujurButuh riwayat dan aliran stabil; tampak kurang “pasti”
Peramalan kelas referensiMengoreksi optimisme pada program besarButuh upaya masa lalu sebanding; mengempiskan untuk didengar
#NoEstimates (irisan kecil)Menghilangkan pemborosan; meramal dengan menghitungButuh pengirisan disiplin; menggelisahkan pendana yang menginginkan angka

Ketegangan sentralnya kepastian yang diinginkan orang versus kejujuran yang dituntut kerja. Pendana, eksekutif, kontrak, dan legislator meminta tanggal tunggal tegas karena tanggal tunggal mudah dianggarkan, dijanjikan, dan dibela. Perangkat lunak jarang mendukungnya. Selesaikan ketegangan bukan dengan memalsukan kepastian dan bukan dengan menolak menjawab, tetapi dengan menjawab dalam mata uang probabilitas: rentang dengan tingkat keyakinan, diperkirakan ulang seiring bukti tiba. Pasangkan dengan irisan kecil agar pengiriman awal yang nyata menggantikan pengiriman jauh yang imajiner sebagai hal yang dipercaya orang. Kenaikan yang didemokan bernilai lebih daripada estimasi mana pun.

Pertanyaan untuk didiskusikan dengan tim Anda

  1. Ketika seseorang meminta tanggal, apakah Anda memberi estimasi, target, atau komitmen, dan apakah semua orang di ruangan tahu yang mana? Ini pertanyaan yang mencegah kerusakan terbanyak dengan upaya paling sedikit. Di sebagian besar organisasi ketiganya runtuh menjadi satu angka begitu ia meninggalkan mulut tim, dan tak ada yang memutuskan menerima risiko bahwa prediksi menjadi janji. Bawa contoh nyata: ambil tenggat berkomitmen terakhir Anda dan telusuri mundur ke percakapan di mana ia pertama kali diucapkan, dan tanyakan apakah ia pernah menjadi sesuatu selain tebakan penuh harap yang mengenakan jas. Jawabannya harus mengubah bahasa Anda secara permanen, sehingga estimasi keluar sebagai rentang, target disebut sebagai keinginan bisnis, dan komitmen dibuat dengan sengaja dengan ketidakpastian ditimbang dan dicatat sebagai keputusan (bab 1.5). Jika tim Anda tak dapat menunjuk di mana komitmen diterima secara sadar, Anda membuat janji secara tak sengaja.

  2. Dapatkah Anda meramalkan rilis berikutnya dari throughput terukur alih-alih estimasi baru, dan apa yang menghalangi? Kebanyakan tim sudah punya data untuk menjawab “kapan selesai” secara empiris, tergeletak tak terpakai di perkakas yang melacak kerja mereka. Jika Anda tahu berapa butir yang diselesaikan tim Anda per minggu selama kuartal terakhir, Anda dapat mensimulasikan distribusi tanggal selesai dan mengutip probabilitas alih-alih harapan. Bawa riwayat throughput aktual dan jumlah butir tersisa Anda, dan bandingkan perkiraan berbasis aliran dengan tanggal apa pun yang diestimasi tim berdasarkan perasaan; celahnya biasanya instruktif. Jika penghalangnya butir-butir Anda berukuran sangat berbeda atau aliran Anda tak menentu, itu sendiri temuannya, karena aliran tak stabil adalah masalah penyampaian yang layak diperbaiki terlepas dari itu (bab 11.2, 11.3). Pindah dari estimasi ke pengukuran sering kurang soal perubahan perkakas dan lebih soal keputusan memercayai riwayat sendiri daripada optimisme Anda.

  3. Untuk program terbesar Anda saat ini, apakah Anda telah mengambil pandangan luar, atau hanya membangun rencana dalam? Program besar adalah tempat optimisme berlipat menjadi pelampauan mahal, dan tempat rencana bottom-up yang yakin paling menggoda dan paling tak andal. Disiplinnya adalah menamai kelas referensi upaya serupa yang telah selesai di dalam atau di luar organisasi Anda, menemukan apa yang sebenarnya mereka biayakan dan berapa lama sebenarnya mereka memakan waktu, dan menempatkan program Anda secara jujur dalam distribusi itu sebelum membela angka Anda sendiri. Bawa datanya: bagaimana inisiatif sebanding di sini melampaui estimasi pertamanya, dan apakah rencana Anda saat ini diam-diam mengasumsikan Anda akan mengalahkan setiap darinya? Jika ya, Anda bertaruh menjadi luar biasa, taruhan yang secara andal kalah oleh laju dasar. Pandangan luar akan membuat perkiraan Anda kurang menyanjung dan jauh lebih dapat dipertahankan di hadapan pendana dan auditor yang akan mengingat angka yang Anda berikan (bab 10.1).

  4. Ketika pendana, kontrak, atau legislator menuntut satu tanggal tetap, bagaimana Anda menjawab tanpa berbohong atau menolak? Di sinilah tekanan paling sengit dan di mana tim jujur paling sering menyerah, karena “70% mungkin pada September” terdengar mengelak di samping “September” yakin milik pesaing. Untuk organisasi besar taruhannya berlipat: satu tanggal tetap merambat ke anggaran, program yang bergantung, dan janji publik, sehingga angka yang dipilih demi kenyamanan menjadi liabilitas sistemik begitu ia bergeser. Bawa bahasa yang benar-benar Anda rencanakan pakai, contoh kerja rentang dengan tingkat keyakinan, dan kenaikan awal kecil yang dapat Anda komitmenkan dengan tegas sambil membiarkan cakupan kemudian sebagai rentang yang didanai. Pertimbangan yang bersaing nyata, karena sebagian tenggat (peralihan regulasi, peluncuran pameran dagang) benar-benar tetap, dan langkah yang tepat di sana adalah menetapkan tanggal dan melenturkan cakupan alih-alih berpura-pura upaya itu pasti. Dalam pengaturan enterprise dan pemerintah, kaitkan ini dengan bagaimana kontrak dibentuk: perjanjian modular yang didanai per kenaikan memungkinkan Anda berkomitmen jujur pada inti berharga, sedangkan satu kontrak harga tetap, cakupan tetap yang berlabuh pada tonggak jauh memaksa persis kepastian palsu yang menghasilkan pelampauan dan berita utama.

  5. Bagaimana tim Anda memutuskan apa yang dibangun berikutnya, dan apakah pengurutan eksplisit menurut biaya penundaan akan mengubah urutannya? Kebanyakan backlog diurutkan dengan campuran firasat, siapa yang berteriak paling keras, dan upaya kasar, yang diam-diam mengoptimalkan kemenangan mudah alih-alih yang berharga. Biaya penundaan, nilai yang hilang untuk setiap satuan waktu bagian kerja terlambat, membingkai ulang pertanyaan dari “kapan semuanya selesai” menjadi “apa hal paling berharga untuk diselesaikan berikutnya,” yang dapat Anda jawab dengan bukti. Bawa tiga atau empat butir backlog nyata dengan estimasi jujur nilai yang dibuka masing-masing dan kapan nilai itu kedaluwarsa, lalu ranking menurut nilai-hilang-per-minggu terhadap upaya dan bandingkan urutan itu dengan rencana Anda saat ini; penataan ulangnya biasanya mengejutkan dan sulit dibantah. Pertimbangan yang bersaing adalah biaya penundaan sendiri adalah estimasi dan dapat dimainkan oleh siapa pun yang ingin butirnya lebih dulu, jadi namai siapa yang memiliki angkanya dan bagaimana ia ditantang. Untuk portofolio enterprise atau program pemerintah, disiplin ini yang memungkinkan Anda mempertahankan keputusan pengurutan kepada pemangku kepentingan yang masing-masing percaya inisiatifnya harus lebih dulu, karena urutan bertumpu pada nilai yang dinyatakan alih-alih politik.

  6. Siapa yang memperkirakan ulang, seberapa sering, dan siapa yang akuntabel bertindak ketika perkiraan bergeser? Prediksi yang dibuat sekali saat kickoff dan tak pernah ditinjau ulang adalah hiasan, dan penggeseran termahal adalah yang akan ditunjukkan perkiraan hidup berbulan-bulan sebelum tenggat membuatnya tak terbantahkan. Untuk tim besar kegagalannya jarang ketiadaan data dan biasanya ketiadaan irama tetap dan pemilik bernama: throughput melayang, distribusi tanggal selesai bergeser ke kanan, dan tak ada yang tugasnya memperhatikan sedang melihat. Bawa irama perkiraan ulang aktual Anda (atau akui tak ada), terakhir kali perkiraan mengubah keputusan, dan drift yang Anda lihat sejak komitmen saat ini ditetapkan. Pertimbangan yang bersaing adalah kelelahan perkiraan, karena memperkirakan ulang terlalu berisik mengundang gejolak dan mengikis kepercayaan, jadi sepakati interval yang masuk akal dan ambang yang memicu eskalasi alih-alih bereaksi pada setiap goyangan. Dalam konteks enterprise dan pemerintah, kaitkan ini dengan pengawasan: briefing badan tata kelola dengan rentang probabilitas terbaru pada jadwal tetap, agar penggeseran muncul sebagai perkiraan ulang terkelola yang dapat ditindaklanjuti pimpinan alih-alih kejutan yang terungkap di tonggak.

Lensa sektor

Startup. Lewati upacara estimasi nyaris seluruhnya. Iris kerja menjadi potongan satu-dua hari, hitung apa yang Anda selesaikan setiap minggu, dan kutip kepada pendiri dan investor rentang yang menyempit alih-alih satu tanggal heroik. Riwayat Anda pendek dan proses Anda bergejolak, jadi bersandarlah pada kerucut ketidakpastian sebagai penjelasan jujur alih-alih dalih, dan perkirakan ulang setiap Jumat seiring gambaran mengasah.

Bisnis kecil. Anda tidak punya spesialis estimasi dan tak berselera pada rapat pengukuran, jadi biarkan perkakas yang sudah Anda jalankan melakukan kerjanya: kebanyakan pelacak tugas mengekspos throughput gratis, dan perkiraan ringan dari itu mengalahkan tenggat tebakan. Tahan dorongan membeli perangkat lunak perencanaan berat yang tak sanggup Anda staf-i; hitungan mingguan sederhana butir selesai dan rentang polos menjawab “kapan selesai” cukup baik untuk komitmen yang sebenarnya Anda buat kepada pelanggan.

Enterprise. Masalahnya konsistensi lintas banyak tim yang mendanai portofolio terhadap siklus modal tahunan (bab 10.1). Bakukan rentang dengan tingkat keyakinan alih-alih tanggal tunggal, wajibkan perbandingan kelas referensi untuk program besar, dan dirikan metrik aliran agar tebakan digantikan perkiraan berbasis throughput dalam satu kuartal. Atur estimasi sebagai praktik bersama dengan definisi jelas tentang estimasi, target, dan komitmen, agar angka yang dihasilkan di satu divisi berarti sama ketika ia mencapai dewan.

Pemerintah. Aturan pengadaan dan akuntabilitas publik membentuk segalanya. Tanggal publik yang meleset menjadi berita utama dan temuan audit, jadi pilih kontrak modular yang didanai per kenaikan daripada satu komitmen harga tetap, cakupan tetap yang berlabuh pada tonggak jauh. Briefing badan pengawas dengan perkiraan probabilistik dan bukti kelas referensi dalam bahasa sederhana, terbitkan tingkat keyakinan secara jujur, dan biarkan kenaikan berfungsi yang didemokan menjadi bukti yang dipercaya publik dan auditor alih-alih tanda tangan kontraktor pada rencana optimistis.

Contoh

Startup. Startup sembilan orang yang menyiapkan demo Seri A perlu tahu apakah integrasi kunci akan siap. Alih-alih membiarkan pendiri menjanjikan investor sebuah tanggal, pemimpin mengutip estimasi sebagai rentang dan menjelaskan kerucut ketidakpastian di baliknya. Tim telah menutup lima sampai sembilan butir backlog per minggu, sehingga mereka menjalankan perkiraan Monte Carlo cepat atas kerja tersisa dan melaporkan “80% mungkin pada minggu ketiga kuartal, peluang berimbang seminggu lebih awal.” Mereka mengiris integrasi menjadi potongan dua hari sehingga tak ada satu estimasi pun yang penting banyak, mengurutkan menurut biaya penundaan untuk membangun jalur yang terlihat investor lebih dulu, dan memperkirakan ulang setiap Jumat. Investor mendapat proyeksi jujur yang menyempit alih-alih angka yakin yang akan meleset.

Enterprise. Sebuah pengecer yang mengganti platform manajemen pesanannya harus mendanai program lewat siklus modal tahunan yang menuntut angka. Kantor program menahan dorongan membela rencana bottom-up yang rapi dan sebagai gantinya membangun kelas referensi dari tiga penggantian platform sebanding, dua internal dan satu terdokumentasi publik, yang melampaui estimasi awalnya sebesar 50% sampai 80%. Mereka mendanai terhadap angka pandangan luar, mengekspresikan jadwal sebagai rentang probabilitas alih-alih go-live tetap, dan mendirikan metrik aliran dari tim penyampai pertama sehingga dalam satu kuartal tebakan digantikan perkiraan berbasis throughput yang diperbarui bulanan. Ketika satu aliran berjalan panas, perkiraan ulang menunjukkannya lebih awal, dan pimpinan menyeimbangkan ulang alih-alih menemukan penggeseran di tenggat.

Pemerintah. Sebuah lembaga yang memodernisasi sistem tunjangan beroperasi di bawah apropriasi dan pengawasan publik, di mana tanggal publik yang meleset adalah berita utama. Alih-alih satu kontrak harga tetap, cakupan tetap yang berlabuh pada satu tonggak jauh, ia mengadakan kenaikan modular dan berkomitmen secara publik pada inti berharga yang disampaikan lebih awal, dengan cakupan kemudian diekspresikan sebagai rentang yang didanai alih-alih janji. Pimpinan program mem-briefing badan pengawas memakai perkiraan probabilistik dan perbandingan kelas referensi, menjelaskan tingkat keyakinan dalam bahasa sederhana, sehingga “70% pada September” dipahami persis sebagai itu. Kenaikan berfungsi yang didemokan menjadi bukti yang dipercaya publik, lebih kokoh daripada estimasi mana pun yang dapat ditandatangani kontraktor.

Kasus bisnis: motivasi, ROI, dan TCO

Imbal hasil estimasi dan peramalan jujur didominasi bencana yang dihindari. Upaya perangkat lunak besar melampaui atau gagal jauh lebih sering daripada mencapai rencana tetap awalnya, dan kerugiannya berlipat: biaya tenggelam, nilai yang hilang dari penyampaian terlambat, belanja darurat untuk pulih, dan erosi kepercayaan yang menyusul komitmen publik yang dilanggar. Praktik di sini (memisahkan estimasi dari komitmen, meramal dari throughput nyata, mengambil pandangan luar pada program besar) adalah yang menggeser program dari kurva kegagalan itu. Anda tidak membeli bola kristal yang lebih akurat. Anda membeli informasi lebih awal dan lebih benar tentang di mana Anda berdiri, yang memungkinkan Anda mengoreksi selagi koreksi masih murah.

Pada total biaya kepemilikan, pergeseran dari upacara estimasi ke peramalan terukur biasanya menurunkan biaya alih-alih menaikkannya. Estimasi di muka yang rumit mahal dihasilkan dan membusuk begitu kerja dimulai, sedangkan perkiraan berbasis throughput nyaris gratis begitu jalur penyampaian Anda memancarkan datanya. Kedua ekstrem memakan uang: terlalu mengestimasi (rapat pengukuran tak berujung yang menghasilkan presisi yang tak dipakai siapa pun) dan kurang meramal (berkomitmen buta dan membayar pelampauan kemudian). Untuk mengajukan kasus kepada pimpinan, letakkan biaya terbebani penuh pelampauan besar terakhir Anda di samping biaya nyaris nol melacak throughput dan mengutip rentang, dan tunjukkan bagaimana perkiraan pandangan luar akan menetapkan ekspektasi yang dapat didanai sejak awal.

Anti-pola dan jebakan

  • Komitmen tanggal tunggal: rentang diruntuhkan menjadi satu angka, lalu dibela melampaui bukti.
  • Pencucian estimasi: tebakan penuh harap diteruskan ke atas rantai sampai mengeras menjadi janji kontraktual.
  • Velositas sebagai mesin jadwal: mengalikan story point dengan velositas untuk memproduksi tanggal presisi.
  • Bantalan berdasarkan perasaan: tebakan kedua ditumpuk di atas yang pertama, dinegosiasikan hilang di bawah tekanan.
  • Hanya pandangan dalam: memercayai rencana bottom-up baru sambil mengabaikan apa yang sebenarnya dimakan program serupa.
  • Mengestimasi segalanya: mengukur irisan kecil seragam yang estimasi individualnya tak mengubah keputusan.
  • Perkiraan beku: prediksi dibuat sekali saat kickoff dan tak pernah diperbarui seiring kenyataan tiba.
  • Teater presisi: mengutip jam hingga dua desimal di mulut lebar kerucut ketidakpastian.

Model kematangan

  • Tingkat 1, Memulai: Estimasi adalah tanggal tunggal yang dihasilkan firasat dan diperlakukan sebagai janji; tanpa pembedaan antara estimasi, target, dan komitmen; peramalan reaktif dan ad hoc; pelampauan mengejutkan semua orang dan disalahkan pada tim.
  • Tingkat 2, Mengembangkan: Sebagian estimasi terstruktur ada (dekomposisi, story point, angka tiga titik), tetapi praktik bervariasi tim demi tim; estimasi masih kebanyakan angka tunggal; velositas dipakai memproyeksikan tanggal; perkiraan dibuat sekali saat kickoff dan jarang ditinjau ulang.
  • Tingkat 3, Membakukan: Standar terdokumentasi ditegakkan di seluruh organisasi: estimasi diekspresikan sebagai rentang dengan ketidakpastian dinyatakan, estimasi, target, dan komitmen dijaga berbeda menurut definisi, tim melacak throughput dan memperkirakan ulang pada irama tetap, dan program besar diwajibkan memakai perbandingan kelas referensi.
  • Tingkat 4, Mengelola: Praktik diukur dan dikendalikan dengan data. Akurasi perkiraan dilacak terhadap hasil aktual dan kalibrasi diperiksa, sehingga Anda dapat mengatakan apakah tanggal “80% pada” Anda benar-benar mendarat delapan dari sepuluh kali; garis dasar throughput dan waktu siklus dipelihara; biaya penundaan dikuantifikasi; drift perkiraan dipantau terhadap ambang dan memicu eskalasi; komitmen dibuat terhadap bukti alih-alih optimisme.
  • Tingkat 5, Mengorkestrasi: Peramalan probabilistik dari data aliran berkelanjutan dan dipercaya karena riwayat kalibrasi telah membuktikannya jujur; komitmen adalah keputusan sengaja yang menimbang keyakinan terhadap biaya; kerja diiris cukup kecil sehingga estimasi minimal dan biaya penundaan menggerakkan urutan; estimasi terintegrasi dengan pendanaan portofolio dan perencanaan risiko, dan organisasi rutin menentukan ulang cakupan dan menyeimbangkan ulang seiring perkiraan bergerak, mengadaptasi rencana pada bukti alih-alih membela angka aslinya.

Gagasan untuk didiskusikan

  1. Apa yang akan berubah di organisasi Anda jika setiap estimasi harus meninggalkan tim sebagai rentang dengan tingkat keyakinan, dan tanggal tunggal dilarang?
  2. Di mana Anda menghabiskan upaya mengestimasi kerja yang sudah cukup kecil dan seragam untuk diramal dengan menghitung?
  3. Jika Anda memasukkan throughput dua kuartal terakhir ke simulasi Monte Carlo, apakah perkiraannya akan sependapat dengan tanggal yang benar-benar Anda komitmenkan?
  4. Untuk program terbesar Anda, apa kelas referensi yang jujur, dan seberapa buruk laju dasar membantah rencana Anda saat ini?
  5. Bagaimana tim Anda memutuskan urutan hari ini, dan apakah mengurutkan secara eksplisit menurut biaya penundaan akan mengubah apa yang Anda bangun berikutnya?
  6. Ketika komitmen diterima di organisasi Anda, apakah ketidakpastian dicatat sebagai bagian keputusan, atau lenyap seketika tanggal dituliskan?

Poin-poin utama

  • Jaga estimasi, target, dan komitmen tetap berbeda; menyatukannya adalah cara proyek mulai membohongi dirinya sendiri.
  • Estimasi salah secara sistematis ke arah yang diketahui: kerucut ketidakpastian melebarkan kerja awal, dan kekeliruan perencanaan menjadikan optimisme bawaan.
  • Pilih peramalan probabilistik dari throughput terukur daripada tebakan baru; kutip rentang dan tingkat keyakinan, dan perkirakan ulang terus-menerus.
  • Ambil pandangan luar dengan peramalan kelas referensi pada program besar, di mana optimisme paling mahal (bab 10.1).
  • Iris kecil agar estimasi individual berhenti penting, dan urutkan menurut biaya penundaan alih-alih firasat.
  • Estimasi hanya ketika mengubah keputusan; selain itu pemborosan. Lihat bab 10.6 (manajemen proyek), 11.2 (penyampaian), 11.3 (teori antrean), dan 1.5 (pengambilan keputusan dan tata kelola).

Referensi dan bacaan lanjutan

  • Steve McConnell, Software Estimation: Demystifying the Black Art.
  • Daniel Vacanti, Actionable Agile Metrics for Predictability dan When Will It Be Done? (peramalan probabilistik dari data aliran).
  • Troy Magennis, Forecasting and Simulating Software Development Projects (metode Monte Carlo).
  • Bent Flyvbjerg dan Dan Gardner, How Big Things Get Done (peramalan kelas referensi dan megaproyek).
  • Daniel Kahneman, Thinking, Fast and Slow (kekeliruan perencanaan dan pandangan luar).
  • Donald Reinertsen, The Principles of Product Development Flow (biaya penundaan dan ekonomi antrean).
  • Vasco Duarte, NoEstimates: How to Measure Project Progress Without Estimating.
  • Frederick Brooks, The Mythical Man-Month (mengapa jadwal perangkat lunak salah).
  • Todd Little, “Schedule Estimation and Uncertainty Surrounding the Cone of Uncertainty” (IEEE Software, 2006).