Saya baru-baru ini mewawancarai beberapa perusahaan yang melakukan Agile, Scrum agar lebih tepat dan ada beberapa hal yang sepertinya tidak Agile bagi saya. Saya akan mengambil satu kasus yang sangat menarik minat saya saat ini, yaitu sprint Scrum.
Satu manajer proyek tertentu yang saya ajak bicara (ya, saya katakan manajer proyek) dengan bangga menyatakan bahwa orang-orang di timnya mengerti ("diberi tahu" adalah apa yang saya ambil dari konteks) bahwa Anda tidak pulang ketika jam kerja selesai , Anda pulang saat pekerjaan selesai, tidak peduli berapa banyak yang dibutuhkan. Apa yang saya baca di sela-sela adalah bahwa kita mengemas fitur sebanyak mungkin ke dalam sprint dan bekerja lembur untuk mewujudkannya.
Sekarang, saya belum melakukan Agile sekarang (bekerja dengan lembaga keuangan dan pemerintahan yang sebagian besar masih lebih suka air terjun) tetapi pemahaman saya adalah bahwa:
- sprint in Scrum adalah nama untuk iterasi umum dalam Agile;
- tim harus bekerja dengan kecepatan yang berkelanjutan dan mencoba untuk menghindari lembur jangka panjang karena itu hanya berdampak pada waktu yang singkat dan efeknya dikerdilkan oleh masalah yang mereka hadapi dalam waktu yang lama.
Apakah pernyataan saya benar? Dan, haruskah saya menganggap presentasi manajer sebagai bendera merah?
sumber
Jawaban:
Anda tidak perlu mencari jauh untuk melihat bahwa praktik-praktik ini bertentangan dengan prinsip-prinsip di balik Agile. Salah satu prinsip di balik Agile Manifesto menyatakan:
Beberapa tahun yang lalu, Scrum membuat halus namun penting perubahan . Alih-alih tim berkomitmen untuk pekerjaan yang dapat dicapai, mereka meramalkan apa yang mereka pikir bisa mereka lakukan.
Perubahan itu terjadi karena pelecehan, yang terdengar sangat mirip dengan sikap jangan-pulang-sampai-selesai yang Anda gambarkan. Dalam pengembangan, ada banyak faktor di luar tim yang tidak dapat mereka komit - untuk menggunakan analogi cuaca, Anda tidak bisa "berkomitmen" bahwa besok akan hujan.
Untuk langsung menjawab pertanyaan Anda:
sumber
Ya, Anda benar, dan jika saya diberi tahu apa yang Anda katakan, saya akan lari dari sana secepat mungkin. Mereka hanya menggunakan gesit sebagai alasan. Kedengarannya seperti mars kematian klasik.
sumber
Ada satu hal kunci yang dapat membuat ini diterima: tim menerima lingkup sprint.
Di Scrum, tim tidak hanya mendapatkan pekerjaan yang ditugaskan. Pemilik produk bernegosiasi dengan tim untuk memprioritaskan pekerjaan produk dan pekerjaan teknis (hutang). Manajer proyek, pemilik produk, dan tim kemudian bernegosiasi tentang apa yang ditarik ke dalam sprint dan apa ruang lingkup pekerjaan itu.
Di dunia ini, tim pada dasarnya mengatakan "kita bisa menyelesaikan pekerjaan X, diuji dan dikirimkan iterasi ini". Jadi saya berharap tim untuk sesekali bekerja lembur untuk memenuhi komitmen ini.
Yang mengatakan, begitu banyak tempat bajingan lincah - dan begitu sedikit pemimpin tim dapat bernegosiasi secara efektif dengan orang-orang yang biasanya bos mereka ... Saya akan menganggap ini sebagai bendera merah besar.
sumber
Scrum dipecah menjadi sprint di mana Anda memperkirakan satu set tugas yang harus diselesaikan dalam durasi sprint itu (biasanya 2 minggu, tetapi saya telah melihat di mana saja dari 1 hari hingga 4 minggu). Saya pikir ini menciptakan insentif untuk tugas yang salah. PO (pemilik produk) menginginkan estimasi rendah untuk mendapatkan komitmen besar per sprint. Tim akan memberikan perkiraan besar untuk menghasilkan grafik burndown yang bagus untuk dilihat oleh para PM. Ini, tentu saja, menunjukkan organisasi yang jelek. Anda benar-benar ingin mendapatkan perkiraan yang akurat dan tidak takut gagal atau membawa cerita ke sprint berikutnya atau menyelesaikan awal dan menarik tugas tambahan dari jaminan. Saya pikir istilah "sprint" menciptakan gambar orang yang bekerja lebih cepat.
sumber
Tidak: scrum sprint adalah kotak waktu, tidak lebih, tidak kurang. Pada awal sprint / iterasi, tim memberikan perkiraan jumlah poin cerita yang mereka yakini dapat mereka capai, berdasarkan hal-hal seperti kinerja sebelumnya, ketersediaan, acara mendatang, hambatan terbuka, dll. Mereka kemudian bernegosiasi dengan pemilik produk tentang cerita pengguna mana yang dimasukkan ke dalam sprint. Yaitu (atau tadi? Lihat jawaban lain) komitmen yang diberikan tim kepada pemilik produk.
Selama pengembangan, jika ternyata hal-hal tidak benar-benar seperti yang diperkirakan (ini adalah pengembangan perangkat lunak setelah semua) dan ada risiko tim tidak akan memenuhi komitmen, mereka memberi tahu pemilik produk bahwa ada risiko satu atau lebih cerita akan tidak selesai.
Dan itu tidak masalah. Tentu, rasanya tidak enak, harus mengakui pada akhir sprint bahwa sprint gagal, tapi ini bukan kekalahan, ini adalah peluang untuk perbaikan. Karena pada akhir sprint / mulai yang baru, Anda bisa melakukan sprint retrospektif, dan hal pertama yang akan ditanyakan siapa pun adalah 'Mengapa kita gagal sprint ini, dan apa yang perlu kita lakukan untuk tidak gagal lagi ? ' Salah satu opsi adalah memberikan lebih sedikit komitmen (= mengambil lebih sedikit poin cerita).
tl; dr: Pace Berkelanjutan. Scrum adalah tentang irama, sesuatu yang dapat dipertahankan tim tanpa batas waktu berdasarkan sprint-to-sprint. Bekerja lembur bukan; tim akan menjadi terlalu banyak bekerja, pekerjaan akan menjadi ceroboh, anggota akan memanggil sakit atau berhenti sama sekali, dan kemudian Anda memiliki masalah yang jauh lebih besar daripada lari cepat yang gagal.
sumber
Dari orang-orang Agile Manifesto
Bekerja lembur sepanjang waktu tidak terdengar berkelanjutan bagi saya.
Yang mengatakan, saya melihat tidak ada masalah dengan komitmen pegas menjadi yang kuat (jika itu cara tim ingin bekerja), dan harus bekerja lembur ketika Anda berkomitmen berlebihan atau mengacaukan perkiraan adalah insentif yang baik untuk menjadi lebih baik dalam memperkirakan atau berkomunikasi. harapan untuk PO.
sumber
Itu bukan Scrum. Beban kerja yang diusulkan untuk kotak waktu didasarkan pada kecepatan tim , bukan pada daftar keinginan manajer. Mereka hanya mencoba menipu Anda agar percaya bahwa bekerja lembur tanpa akhir adalah "Agile", padahal sebenarnya tidak. Tim akan menjadi lebih efisien saat bekerja tanpa terganggu dan fokus, tetapi Scrum bukanlah tongkat ajaib untuk keuntungan efisiensi yang tiada akhir .
Entah manajer memiliki sedikit kesalahpahaman tentang Agile, atau (lebih mungkin) ia berpikir bahwa pengembang itu bodoh. Di sisi lain, ketika tim menerima sprint lagi dan lagi, mengetahui bahwa mereka perlu melakukan kerja lembur, mungkin mereka memang bodoh dan tidak pantas mendapatkannya lebih baik?
Saya kira, Anda tahu jawabannya ... ;-)
sumber