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?
agile
scrum
user-story
sdlc
Derek
sumber
sumber
Jawaban:
"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.
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.
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.
sumber
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.
sumber
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.
sumber
"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."
sumber
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.
sumber
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".
sumber
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.
sumber
- 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.
sumber
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 ....
sumber