Katakanlah Anda memperkirakan waktu untuk sebuah kasus menjadi 3 hari. Dalam dua hari Anda melihat bahwa kasus ini berkembang dan skenario baru bermunculan yang tidak dihitung ketika perkiraan waktu di mana dilakukan. Temuan baru mengarah ke 2 hari ekstra (total 5 hari). Ini adalah masalah umum yang akan Anda hadapi cepat atau lambat sebagai pengembang.
- Strategi apa yang dapat digunakan ketika Anda akan memberi tahu pimpinan proyek tentang waktu pengiriman yang baru?
- Seringkali Anda mendapatkan pertanyaan mengapa? Bagaimana Anda memotivasi waktu pengiriman yang baru?
Faktanya adalah bahwa banyak proyek tidak menaruh banyak waktu pada analisis & desain selama SDLC.
EDIT: Dalam proyek yang sangat kompleks, tidak peduli berapa banyak waktu yang Anda pakai untuk Analisis & Desain selalu ada kejutan karena aturan bisnis terlalu kompleks. Namun dalam kasus seperti itu saya percaya pemimpin proyek harus menyadari kompleksitas dan memiliki sikap yang benar ketika kejutan yang tak terduga muncul. Pertanyaannya adalah bagaimana menangani para pemimpin proyek yang tidak memahami kompleksitasnya.
sumber
Jawaban:
Menyampaikan Berita Buruk
Anda benar-benar harus segera mengangkat masalah ini, namun jika Anda dapat melakukannya dalam skala waktu yang masuk akal (yaitu beberapa jam, tidak lebih) Anda harus melakukan sedikit penilaian dampak sebelum melakukannya.
Seperti halnya semua berita buruk, yang terbaik adalah memberikan informasi terperinci (daripada hanya mengatakan "itu akan terlambat") jadi sediakan banyak / banyak dari:
1) Estimasi / rentang waktu yang direvisi untuk tugas-tugas yang telah tergelincir.
2) Taksiran / rentang waktu yang direvisi untuk tugas-tugas di masa depan yang menurut Anda, mengingat mengetahui bahwa beberapa hal sudah berjalan, mungkin membutuhkan waktu lebih lama.
3) Alasan yang sangat singkat mengapa slippage terjadi (jangan berputar, hanya kebenaran, tetapi jangan terdengar seperti Anda membuat alasan). Dalam hal ini Anda menyatakan "Kami memperkirakan berdasarkan aturan X dan Y tetapi mereka sekarang memasukkan Z yang tidak pernah disebutkan". Dia mungkin dapat menggunakan ini dalam menjelaskan keterlambatan kepada klien dan mendidik mereka tentang pentingnya menjadi teliti sejak awal.
4) Jika alternatif yang memungkinkan untuk membawa hal-hal kembali ke jalurnya (biasanya mengurangi ruang lingkup tetapi mungkin ada opsi lain - bagian lain dari proyek ini mungkin di depan waktu dan mungkin untuk memindahkan tugas di sekitar).
Ingat dengan slippage dampak psikologis / kredibilitas adalah culmulative. Anda mungkin bisa lolos dengan satu tetapi yang kedua akan lebih sulit dan yang ketiga masih lebih keras.
Itulah mengapa poin 2 penting - perbaiki tidak hanya apa yang sudah tergelincir tetapi juga tugas masa depan yang sekarang Anda pikir mungkin memakan waktu lebih lama dari yang diperkirakan semula. Tergelincir terjadi di IT, tidak belajar dari kesalahan Anda adalah dosa yang lebih besar.
Mencegah Harus Memberikan Berita Buruk
Ada dua skenario di sini: pertama, Anda tidak melakukan perkiraan sendiri dalam hal ini tidak banyak yang dapat Anda lakukan selain mendorong untuk terlibat dalam perkiraan di putaran waktu berikutnya.
Kedua, Anda memang melakukan estimasi sendiri dalam hal ini Anda perlu melihat bagaimana melakukan estimasi yang lebih baik. Bagi saya, frasa kunci dalam pertanyaan adalah "selalu ada kejutan karena aturan bisnis terlalu rumit" .
Dengan hormat, jika itu selalu terjadi, itu seharusnya tidak mengejutkan . Jika Anda hanya mendapatkan setengah dari aturan bisnis maka Anda harus mengasumsikan bahwa dalam perkiraan Anda dan memungkinkan untuk merayap fitur.
Anda dapat melakukan ini dengan meningkatkan taksiran untuk aturan yang Anda miliki (ini berfungsi tetapi Anda tidak mendidik siapa pun tentang apa yang sebenarnya terjadi), tetapi lebih baik menyatakan dengan perkiraan Anda "Secara historis aturan yang kami dapatkan adalah versi yang disederhanakan dari apa yang sebenarnya mereka inginkan. Aturan yang mereka nyatakan akan memakan waktu 3 hari untuk diimplementasikan, namun kami harus mengizinkan 3 hari kontingensi untuk aturan yang belum disebutkan tetapi kemungkinan akan ditemukan selama pengembangan dan pengujian. "
Jika PM mempertanyakan hal ini maka Anda perlu mengingatkannya tentang semua waktu itu memang benar (dengan contoh - sulit untuk berdebat contoh) dan juga dengan lembut menyarankan bahwa ia berkepentingan untuk memberikan tepat waktu dan juga waktu Anda, jadi bukankah demikian? lebih baik bersikap konservatif?
Tetapi intinya: jika Anda selalu meremehkan karena faktor tertentu (dalam hal ini fitur merayap) maka angka itu menjadi perkiraan Anda.
sumber
Estimasi berbasis waktu adalah perkiraan tentang masa depan, dan itu akan selalu gagal dalam jangka panjang. Ini adalah pertarungan sia-sia yang tidak bisa kau menangkan.
Hentikan estimasi dalam beberapa hari dan mulai gunakan estimasi relatif sebagai gantinya. Ini adalah contoh sederhana:
Minggu depan, ulangi prosesnya lagi. Saya yakin kecepatan Anda akan berubah, tetapi tidak banyak. Setelah beberapa minggu dengan ini, kecepatan Anda seharusnya cukup stabil dan itulah yang kami tuju. Sekarang Anda dapat mulai membuat rencana dengan percaya diri. Pilih tugas yang meringkas kecepatan Anda dan PM Anda bisa yakin itu akan selesai seperti yang dijanjikan. Itulah bagaimana Anda harus menangani para pemimpin proyek Anda.
sumber
Segera setelah Anda melihat perkiraan salah, Anda perlu menaikkan bel alarm. Beri tahu mereka yang mengharapkan pengiriman tentang keterlambatan.
Minta bantuan dari rekan setim jika memungkinkan. Pastikan Anda masih menghadirkan perangkat lunak berkualitas tinggi.
Jalan pintas kemungkinan besar akan lebih membahayakan pada akhirnya, dan semua orang yang terlibat harus mengetahui hal ini. Atau setidaknya harus dijelaskan kepada mereka.
sumber
Ini terjadi begitu sering sehingga tidak ada mananger proyek berpengalaman akan membuat banyak dari itu. Jujur saja dan jangan membuat estimasi baru terlalu optimis; ketika Anda melihatnya akan memakan waktu lebih lama, katakan saja. Jangan katakan "Saya butuh sedikit waktu lagi" setiap hari.
Anda harus menjelaskan kepada manajer: apakah perkiraan itu salah sejak awal atau apakah keadaan yang merugikan (menghabiskan satu hari berburu bug) merupakan alasan penundaan? Pada kasus pertama, ada sesuatu yang salah dengan proses estimasi, mungkin terlalu optimis atau naif. Dalam kasus kedua, ini merupakan kasus untuk buffer yang diharapkan dimasukkan dalam rencana proyek.
sumber
Selalu menjaga pemangku kepentingan yang relevan untuk mengetahui kemajuan Anda, termasuk (terutama!) Fakta bahwa perkiraan Anda terlalu optimis. Mereka tidak akan bahagia, tetapi mereka akan tahu di mana proyek itu benar-benar berdiri dan dapat merencanakannya.
Idealnya daftar fitur Anda sudah MoSCoWed - Harus, Harus, Bisa, Tidak.
Saat Anda menuju overrun, potong kaleng, lalu pilih Shoulds. Potong fitur sehingga Anda dapat mengirim tepat waktu: proyek Anda biasanya tidak hidup dalam isolasi, dan Anda melewati tanggal rilis berarti proyek hilir sekarang juga akan melampaui jadwal mereka.
Idealnya Anda hanya memiliki ~ 60% Musts. Jika Anda harus memotong yang Anda dalam kesulitan yang sangat dalam (mengalami overrun yang sangat serius), dalam hal ini Anda harus mengambil jalan pintas.
Pastikan Anda memberikan waktu yang cukup pada diri Anda setelah pelepasan untuk membersihkan kekacauan yang terjadi dengan memotong sudut!
sumber
Estimasi proyek adalah judi, sederhana dan sederhana. Tidak ada hadiah tanpa risiko.
Jika manajer tidak memahami ini, itu adalah hal pertama yang akan saya jelaskan.
Pertanyaannya adalah, siapa yang menanggung risiko?
Jika Anda memiliki kontrak harga tetap, maka Anda menanggung risikonya.
Jika waktu dan bahan, maka dia menanggung risiko.
Jadi, ketika memperkirakan, penting untuk memahami bahwa Anda menebak, dan Anda perlu memiliki gagasan seberapa tidak pasti perkiraan itu, dan siapa yang menanggung risiko.
sumber
Saya percaya strategi terbaik adalah terus - menerus memperbaiki estimasi Anda . Saya tahu, saya katakan: pertanyaan Anda entah bagaimana salah tempat.
Membaca Memperkenalkan Penemuan yang Disengaja oleh Dan North Saya sampai pada kesimpulan bahwa menempatkan upaya estimasi dalam fase awal sama dengan membuat prediksi tepat ketika ketidaktahuan Anda tentang masalah dan domain berada pada level maksimal. Hadapi itu, Anda tidak dapat memprediksi apa yang tidak pasti, terutama jika itu masih belum diketahui .
Metodologi tangkas memecahkan masalah ini dengan memecah masa hidup proyek menjadi beberapa bagian (sprint, di Scrum), dan mengulangi estimasi (cerita ukuran) setiap minggu. Setiap minggu, apa yang Anda ketahui tentang masalah diperbaiki, dan begitu juga perkiraannya.
Bagi saya, estimasi tidak bisa benar atau salah. Itu hanya bisa semakin disempurnakan . Estimasi bukanlah komitmen. Itu sebabnya disebut estimasi.
Yang terbaik yang dapat Anda lakukan ketika Anda terlambat (dan juga ketika Anda "berisiko untuk mengirim di muka", karena masalahnya sama: Anda telah memperkirakan dengan buruk) adalah untuk meningkatkan dan menyampaikan fakta kepada pelanggan sesegera mungkin. Ini disebut manajemen risiko. Semakin cepat Anda memberikan umpan balik, semakin efektif kesalahan balasannya. Biasanya itu berarti bahwa, jika Anda memiliki bukti Anda tidak dapat memberikan segalanya, Anda harus berbicara dengan pelanggan Anda, katakan padanya Anda hanya dapat memberikan 70% komitmen dan biarkan dia memutuskan apa yang memiliki nilai bisnis lebih untuknya dan harus digunakan terlebih dahulu .
Saya menulis tentang itu di sini Estimasi salah, tolong! Saya terlambat! Potong fitur dan hentikan air terjun!
sumber
Ini disebut taksiran karena merupakan tebakan yang berpendidikan. Ini bukan deskripsi yang sempurna tentang masa depan, dan saya memiliki sedikit kesabaran untuk orang-orang yang memperlakukan perkiraan perangkat lunak seperti itu. Pada akhirnya, banyak hal akan memakan waktu lebih lama dari yang Anda harapkan, dalam kasus yang jarang terjadi mereka mungkin membutuhkan urutan lebih banyak waktu. Ini terjadi bahkan pada programmer terbaik di dunia. Bagaimana mungkin seorang manajer berharap itu tidak terjadi pada Anda? Jika manajer Anda tidak memahaminya, dia tidak memiliki banyak pengalaman. Jika dia pura-pura tidak memahaminya untuk menerapkan tekanan jadwal, dia tidak masuk akal.
Pendekatan terbaik adalah yang paling jelas. Segera setelah Anda memiliki gagasan yang jelas bahwa suatu fitur akan memakan waktu lebih lama dari yang diharapkan, diskusikan dengan manajer Anda. Sering ada cara untuk melanjutkan yang akan menyelesaikan masalah Anda dan manajer Anda. Artinya, bagian dari fitur yang memperlambat segalanya mungkin relatif tidak penting atau mudah dimodifikasi dengan cara yang memungkinkan kemajuan yang lebih cepat. Apa pun masalahnya, jangan digertak menjadi perkiraan optimis kedua.
sumber
Biarkan semua tim mengetahuinya dan mencoba menemukan solusi. Saya merekomendasikan 3 solusi, dari prioritas tinggi ke rendah:
Sebuah. Cobalah untuk menemukan hot-fix sementara, atau quick-around
b. Pekerjaan yang bisa Anda lakukan, lakukan yang terbaik. Setelah menunjukkan bagian pekerjaan Anda yang sangat baik kepada klien, mintalah bantuan mereka: kami bisa melakukan ini, tetapi ada beberapa masalah, dan itu mungkin memperlambat produktivitas pekerjaan Anda ... Mungkin Anda bisa bertanya kepada mereka apakah ada permintaan yang tidak perlu / fitur yang dapat dijatuhkan, atau dikurangi.
Usulkan pendekatan alternatif untuk masalah mereka, mungkin ide yang bagus.
c. Bekerja lembur
sumber
Pilihan:
sumber
Ini adalah masalah umum :)
Salah satu pendekatan yang lebih sederhana adalah menambahkan buffer ke setiap estimasi yang Anda lakukan, karena masalah yang tidak terduga selalu terjadi. Ukuran buffer tergantung pada ukuran tim dan ketidakpastian teknologi dan masalah itu sendiri.
Tim yang lebih besar memiliki lebih banyak orang yang mungkin sakit dan lebih sedikit orang yang tahu "segalanya".
Teknologi baru selalu lebih berisiko daripada yang sudah Anda ketahui.
Dan ketika Anda melihat bahwa Anda tidak akan selesai pada tanggal perkiraan, komunikasikan lebih awal dengan para pemangku kepentingan. Mungkin Anda dapat memprioritaskan ulang barang atau menunda fitur tertentu setelah berbicara dengan pelanggan / pemangku kepentingan.
sumber