Estimasi — adalah penilaian kuantitatif atas biaya tenaga kerja yang diperlukan untuk menyelesaikan tugas, mengembangkan fitur, atau merealisasikan proyek secara keseluruhan. Dalam pengembangan mobile, estimasi digunakan untuk perencanaan sprint, penentuan biaya, dan pengelolaan ekspektasi klien. Menurut data Project Management Institute, 2024, kesalahan estimasi pada tahap awal proyek bisa mencapai 100%, menjadikan estimasi sebagai salah satu disiplin tersulit dalam pengembangan.
Poin Utama
Estimasi (dari bahasa Inggris estimate — perkiraan) — adalah prediksi jumlah waktu atau usaha yang diperlukan untuk menyelesaikan suatu tugas. Dalam pengembangan mobile, estimasi dinyatakan dalam jam, hari, story point, atau setara uang. Tujuan estimasi bukanlah prediksi yang tepat, melainkan pengurangan ketidakpastian untuk pengambilan keputusan.
Estimasi — adalah prediksi dengan margin kesalahan. Komitmen (commitment) — adalah janji untuk menyelesaikan tugas pada tanggal tertentu. Perbedaannya sangat penting: estimasi mengatakan “kemungkinan 5 hari”, komitmen — “kami selesaikan dalam 5 hari”. Manajer sering mencampuradukkan konsep ini, mengubah estimasi menjadi tenggat waktu tanpa hak untuk salah.
Proses estimasi sama pentingnya dengan hasilnya. Ketika tim mendiskusikan penilaian tugas, persyaratan tersembunyi, ketergantungan, dan risiko muncul ke permukaan. Bahkan jika angka akhirnya tidak akurat, diskusi memberikan pemahaman tentang tugas kepada semua peserta. Oleh karena itu, metode penilaian kolektif (Planning Poker) lebih efektif daripada metode individual.
Ada beberapa metode estimasi, masing-masing cocok untuk tahap proyek dan tingkat detail yang berbeda. Pemilihan metode tergantung pada data yang tersedia dan akurasi yang diperlukan.
| Metode | Tipe | Akurasi | Kapan digunakan |
|---|---|---|---|
| Planning Poker | Ahli, kolektif | Tinggi (dalam sprint) | Penilaian tugas untuk sprint |
| T-Shirt sizing | Ahli, cepat | Sedang | Penilaian awal epik |
| Estimasi analog | Berdasarkan riwayat | Sedang | Tugas serupa di masa lalu |
| Three-point (PERT) | Probabilistik | Di atas rata-rata | Tugas dengan ketidakpastian tinggi |
| Parametrik | Berdasarkan rumus | Tergantung data | Tugas homogen yang terukur |
Planning Poker — metode penilaian paling populer di Agile. Setiap pengembang mendapatkan set kartu dengan angka Fibonacci (1, 2, 3, 5, 8, 13, 21). Setelah mendiskusikan tugas, semua orang menunjukkan kartu secara bersamaan. Jika estimasi berbeda — pengembang dengan estimasi minimum dan maksimum menjelaskan logika mereka, kemudian dilakukan pemungutan suara ulang. Metode ini menghilangkan pengaruh otoritas dan memberikan estimasi yang lebih akurat.
T-Shirt sizing — estimasi kasar berdasarkan ukuran kaos: XS, S, M, L, XL, XXL. Metode ini digunakan untuk estimasi cepat tugas besar (epik) pada tahap awal ketika detail belum diketahui. Kemudian setiap tugas tersebut didekomposisi dan diestimasi dalam Planning Poker. T-Shirt sizing memakan waktu 5-10 menit per tugas, tetapi hanya memberikan urutan besarnya.
PERT menggunakan tiga estimasi: optimis (O), pesimis (P), dan paling mungkin (M). Estimasi akhir dihitung dengan rumus: (O + 4M + P) / 6. Metode ini memperhitungkan ketidakpastian dan memberikan hasil yang lebih realistis daripada estimasi tunggal. PERT sangat berguna untuk tugas dengan risiko tinggi atau teknologi baru.
Akurasi estimasi tergantung pada tahap proyek dan jumlah informasi yang diketahui. Semakin awal penilaian dilakukan, semakin besar margin kesalahannya — ini normal dan harus diperhitungkan dalam perencanaan.
Kerucut Ketidakpastian (Cone of Uncertainty) — model yang menggambarkan bagaimana margin kesalahan estimasi berkurang seiring kemajuan proyek. Pada tahap konsep, margin kesalahan mencapai 400% (tugas dapat memakan waktu 1 hingga 4 bulan). Pada saat sprint — 20% (1-1.2 bulan). Kesadaran akan model ini membantu untuk tidak menuntut estimasi yang akurat pada tahap awal.
Estimasi relatif (dalam story point) lebih akurat daripada estimasi absolut (dalam jam), karena orang lebih baik membandingkan tugas daripada memperkirakan waktu. “Tugas ini dua kali lebih kompleks dari tugas itu” — penilaian yang lebih andal daripada “tugas ini akan memakan waktu 8 jam”. Estimasi relatif tidak tergantung pada pengembang tertentu dan mempertahankan akurasi saat pelaksana berubah.
Akurasi estimasi dapat ditingkatkan melalui pendekatan sistematis, diskusi kolektif, dan analisis kesalahan masa lalu. Ada beberapa praktik yang telah terbukti efektif.
Setiap tugas yang diestimasi lebih dari 2 hari harus didekomposisi menjadi subtugas. Prinsip: jika suatu tugas tidak dapat diestimasi dengan akurasi 50%, berarti tugas tersebut terlalu besar. Bagilah menjadi langkah-langkah yang dapat dipahami dan diestimasi. Setelah dekomposisi, estimasi total seringkali 1.5-2 kali lebih besar dari estimasi awal.
Catat riwayat estimasi dan bandingkan dengan biaya aktual. Contoh: “tugas yang diestimasi 3 story point rata-rata memakan waktu 4 hari, bukan 2”. Gunakan velocity tim untuk peramalan: jika tim menyelesaikan 20 story point per sprint, jangan rencanakan 30. Analisis akurasi estimasi sebelumnya adalah latihan terbaik untuk keterampilan estimasi.
Penjangkaran — efek psikologis di mana estimasi pertama yang diucapkan mempengaruhi semua peserta. Untuk menghindari penjangkaran, dalam Planning Poker semua orang menunjukkan kartu secara bersamaan, bukan bergiliran. Kalibrasi — pemeriksaan rutin estimasi dengan kenyataan: setelah 10-20 sprint, tim belajar mengestimasi lebih akurat berkat umpan balik.
Setiap tugas mengandung risiko tersembunyi: penyakit pengembang, masalah dengan API, perubahan persyaratan. Tambahkan faktor penyesuaian risiko ke dalam estimasi: untuk tugas dengan risiko tinggi — pengali 1.5-2, dengan risiko rendah — 1.1-1.2. Tunjukkan secara transparan kepada klien risiko apa yang diperhitungkan dan bagaimana pengaruhnya terhadap tenggat waktu.
Kesalahan dalam estimasi terulang di sebagian besar tim, terlepas dari tingkat kedewasaan mereka. Mengetahui kesalahan ini adalah langkah pertama untuk memperbaikinya.
Kesalahan paling umum — estimasi berdasarkan skenario terbaik: “jika semuanya berjalan sempurna, selesai dalam 3 hari”. Kenyataannya, tidak ada yang berjalan sempurna: bug, pertanyaan tentang persyaratan, tugas yang bergantung. Solusi: estimasi berdasarkan skenario yang paling mungkin, bukan yang optimis. Gunakan PERT untuk memperhitungkan variabilitas.
Ketika manajer berkata “harus selesai sebelum Jumat”, pengembang secara tidak sadar menyesuaikan estimasi dengan tenggat waktu tersebut. Estimasi di bawah tekanan selalu terlalu rendah dan menyebabkan keterlambatan. Solusi: estimasi harus mendahului tenggat waktu, bukan sebaliknya. Pertama tim mengestimasi, kemudian para pihak menyepakati tenggat waktu.
Kompleksitas tugas (seberapa banyak berpikir) dan waktu (seberapa banyak mengerjakan) — adalah metrik yang berbeda. Suatu tugas bisa sederhana tetapi memakan waktu (membuat kode 10 layar). Atau kompleks tetapi cepat (menemukan bug di legacy). Dalam story point biasanya kompleksitas yang diestimasi, sedangkan waktu diturunkan dari velocity tim.
Pengembang tidak bekerja 8 jam terus-menerus pada satu tugas: rapat, code review, membantu rekan kerja, urusan administrasi memakan 30-50% waktu kerja. Peralihan konteks harus diperhitungkan dalam estimasi: pada kenyataannya, pengembang menulis kode 3-4 jam per hari.
Pertanyaan yang Sering Diajukan
Pengembangan — adalah proses kreatif dengan ketidakpastian tinggi. Tidak seperti konstruksi atau manufaktur di mana setiap langkah diketahui, di IT setiap tugas itu unik. Hal-hal yang tidak diketahui (unknown unknowns) — penyebab utama ketidakakuratan. Bahkan tim yang berpengalaman pun salah dalam 30-50% estimasi. Ini normal dan harus diperhitungkan dalam perencanaan.
Story point lebih baik untuk perencanaan sprint karena bersifat relatif dan tidak tergantung pada pelaksana. Jam diperlukan untuk kontrak dan pelaporan eksternal, tetapi kurang akurat. Kombinasi optimal: tugas diestimasi dalam story point, dan tenggat waktu dikonversi melalui velocity tim menjadi hari kalender.
Untuk tugas dengan teknologi yang tidak dikenal, pertama-tama gunakan Spiko (penelitian dengan waktu terbatas). Setelah penelitian, tim memahami kompleksitasnya dan dapat memberikan estimasi yang realistis. Tambahkan pengali 2-3 ke estimasi biasa dan sisihkan 50% buffer untuk kesulitan yang tidak terduga.
Tunjukkan dekomposisi — bagi tugas menjadi subtugas dengan estimasi masing-masing. Jelaskan terdiri dari apa waktu tersebut: pengembangan, pengujian, code review, dokumentasi. Tawarkan alternatif: mengurangi ruang lingkup, menyederhanakan fungsionalitas, atau membagi menjadi beberapa tahap. Jangan pernah menurunkan estimasi tanpa mengubah persyaratan.
Estimasi ulang diperlukan ketika informasi baru tentang tugas muncul: persyaratan tambahan ditemukan, keterbatasan teknis terdeteksi, atau prioritas berubah. Dalam sprint, tugas tidak diestimasi ulang — fokusnya pada penyelesaian. Di antara sprint, backlog diestimasi ulang dalam rangka grooming.
Kesimpulan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.
Baca juga