Cara terbaik untuk menangani "Jadi, kapan ini akan dilakukan?"

8

Selama rapat standup harian di tengah sprint, manajer proyek / master scrum de facto biasanya meminta pengembang beberapa versi:

"Jadi kapan ini akan dilakukan?"

"Jadi bisakah kamu berkomitmen melakukan tugas ini pada jam 4 sore hari ini?"

"Berapa jam yang tersisa untuk subtugas ini?"

Ini terus terang sangat menjengkelkan dan tidak membuat segala sesuatunya dilakukan lebih cepat. Hasilnya adalah pengembang sering merasa di bawah banyak tekanan dan standup sering merasa lebih seperti medan perang daripada kolaborasi.

Sebagai pengembang, apa cara yang solid untuk menangani ini?

Derek
sumber
Apakah Anda memiliki manajer proyek yang berusaha "gesit"? Ini terdengar seperti kebodohan yang khas keluar dari mulut seorang manajer proyek. Anda harus menumbuhkan kulit tebal, dan memenuhi semua perkiraan, seperti yang selalu kami lakukan dengan semua gaya pengembangan lainnya.
Frank Hileman
6
Anda memiliki manajer proyek / master scrum? Anda harus memiliki manajer proyek, dan master scrum, dan mereka seharusnya tidak menjadi orang yang sama.
gnasher729
5
Kemungkinan rangkap dari Bagaimana merespons ketika Anda diminta perkiraan?
Doc Brown
"Saya tidak tahu" adalah jawaban yang bisa diterima jika Anda tidak.
Robert Harvey

Jawaban:

5

Cara terbaik untuk menangani "Jadi, kapan ini akan dilakukan?"

"Di ujung sprint".

Saya menyadari bahwa itu adalah jawaban yang sulit, tetapi ada beberapa kebenaran yang tersembunyi di sana. Itu tergantung pada siapa yang melakukan bertanya dan mengapa mereka mengajukan pertanyaan itu.

Manajer proyek benar-benar tidak punya bisnis untuk mengajukan pertanyaan seperti itu - mereka harus bertanya kepada scrum master jika mereka membutuhkan informasi terperinci tentang tugas-tugas yang sedang berlangsung, dan mereka harus melakukannya di luar stand-up harian.

Jika master scrum yang bertanya, mungkin mereka meminta agar mereka dapat dipersiapkan untuk blok jalan yang akan datang. Jika itu masalahnya, jujur ​​saja.

Dalam scrum, tim tidak berkewajiban untuk menyelesaikan tugas atau cerita tertentu sampai akhir sprint, dengan asumsi mereka bertanya tentang sebuah cerita yang terkait dengan sprint saat ini (versus hot fix out-of-band). Tenggat waktu untuk tugas-tugas dalam sebuah cerita dimiliki oleh tim, dan mereka seharusnya tidak merasakan tekanan dari manajer proyek.

Namun , pengembangan perangkat lunak adalah proses kolaboratif sehingga masuk akal untuk mengakomodasi pertanyaan seperti itu, dengan alasan.

Solusinya? Dari sudut pandang Anda: jawab sejujur ​​yang Anda bisa, sesingkat mungkin jika itu selama stand-up. Jika Anda secara aktif mengerjakan tugas yang ditanyakan, Anda selalu dapat mengatakan sesuatu di sepanjang baris "diperkirakan memakan waktu beberapa jam, jadi saya mungkin bisa menyelesaikannya hari ini". Jika Anda tidak mengerjakannya, sederhana "Saya tidak tahu, saya belum mulai mengerjakannya. Saya pikir perkiraannya masih cukup akurat".

Dari sudut pandang mereka: mereka perlu menerima jawaban Anda.

"Jadi bisakah kamu berkomitmen melakukan tugas ini pada jam 4 sore hari ini?"

Jawabannya hampir selalu "tidak". Sama sekali tidak perlu berkomitmen untuk pengiriman akhir hari untuk tugas di tengah sprint. Apakah tugas selesai pada jam 4 sore hari ini atau jam 9 pagi besok tidak relevan selama cerita secara keseluruhan selesai pada akhir sprint.

"Berapa jam yang tersisa untuk subtugas ini?"

Itu pertanyaan wajar untuk diajukan. Jawab saja dengan jujur. Saya menyadari bahwa itu sangat sulit dilakukan. Aku pernah disana. Saya pikir pengembang secara inheren optimis. Kami akan melihat sebuah tugas dan berpikir "itu hanya akan memakan waktu beberapa jam" dan sebelum Anda menyadarinya, hari itu telah berlalu. Itu sebabnya gesit bekerja - kami mengakui keterbatasan kami dalam memperkirakan, dan melakukan yang terbaik untuk memecah hal-hal menjadi potongan terkecil yang mungkin.

Bryan Oakley
sumber
2

Mintalah Anda Scrum Master untuk mengklarifikasi, tujuan dari Sprint dan Stand Up Meeting. Hampir setiap orang yang bekerja dengan Scrum akan mengatakan tujuan dari Sprint adalah untuk memutuskan apa yang akan dilakukan selama Sprint dan saya belum pernah mendengar tentang apa pun yang terjadi selama sprint.

Mungkin Anda memiliki keadaan darurat untuk diperhatikan yang benar-benar tidak ada hubungannya dengan sprint. Tim / pengembang yang memiliki tugas-tugas ini di luar sprint, perlu memastikan mereka tidak termasuk waktu untuk melakukan ini sebagai bagian dari perencanaan sprint. Mungkin Anda memiliki hari kerja 8 jam, tetapi jika Anda menghabiskan 1-2 jam memadamkan api, Anda tidak bisa berharap untuk memasukkannya sebagai bagian dari perkiraan.

Sejauh pertemuan standup pergi, Anda mungkin ingin menyarankan beberapa sistem lain untuk melacak ketika tugas-tugas langsung tertentu akan selesai seperti semacam sistem tiket dukungan. Ini seharusnya tidak dibahas selama standup.

Sepertinya master scrum Anda perlu dilatih ulang atau memikirkan kembali mengapa Anda melakukan Scrum sejak awal. Ini tidak cocok untuk semua grup dan situasi. Seseorang di atas belum membeli ke dalamnya.

JeffO
sumber
"tujuan dari Sprint adalah untuk memutuskan apa yang akan dilakukan selama Sprint": Dan bahkan tujuan ini mungkin tidak tercapai karena perkiraan yang salah, misalnya ketika detail implementasi tambahan menjadi jelas selama implementasi itu sendiri.
Giorgio
@Iorgio - Saya akan mengatakan tujuan dari sprint adalah untuk memutuskan apa yang Anda "coba" lakukan. Jika Anda gagal, gunakan itu untuk merencanakan sprint berikutnya. Itulah manfaat dari proses berulang. jika ini gagal total, potong saja sprint dan mulai yang baru. Tidak ada yang bisa diperoleh untuk perencanaan di masa depan ketika Anda membuat kesalahan perhitungan yang drastis selain tidak membuat kesalahan yang sama.
JeffO
2

Saya telah mengalami pengelolaan mikro seperti ini dan cara saya berhasil menanganinya adalah dengan menjadi sangat transparan dan komunikatif. Tidak butuh waktu lama untuk mendapatkan kepercayaan manajer; Anda membangun kepercayaan dan mereka mundur. Kadang-kadang bahkan memberi Anda lebih banyak ruang dan garis lintang. Manajer Anda mungkin merasa tidak aman atau tidak terkendali sehingga ini memudahkan mereka. Jelas itu tidak ideal tetapi Anda adalah tim dan Anda semua harus menginginkan hasil yang sama. Semoga berhasil.

Nicole N
sumber
Empati Itu keterampilan yang kuat tidak semua orang menguasai :-). Namun, baik untuk memahami mengapa Manajer sangat menekankan pada perencanaan, ketika di Agile, penekanannya difokuskan pada orang-orang. Memahami rasa sakit dari Manajer dapat membantu untuk mengonsekstualisasikan mengapa presure. Namun, Manajer dan perusahaan harus mewaspadai estimasi hanya itu. Asumsi. Bukan matematika, jadi mereka harus berlatih empati juga terhadap pengembang dan memberi mereka kredit.
Laiv
1

"Itu akan dilakukan ketika sudah selesai."

Tidak ada nilai dalam mencoba mendapatkan estimasi penyelesaian dari pengembang. Perkiraan tidak akurat, terutama jika berbasis waktu. Selain itu, orang-orang dalam peran manajerial memiliki kecenderungan untuk menginterpretasikan estimasi tersebut sebagai komitmen, yang menghasilkan efek merusak yang dirasakan pengembang Anda.

Salah satu opsi adalah menghindari menjawab pertanyaan dalam hal komitmen waktu.

"Tugas ini akan dilakukan setelah aku melakukan hal-hal A, B, dan C."

"Oke. Dan berapa lama itu akan berlangsung?"

"Kita akan melihat pada akhir hari."

Mengubah pembicaraan dari komitmen waktu ke apa yang perlu dilakukan dapat membantu mengambil tepi dan menunjukkan bahwa "berapa lama waktu yang dibutuhkan untuk menyelesaikan" kurang penting daripada "apa yang harus dilakukan."

binskits
sumber
2
Saya setuju bahwa umumnya tidak ada gunanya memberikan perkiraan hingga saat ini, terutama untuk sesuatu yang kreatif seperti pemrograman yang membutuhkan banyak pekerjaan tanpa gangguan. Tetapi orang lain secara sah perlu tahu kapan kita akan siap, jadi perkiraan diperlukan pada skala hari atau minggu. Jika "scrum" menghalangi hal itu, maka scrum dan bukan estimasi adalah masalahnya. Berita baiknya: perkiraan menjadi lebih baik saat Anda mempraktikkannya, dan dapat dilindung nilai: "ada kemungkinan 50-50 saya siap hari ini, kalau tidak besok pagi". Saya juga punya pengalaman bagus dengan teknik-teknik seperti perencanaan poker.
amon
Saya setuju bahwa estimasi dapat berguna bagi orang-orang di luar tim, tetapi jawaban saya khusus untuk pertanyaan OP tentang bagaimana menangani manajemen mikro selama standup.
binskits
1

Jangan terintimidasi oleh master scrum. Bicaralah secara terbuka dan terus terang tentang pekerjaan di depan. Ajukan pertanyaan seperti apa urgensinya. Mengapa harus dilakukan oleh 4? Jika itu benar-benar perlu dilakukan, tugas lain mungkin perlu didorong sampai nanti. Ini kesempatan Anda untuk membangun truss. Jawaban Frank lebih baik lebih awal daripada alasan nanti.

Randy Moulton
sumber
1

Semakin "mikro" manajemen, semakin sulit untuk membuat prediksi yang akurat. Jika saya memiliki 20 tugas delapan jam, itu adalah tugas yang diperkirakan cukup memakan waktu masing-masing delapan jam, yang harus dilakukan dalam empat minggu, atau mungkin beberapa hari lebih atau kurang. Jika saya memiliki satu tugas seperti itu, ada lebih banyak variabilitas.

Tugas seperti itu mungkin memakan waktu 10 menit jika masalah yang harus dipecahkan ternyata jauh lebih mudah daripada yang saya kira. (Telah terjadi pada saya, saya memperkirakan bahwa saya perlu menulis cukup banyak kode, dan ternyata orang lain sudah menulis apa yang saya butuhkan). Atau mungkin memerlukan waktu seminggu (kode saya tidak berfungsi karena bug di perpustakaan yang perlu diperbaiki yang kemudian memiliki semua jenis konsekuensi jahat). Untuk dua puluh tugas, semua ini seimbang. Bukan untuk satu tugas.

Seseorang meminta Anda untuk memprediksi masa depan. Kamu tidak bisa melakukan itu Dan meminta untuk memprediksi satu peristiwa, statistik tidak membantu Anda. Orang yang menanyakan pertanyaan-pertanyaan ini tidak mengerti arti dari "perkiraan" Jadi jika Anda ditanya "apakah ini akan dilakukan dalam empat jam", jawaban yang mungkin adalah "sangat mungkin", "mungkin, mungkin tidak" dan "sangat tidak sepertinya".

gnasher729
sumber
1

Ini pertanyaan yang bagus. Saya akan menjawab dari sudut pandang seseorang dengan pengalaman 30 tahun dengan satu dekade sebagai manajer proyek yang berdedikasi di semua bidang kecuali pengembangan perangkat lunak tetapi baru-baru ini tersandung ke dalam pengembangan perangkat lunak area secara tidak sengaja. Terlepas dari metodologi yang digunakan di tim Anda dan apa namanya, pada akhir proyek pengembangan adalah sama dengan yang lain dalam pengertian bisnis bahwa tujuan harus dipenuhi dalam persaingan waktu, anggaran, dan kualitas yang bersaing - - dan sementara proyek dijalankan, bisnis terus bergerak dan berkembang dan memiliki peluang bagus untuk menyuntikkan perubahan ke dalam proyek Anda. Oleh karena itu, perlu untuk menetapkan dan berkomitmen pada tujuan dan kerangka waktu dan untuk dapat memberikan pembaruan secara berkala dan ketika ditanya. Saya tidak

Yang sedang berkata, dalam pengalaman saya apa yang membuat estimasi waktu dalam pengembangan perangkat lunak sangat menantang adalah bahwa proyek pengembangan memerlukan banyak wilayah yang belum dipetakan. Definisi teknis dari "proyek", menurut Badan Manajemen Pengetahuan Proyek Manajemen Lembaga Proyek, adalah bahwa proyek harus unik. Namun, sebagian besar "proyek" di TI hanyalah eksekusi ulang cetak biru & desain yang dirancang sebelumnya dan buku-buku implementasi. Dalam pengembangan perangkat lunak, kami memiliki kerangka kerja dan berbagai pola desain umum yang membuat banyak pengembangan dapat digunakan kembali tetapi tetap saja, inti dari setiap proyek benar-benar unik.

Selain itu, sebagian besar proyek pengembangan mensyaratkan pengintegrasian dengan sistem lain dan seberapa cepat yang dapat dilakukan merupakan tebakan besar. Saya sedang mengerjakan sebuah proyek sekarang bahwa perkiraan waktu asli saya didasarkan pada asumsi bahwa 4 sistem yang saya perlukan untuk berinteraksi dengan pemrograman akan memiliki API, dan ternyata tidak ada yang berhasil. Selain itu, salah satu sistemnya adalah cloud host, dan organisasi saya memiliki kebijakan yang melarang pekerjaan yang dilakukan. Siapa yang bisa meramalkan itu?

Karena penemuan dibuat yang membuat kerangka waktu dalam bahaya, penting untuk mengomunikasikan dengan baik mengapa penundaan itu muncul, mengapa itu tidak dapat diramalkan, dll.

Saya juga sudah diberi tahu kerangka waktu yang diberikan tidak akan berhasil dan membuatnya terjadi "lebih cepat". Variasi lain diberikan banyak muatan perubahan untuk disuntikkan ke dalam pembangunan tanpa juga diberi waktu tambahan. Ada hukum dalam fisika yang mengatakan bahwa materi tidak dapat diciptakan atau dihancurkan, dan ini terlintas dalam pikiran karena menurut saya waktu tidak dapat diciptakan dari udara tipis juga. Mempercepat pengembangan kemungkinan akan berdampak negatif pada kualitas rilis, daya dukung produk, dan / atau pengembangan produk di masa depan.

Permintaan tentang jadwal harus dijawab dalam istilah bisnis umum. "Ya, kami berada di jalur untuk memenuhi kerangka waktu yang sebelumnya dilakukan, dan tidak ada masalah pembuatan bir yang membahayakan itu". Permintaan untuk menambah ruang lingkup yang signifikan tanpa lebih banyak waktu, atau hanya mempercepat pengiriman, harus berupa "kita bisa melakukan itu, tetapi hanya agar semua sadar bahwa secara inheren membawa risiko bug karena banyak waktu pengembangan dilakukan untuk menjadi proaktif sehingga untuk tidak memperkenalkan bug dan juga untuk menguji secara komprehensif. " Ketika mereka merespons dengan "jadi uji saja lebih cepat", itu mendapat respons yang menjelaskan pengujian pengembangan tidak memerlukan waktu idle dan dapat dipercepat tanpa menimbulkan risiko cacat yang hilang.

Singkatnya, saya hanya menyarankan agar semua pengembang - tidak hanya lead, scrum master, atau manajer proyek, bersiaplah untuk membahas tugas-tugas mereka dalam konteks bisnis dan untuk berdiskusi tentang mengubah parameter proyek dengan menyadarkan timbal balik yang akan menghasilkan.

Thomas Carlisle
sumber
Ini jawaban yang menakutkan. Tidak sampai paragraf keenam saya melihat sesuatu yang menyerupai jawaban yang bisa ditindaklanjuti, dan saya hampir berhenti membaca sebelum sampai di sana. Anda mungkin ingin mempertimbangkan menulis ulang untuk memimpin dengan jawaban akhir ("Permintaan tentang jadwal harus dijawab dalam istilah bisnis umum"), dan kemudian ikuti dengan penjelasannya.
Bryan Oakley
0

Saat pekerjaan dilakukan atau diselesaikan, perkiraan sisa pekerjaan diperbarui.

- Panduan Scrum , halaman 15

Setiap pengembang harus memperbarui status tugas mereka dan memperkirakan sisa jam masing-masing dan setiap hari dalam alat produktivitas apa pun yang digunakan tim Anda (misalnya TFS).

Jadi jawaban sederhana untuk manajer Anda adalah mengarahkannya ke kolom "sisa jam" pada daftar tugas. Mudah-mudahan dia akan belajar bahwa dia dapat mengakses angka-angka ini sendiri dan berhenti mengajukan pertanyaan bodoh.

John Wu
sumber
1
Panduan Scrum tidak mengatakan apa-apa tentang bagaimana pekerjaan itu diperkirakan. Bisa jadi pekerjaan itu dipecah menjadi tugas dan pembaruan didasarkan pada penyelesaian tugas dan tugas yang tersisa.
RibaldEddie
Jika tugas dibagi menjadi beberapa subtugas, master scrum harus tetap dapat melihat bagaimana perkiraan saat ini.
mr
0

Dengan mengajukan salah satu pertanyaan di atas. Apa yang scrum master coba putuskan adalah apakah kita berada di jalur untuk sprint ini dan Apakah ada masalah pemblokiran bagi Anda untuk dapat bersaing dengan tugas ini.

Poin cerita tidak berkorelasi dengan jam kerja, itu tidak dimaksudkan untuk itu, tetapi dengan bertanya apakah Anda dapat melakukan sesuatu dengan kencan dia benar-benar bertanya apa yang menghentikan Anda dari bersaing dengan tugas ini? Jika Anda butuh sesuatu bertanya, dalam pandangan saya perannya adalah untuk memastikan Anda mampu bersaing dengan sprint, itulah yang sebenarnya ia tanyakan ....

JamesD
sumber