Bagaimana Anda menangani biaya perubahan yang terlalu cepat?

11

Seperti kebanyakan pengembang modern, saya menghargai para pelaku Agile seperti kolaborasi pelanggan dan menanggapi perubahan, tetapi apa yang terjadi ketika seorang pemilik produk (atau siapa pun yang menentukan persyaratan dan prioritas) terlalu sering mengubah persyaratan dan prioritas? Seperti beberapa kali sehari?

Saya baru-baru ini mewarisi basis kode bertubuh kecil yang buggy, tidak lengkap, dan bahkan tidak bisa menangani skenario paling sederhana yang seharusnya. Saya dapat menangani masalah teknis tetapi saya mendapatkan beberapa email, teks, atau panggilan telepon sehari yang mengatakan "OMG, Anda HARUS mengerjakan ini SEKARANG! PRIORITAS TOP! Ini adalah HARUS !!! satu orang" (itu hanya sedikit berlebihan) Apa yang membuatnya lebih buruk adalah bahwa sebagian besar hal adalah detail kecil yang bahkan tidak relevan dengan apa yang seharusnya dilakukan oleh perangkat lunak dan bagaimanapun juga akan memakan waktu berhari-hari untuk diterapkan. Saya telah mencoba menjelaskan bahwa hanya ada begitu banyak waktu dan bahwa kita harus fokus pada hal-hal yang paling penting terlebih dahulu, tetapi ada sesuatu yang hilang dalam terjemahan karena hal yang sama terjadi sehari atau dua hari kemudian.

Apakah ada semacam peran Product-Owner-Handler, studi mendalam, metafora, atau kutipan yang dapat membantu saya mengurangi jumlah upaya yang terbuang atau setidaknya menjelaskan biaya dari perilaku kacau ini?

Trystan Spangler
sumber
Apakah tim Anda mengikuti semacam metodologi tangkas?
Aaron Kurtzhals
Saya akan mengatakan bahwa kami seperti tangkas, tetapi jangan mengikuti metodologi tangkas tertentu selain dari apa yang diberlakukan atau didukung oleh alat (PivotalTracker, Jenkins, dll).
Trystan Spangler
Anda mengatakan lincah, saya akan mengatakan lincah-tetapi;)
Marcin Sanecki

Jawaban:

12

Ini adalah tujuan dari jaminan simpanan. Permintaan baru dimasukkan ke dalam jaminan simpanan, dan prioritas hanya dapat berubah pada batas iterasi. Rata-rata keterlambatan satu minggu (setengah dari sprint dua minggu) cukup lincah untuk menangani semua kecuali keadaan darurat yang paling mengerikan.

Karl Bielefeldt
sumber
5
+1 untuk apa satu-satunya jawaban yang benar. Bagaimana Anda mengatakannya - "Setelah iterasi dimulai, Anda tidak dapat mengubahnya." Bagian mana dari 'TIDAK BISA' yang tidak Anda mengerti?
mattnz
Memberi +1 pada jawaban dan komentar mattnz ("Bagian mana dari 'TIDAK BISA' tidak Anda mengerti?"): Saya memiliki masalah yang sama: iterasi tiga minggu dan selama minggu ketiga seorang kolega mulai menjadi sangat kreatif dan untuk berubah / Pindahkan segalanya. Agile berarti banyak fleksibilitas tetapi ada beberapa batasan yang lebih rendah untuk itu: setelah Anda memperbaiki beberapa unit kerja minimum Anda harus fokus pada mereka tanpa terganggu.
Giorgio
Saya setuju bahwa ini adalah tujuan dari jaminan simpanan, namun, Anda diizinkan untuk menjatuhkan item dari iterasi, atau bahkan menukarnya dengan item dengan upaya yang sama, selama Anda belum mulai mengerjakan item yang dijatuhkan / ditukar.
Joshua Drake
Saya setuju bahwa tim harus dapat memilih untuk mengizinkan perubahan mid-sprint atau tidak. Terlalu banyak perubahan yang diberlakukan secara eksternal mengganggu, apakah Anda sudah memulainya atau tidak. Terserah masing-masing tim untuk memutuskan berapa "terlalu banyak". Kadang-kadang Anda harus menetapkan angka itu di nol agar orang mendapatkan gambar.
Karl Bielefeldt
9

Inilah cara saya menangani masalah yang sama .. Kembali pada hari-hari ketika kita gesit sebelum Agile.

Untuk setiap permintaan perubahan, pelanggan menetapkan prioritas. Pengembang hanya dapat, dan harus, berhenti mengerjakan tugas untuk mengerjakan tugas dengan prioritas lebih tinggi. Tugas prioritas yang sama adalah jadwal dalam urutan kedatangan. (Prioritas Tugas tidak dapat diubah setelah pekerjaan dimulai.)

Ini akan menyakitkan ketika Anda memberi tahu pelanggan bahwa Anda tidak dapat mengerjakan tugasnya karena Anda mengerjakan tugas X yang tidak penting yang memiliki prioritas yang sama dengan permintaan terakhirnya. Anda kemudian memberi tahu dia bahwa pada tingkat prioritas itu ada 50 tugas sepele dan tidak penting sebelum permintaan terakhirnya. Sekarang tangkapan yang sebenarnya - semua tugas ini berada pada tingkat prioritas 1 (Tertinggi), ditetapkan oleh ... DIA ... Jadi dia tidak dapat menabrak Anda dari tugas yang sedang Anda lakukan. Sekarang, setelah Anda selesai memindahkan bingkai jendela 3 piksel ke kiri untuk memberikan ruang bagi kata yang lebih panjang dalam terjemahan Islandia pada opsi konfigurasi yang jarang digunakan .....

Saya juga menutup pintu ke kantor SD, menguncinya dan mengambil telepon dari hook. Email diabaikan sampai pukul 10:00, 12:00, dan 14:00. Terlepas dari apa yang dipikirkan dan dirasakan orang-orang, dunia masih diliputi matahari, kami menyelesaikan pekerjaan kami dan "Pelanggan" mendapatkan perangkat lunak yang dikirimkan kepada mereka lebih cepat dan lebih baik daripada waktu di masa lalu.

Butuh beberapa minggu untuk prioritas untuk menyelesaikan sesuatu yang lebih realistis, kami dapat membuka pintu dll ... Tapi sistem tetap untuk waktu yang cukup lama. Anda mungkin tidak perlu terlalu ekstrem (kami melakukannya), dan akan membutuhkan dukungan dari manajemen senior. Tapi itu akan berhasil ....

mattnz
sumber
+1 "Prioritas Tugas tidak dapat diubah setelah pekerjaan dimulai." Agile hanya memungkinkan pengembang untuk menjatuhkan item dari iterasi yang belum mereka mulai kerjakan.
Joshua Drake
Saya suka ide pelanggan menetapkan prioritas, bagian yang sulit adalah menetapkan hukum dan mengatakan 'Saya sudah mulai pada tugas X, tidak, Anda tidak dapat mengubah prioritas sekarang'
sevenseacat
2

SUAP. Prosedur Operasi Standar (atau setidaknya protokol longgar yang ditandatangani oleh tim manajemen Anda). Departemen Anda perlu mengembangkannya, atau bekerja dengan tim manajemen Anda untuk mengembangkannya. Orang-orang yang perlu Anda ajak bicara berada di atas manajer produk-pemilik / akun.

Beberapa contoh apa yang harus didefinisikan oleh SOP Anda.

  • Prosedur apa yang harus diikuti ketika klien atau entitas internal meminta perubahan
  • Apa implikasi dan / atau dampaknya terhadap kontrol kualitas atau verifikasi produk ini?
  • Apa metode untuk menentukan jangka waktu pengiriman yang wajar? Iterasi ini? Versi selanjutnya?

Tanpa prosedur seperti itu di tempat, semua orang akan berjalan pada Anda seperti mereka dikejar oleh zombie dan mengharapkan semuanya SEKARANG SEKARANG SEKARANG. Orang-orang seperti itu tidak akan menghormati sopan Anda 'tidak' atau 'tolong tunggu. Dengan kebijakan yang tegas, mutan-keinginan ini akan mengerti bahwa mereka salah ketika meminta hal-hal yang longgar.

Hasil akhirnya tidak menyenangkan Anda, dan itu bukan yang terbaik bagi perusahaan Anda.

Di samping catatan, Anda mungkin telah mewarisi kekacauan seseorang yang disebabkan oleh sikap tidak hormat yang terang-terangan untuk posisi dan tugasnya. Orang-orang dalam situasi itu cenderung sulit untuk menghasilkan produk yang berkualitas. Apakah itu mengherankan? Rekayasa perangkat lunak 101.

Styler
sumber
2

Sangat sulit untuk bekerja dalam kondisi "siap, tembak, bidik" ini. Bagi saya sepertinya Anda menerima persyaratan dari orang yang sangat tidak aman, yang pendapatnya berubah setiap kali orang yang lebih tinggi menyarankan ide konseptual.

Dalam situasi seperti ini, saya merasa berharga untuk menunggu SETIDAKNYA satu jam sebelum menanggapi email. (Saya akan mengabaikan teks, kecuali mengirim pesan teks telah banyak menggantikan email oleh organisasi Anda secara keseluruhan.) Baca, mungkin, tetapi tidak merespons. Dengan cara ini Anda dapat menghabiskan waktu Anda berfokus pada pekerjaan aktual yang perlu Anda lakukan, bukan diskusi tentang urgensi acak yang mungkin menjadi tidak relevan besok, atau bahkan dua atau tiga email kemudian. Dalam pekerjaan terakhir saya, jika ada sesuatu yang BENAR-BENAR mendesak, seseorang akan datang dan berbicara langsung dengan saya, dengan asumsi saya belum melihat email-email itu (jika Anda bekerja dari jarak jauh, panggilan telepon dengan percakapan dua arah yang sebenarnya mungkin adalah setara).

Ketika Anda memiliki percakapan tatap muka atau telepon, akan sangat membantu untuk mengulangi apa yang orang tersebut minta dengan kata-kata Anda sendiri, dan kemudian ajukan pertanyaan Anda tentang persyaratan dan prioritas baru. "Jika saya mengerti dengan benar, Anda mengatakan bahwa kami harus berhenti bekerja pada Prioritas Utama Saat Ini X dan sekarang fokus pada Prioritas Y Menit. Itu adalah perubahan besar. Bisakah Anda menjelaskan perubahan dalam bisnis? Saya mungkin perlu melakukan lebih banyak latar belakang berfungsi daripada hanya mengubah UI. Apakah akan ada perubahan dalam proses bisnis lain, seperti penagihan atau inventaris (misalnya)? Apakah Anda akan mengharapkan elemen data baru ini muncul di semua laporan bulanan? " Juga berguna untuk mengatakan sesuatu dengan efek "Anda mengerti bahwa jika kita melanjutkan upaya baru ini, itu akan menunda pelepasan Prioritas Utama Saat Ini X setidaknya (seminggu, sebulan,

Jika ini benar-benar darurat, pemohon harus dapat menjawab pertanyaan-pertanyaan semacam ini, atau segera merujuk Anda ke seseorang yang bisa. Jika ini bukan keadaan darurat yang sebenarnya, percakapan seperti ini akan memaksa pemohon melambat dan menentukan seberapa pentingkah perubahan itu, mengingat mereka perlu memberi Anda lebih banyak informasi. Seringkali mereka akan melihat bahwa apa yang sudah ada di dalam pipa lebih penting, atau setidaknya tidak layak untuk dihentikan, dan permintaan baru dapat masuk dalam daftar.

Jika perubahan dianggap perlu, saya merasa berguna untuk menuliskan apa yang diminta dan pemahaman Anda tentang perubahan dalam email, dan mengirimkannya ke pemohon semula, menanyakan apakah mereka setuju dengan ruang lingkup perubahan, lagi, sebagai klarifikasi. Dengan cara ini Anda telah menulis dokumentasi tentang apa yang perlu dilakukan, dan mengapa itu diminta, jika ada pukulan balik mengapa Anda tidak lagi bekerja pada Prioritas Utama Saat Ini X, atau perlu menjelaskan mengapa tenggat waktu asli tidak berjalan harus dipenuhi.

Mudah-mudahan ini akan meningkatkan hubungan Anda dengan pemohon, karena Anda menunjukkan pengetahuan Anda, dan memastikan bahwa Anda mengerjakan apa yang mereka inginkan, tetapi Anda jujur ​​tentang apa yang diperlukan untuk melakukan perubahan. Dengan bertanya tentang permintaan itu secara terperinci, mereka melihat bahwa Anda berpikir ke depan, dan mempertimbangkan hal-hal yang semula mungkin tidak mereka miliki.

Jennifer S
sumber
0

Sepertinya belum ada yang menyebutkannya, Sprint dan cerita penggunanya ideally should be locked till the next sprint(sprint biasanya memakan waktu 2-4 minggu). Dengan mengunci - maksud saya tidak ada tugas tambahan yang harus ditambahkan ke dalam Sprint yang sudah dimulai.

Jika cerita pengguna cukup besar untuk tidak masuk ke sprint maka rem ke bawah untuk tugas-tugas yang lebih kecil dan dapat dicapai selama sprint. Juga, seperti yang disebutkan, bahkan tugas-tugas yang diprioritaskan perlu disimpan dalam jaminan simpanan , dan selama perencanaan sprint berikutnya, prioritas tinggi sekali bangun bendera :)

Sunting: hanya perubahan kecil yang dapat diperkenalkan selama musim semi. jika mereka membawa keadaan darurat. Namun, jika selalu ada beberapa keadaan darurat selama sprint, maka sesuatu perlu ada perubahan dalam perencanaan Sprint itu sendiri.

Yusubov
sumber
0

Scrum memiliki peran Master Scrum, yang akan menjadi orang yang harus mengatasi masalah yang Anda sebutkan.

Jika ada seseorang seperti pemimpin tim, manajer proyek, scrum master, dll. Yang bertanggung jawab, saya akan berbicara dengan orang itu.

Saya sudah mencoba menjelaskan bahwa hanya ada begitu banyak waktu dan bahwa kita harus fokus pada hal-hal yang paling penting terlebih dahulu, tetapi ada sesuatu yang hilang dalam terjemahan karena hal yang sama terjadi sehari atau dua hari kemudian.

Saya pikir Anda harus terus menjelaskan itu lagi dan lagi dan lagi. Sepertinya Anda mungkin perlu menerima bahwa orang-orang tertentu yang bekerja dengan Anda memiliki kebiasaan yang tidak membantu. Jika Anda beruntung, Anda akan melihat perubahan pada akhirnya.

Aaron Kurtzhals
sumber
0

Agile Manifesto mengatakan bahwa salah satu kepala sekolah yang paling mendasar adalah:

Selamat datang perubahan persyaratan, bahkan terlambat dalam pengembangan. Proses tangkas memanfaatkan perubahan untuk keunggulan kompetitif pelanggan.

Namun, saya tidak percaya bahwa itu berarti perubahan setiap hari. Anda mungkin perlu mengubah harga dasar suatu produk beberapa kali sehari, tetapi tidak mengubah cara produk itu dijual berkali-kali sehari. Alih-alih alur kerja penjualan suatu produk mungkin berubah setiap minggu (dalam bisnis yang sangat responsif dan dinamis).

Sekali lagi, sementara alur kerja penjualan suatu produk mungkin berubah setiap minggu, saya pikir keseluruhan produk tidak akan berubah setiap minggu. Saya tidak bisa membayangkan Microsoft yang hari ini memberi kami Office, tetapi besok akan memberi kami Offooose, dan seminggu kemudian Offasooooooooooos.

Tidak, bukan itu yang gesit artinya dengan perubahan. Saya percaya bahwa itu datang dari visi yang buruk, dan kesalahpahaman yang mendalam tentang konsep perubahan.

Apalagi menyebutkan bahwa perubahan tidak disambut dalam sprint, di mana pengembang pergi ke gua - gua mereka dan memang perlu berkonsentrasi pada apa yang mereka lakukan. Sebaliknya, perubahan harus ditambahkan ke Product Backlog, dan dianalisis dan diprioritaskan sebelum dikirim ke tangan tim scrum. Dengan kata lain, Sprint Backlog tidak dapat diubah. Kelincahan yang lebih banyak harus dicari dengan menggunakan sprint yang lebih pendek, bukan dengan menyuntikkan langsung ke kamar pengembang, berkali-kali sehari.

Saeed Neamati
sumber