Agile MVP (Pemain / Programmer Paling Berharga)

9

Baru-baru ini saya terlibat dalam proyek tangkas (menggunakan scrum) di mana manajemen muncul dengan gagasan bahwa tim akan mencalonkan pengembang 'MVP' serta QA 'MVP' di akhir setiap sprint, yang dipilih oleh tim. MVP kemudian mendapat hadiah uang kecil dan makan siang gratis serta piala untuk ditampilkan di mejanya. Kami telah memiliki dua sprint sejauh ini dengan sistem penghargaan ini.

Hal baik yang saya lihat dari ini adalah sebagai berikut:

  • Lebih banyak bug telah diperbaiki (yang ingin dilihat oleh manajemen tingkat atas, sejumlah perubahan ke arah yang mereka inginkan)
  • MVP dari masing-masing 'tim' diakui dan mendapat dorongan harga diri (atau apakah itu dorongan ego?)

Saya perhatikan beberapa hal yang saya anggap sisi buruk untuk melakukan hal seperti itu (setidaknya dari sudut pandang pengembang):

  • Ada beberapa pengembang yang sangat peduli dengan jumlah itu sehingga kualitas perbaikan bug telah menurun. Perbaikan di satu area menyebabkan regresi di area lain.
  • Ada beberapa pengembang yang memilih bug 'mudah / cepat' untuk meningkatkan jumlah bug mereka. Bisa jadi yang baik dari yang buruk di sini kurasa.
  • Prioritas yang lebih tinggi (yang sering dikaitkan dengan cacat 'lebih sulit / lebih lama untuk diperbaiki') sebenarnya menjadi prioritas yang lebih rendah.
  • Cacat pemblokiran tidak ditangani secara tepat waktu, karena biasanya membutuhkan waktu lebih lama dan memerlukan lebih banyak koordinasi dengan QA.
  • Aspek tim dalam tim Dev telah hilang. Aspek tim dari Dev dan QA bekerja bersama karena seseorang belum membaik juga, tetapi belum benar-benar berubah terlalu banyak dari sebelumnya.
  • Bekerja di luar perbaikan bug, atau bekerja menuju nomor ITU, tidak mudah dikenali / dilacak.

Saya percaya bahwa masing-masing 'buruk' di atas dapat diatasi sampai tingkat tertentu, tergantung pada bagaimana tim menangani masing-masing.

Pertanyaan saya adalah, lalu, adakah orang yang berhasil melakukan hal seperti ini, di mana Anda mengenali MVP per sprint? Jika demikian, apa yang menurut Anda berkontribusi pada kesuksesan itu?

Dustin Kendall
sumber
8
Satu hal yang aneh. Pada awalnya Anda mengatakan "dipilih oleh tim", namun sisa posting adalah tentang bug dan bugcount. Seharusnya tim tidak menyadari bahwa bug dan bugcount tidak semua ada di sana. Dan seseorang yang memecahkan bug serius / keras harus lebih tepat untuk MVP daripada seseorang yang memecahkan banyak bug mudah?
Euforia
2
Mungkin bug prioritas yang lebih tinggi perlu ditimbang agar setara dengan 2 atau 3 bug prioritas yang lebih rendah? Hal yang membuatnya kompetitif adalah bahwa hal itu akan memunculkan sisi buruk persaingan. Menjaga hal-hal ramah dan kompetitif (dengan cara serius) sulit.
FrustratedWithFormsDesigner
8
Jika tim saya pernah melakukan ini, saya ingin opsi yang baik untuk memilih keluar dari omong kosong seperti itu. Saya tidak ingin tepukan dua minggu di belakang.
Anthony Pegram
7
Tidak ada yang seperti bekerja sebagai unit tim untuk menyelesaikan unit kerja bersama dalam unit waktu. Dan ini tidak seperti bekerja sebagai unit tim untuk menyelesaikan unit kerja bersama dalam unit waktu.
pdr
3
Ini, secara mengejutkan, persis sama dengan yang terjadi di organisasi layanan pelanggan ketika manajemen menjadi terlalu bergantung pada metrik mentah.
Blrfl

Jawaban:

32

Agile menekankan upaya tim , bukan upaya individu. Jadi tidak, pendekatan ini jelas tidak gesit.

Alih-alih mendorong kolaborasi tim, ini mendorong setiap anggota tim untuk fokus pada hasilnya sendiri. Bahkan dapat menyebabkan anggota menghindari saling membantu (atau lebih buruk), yang dalam jangka panjang akan menghentikan tim dari menjadi lebih baik.

Saya menyarankan untuk menghargai tim secara keseluruhan jika mereka melakukan pekerjaan dengan baik.

Martin Wickman
sumber
2
Lagi. Jika MVP dipilih oleh seluruh tim, mengapa menekankan individu? Jika saya berada di tim seperti itu saya akan memilih orang yang saya pikir paling banyak ditambahkan ke proyek. Dan saya akan menentang orang yang saya pikir tidak ingin membantu saya.
Euforia
@ Euphoric: setuju, tapi ini "Jika MVP dipilih oleh seluruh tim". Pertanyaannya tidak jelas apakah itu penghitungan bug atau pemungutan suara .. Jika itu penghitungan, saya juga setuju dengan Martin ..
rdurand
jika semua tim memilih satu orang, maka OK. Lain, seperti yang disarankan, kecuali bahwa Anda memiliki tekanan untuk memilih "dengan benar".
Dainius
Untuk memperjelas, dalam situasi ini kami memilih 3 teratas kami untuk masing-masing: Dev dan QA. Namun, selama standup harian kami, hitungan bug adalah satu-satunya hal yang ditekankan.
Dustin Kendall
1
Saya setuju, dan sekarang ini telah diterapkan, tim memiliki masalah lain untuk dipecahkan; cara menghilangkan sistem penghargaan ini tanpa mengganggu dinamika tim lebih lanjut; "misalnya; 'ini tidak adil, kami hanya melakukannya dua kali jadi saya tidak mendapatkan kesempatan untuk menang!'"
RJ Lohan
7

Saya pikir ini adalah contoh bagus dari -bad- gamification yang diterapkan. Masalahnya adalah bahwa programmer Anda berpotensi memiliki motivasi intrinsik dalam menyelesaikan masalah dan memenangkan tantangan (menemukan dan memperbaiki bug) DAN, karena Anda telah mengimplementasikan Scrum, dalam bekerja sebagai TIM. Dengan kata lain, mereka berpotensi ingin melakukan pekerjaan dengan baik.

Sekarang, setidaknya bagi sebagian dari mereka, motivasi intrinsik ini atau sebagiannya telah digantikan dengan motivasi ekstrinsinc yang terdiri dari judul ("MVP minggu ini") dan hadiah (jumlah uang, dan makan siang gratis), yang sering kali menjadi bagian dari mekanisme permainan. dari proses gamified.

Gamifikasi dapat diterapkan dengan sukses di tempat kerja tetapi Anda harus sangat berhati-hati dalam meningkatkan motivasi intrinsik / ekstrinsik. Motivasi ekstrinsik memiliki kekuatan untuk mendorong penentuan nasib sendiri agar motivasi menjadi intrinsik. Namun yang terjadi di sini adalah kebalikannya, programer "bermain game" untuk menang .

Apa yang dapat Anda lakukan untuk memperbaikinya adalah meminta manajemen untuk sedikit mengubah aturan:

  • memberikan poin yang sesuai dengan kesulitan dan prioritas tiket. Buat sedemikian rupa sehingga jauh lebih menarik, bijaksana, untuk memperbaiki bug yang sulit ditemukan / direproduksi.
  • berikan poin untuk memecahkan masalah secara kooperatif (lagi-lagi, TIM). Di sinilah Anda bisa membuat lebih banyak programmer untuk berinteraksi dengan QA. Berikan poin untuk masalah yang diselesaikan secara kooperatif oleh seorang programmer DAN QA misalnya.
  • berikan judul yang berbeda, satu untuk poin terbanyak, dan satu untuk tiket terbanyak. Ini harus memuaskan insting kompetitif para programmer.
  • mungkin membangun kompetisi persahabatan antara Dev dan QA dengan merangkum poin dari setiap anggota tim

Namun, mengurangi kemungkinan bug regresi muncul adalah masalah lain. Misalnya Anda bisa menerapkan poin negatif, tetapi saya yakin itu bukan ide yang baik karena itu akan menjadi bentuk hukuman. Yang mungkin lebih baik adalah memulai sprint secara otomatis dengan beberapa poin jika tidak ada bug regresi yang terdeteksi dalam seminggu terakhir. Jika bug regresi telah terdeteksi, programmer mulai dengan 0.

Juga, dalam "gamification" ada "game". Dan aspek mendasar dari permainan adalah Anda bermain / berpartisipasi secara sukarela. Dalam konteks pekerjaan, hal itu dapat dipaksakan oleh manajemen yang merupakan kasus di sini, tetapi biasanya tidak ada yang harus dipaksa ke dalam ini.

Untuk menyimpulkan, hal MVP ini tidak selalu merupakan ide yang buruk, tetapi pendekatannya dapat diubah sedikit untuk membuat bisnis (menyelesaikan bug penting) menjadi yang utama, dan lebih menekankan kerja tim daripada individu.

Jalayn
sumber
5

Beberapa jenis pengakuan kelompok atas upaya anggota tim dapat menjadi motivator yang berharga, tetapi dalam hal ini sepertinya itu salah diterapkan. Anda menyatakan bahwa MVP dipilih dengan suara, tetapi ada banyak sebutan tentang jumlah bug yang diperbaiki per sprint. Sepertinya waktu Anda memiliki definisi lucu tentang MVP - Saya akan berasumsi bahwa orang yang pantas mendapat gelar "paling berharga" adalah orang yang menambahkan nilai paling besar ke perangkat lunak dalam sprint itu. Jika seorang anggota tim memilih bug yang dapat diperbaiki dengan cepat, menghancurkannya secepat mungkin, dan menyebabkan bug regresi dan masalah lain di belakang mereka, maka mereka tidak menambah nilai, mereka menciptakan lebih banyak pekerjaan untuk siapa pun yang memiliki untuk mengikuti mereka mengidentifikasi dan memperbaiki masalah tersebut.

Saran saya adalah untuk mencoba memulai diskusi yang tepat pada saat tim Anda memiliki salah satu suara ini. Jangan hanya membuatnya menjadi pertunjukan tangan; bicarakan dulu. Jika seseorang tampaknya mendapatkan suara berdasarkan banyaknya "perbaikan" yang telah mereka buat, tunjukkan (secara bijaksana) di mana perbaikan itu menyebabkan regresi, dan sarankan agar orang yang memperbaiki regresi tersebut harus dinominasikan untuk membersihkan orang lain. kekacauan. Jika seseorang menghabiskan seluruh sprint untuk menyelesaikan satu masalah buruk, tunjukkan hal itu kepada tim, dengan menyoroti fakta bahwa meskipun hitungan perbaikan orang ini adalah satu, mereka sendirian memecahkan masalah besar dengan perangkat lunak Anda - masalah yang sangat jahat sehingga tidak ada orang lain yang mau menyentuhnya.

Memilih perbaikan yang mudah dan melakukannya dengan terburu-buru atau sembarangan tidak berharga, jadi pengembang yang hanya melakukan itu mungkin tidak boleh memenuhi syarat sebagai kandidat MVP. Saat memilih MVP baru, lupakan semua tentang tim dan orang-orang di dalamnya, dan lihat perangkat lunaknya. Pilih satu perubahan terpenting dalam perangkat lunak itu sejak terakhir kali. Maksud saya lajang di sini; "tidak sebanyak bug kecil" bukanlah perubahan besar. Apakah bug yang sangat mencolok telah diperbaiki? Apakah fitur baru yang hebat telah ditambahkan? Setelah Anda mengidentifikasi apa perubahan besar ini, tanyakan siapa yang bertanggung jawab untuk itu. Salah satu dari mereka mungkin adalah MVP Anda yang sebenarnya. Jika "tidak sebanyak bug kecil" adalah satu - satunya perbedaan, maka dan hanyamaka bug menghitung ukuran yang valid dari MVP - dan bahkan kemudian, saya akan melihat rasio bug yang diperbaiki terhadap bug yang disebabkan regresi. Setiap bug yang menyebabkan seseorang mengurangi setidaknya 1 dari jumlah mereka. Bahkan, saya akan mengatakan lebih dari 1, karena perbaikan yang buruk akan menyebabkan bug yang tidak diketahui yang kemudian harus Anda temukan, yang lebih buruk daripada bug yang diketahui yang sudah ditemukan. Bug yang dikenal membutuhkan upaya pengembang untuk memperbaikinya; bug yang tidak diketahui membutuhkan upaya QA untuk menemukan, dan upaya pengembang untuk memperbaikinya, dan kemudian ada risiko bahwa QA akan melewatkannya.

Secara teori, jika pengembang menyadari bahwa jalan menuju hadiah adalah memperbaiki lebih sedikit, masalah yang lebih besar, mereka akan mencari yang sulit, yang kompleks, cacat pemblokiran. Ini akan mengharuskan mereka untuk bersatu kadang-kadang, baik karena tidak ada masalah gemuk untuk berkeliling, atau karena masalahnya cukup rumit untuk membutuhkan lebih banyak mata . Mungkin menyarankan bahwa dalam kasus-kasus seperti ini, penghargaan dapat dibagikan jika tidak segera jelas mana dari sekumpulan orang yang bekerja lebih banyak untuk memperbaiki bug - dan ingat, pekerjaan selesai! = Baris kode yang ditulis. Pengembang mungkin akan tahu itu, tetapi Anda mengatakan manajemen terlibat, dan manajemen tidak selalu memahami hal itu.

Dan hei, jika semuanya gagal, lupakan program MVP. Bicaralah dengan sesama pengembang Anda di luar scrum, dan tunjukkan dampak negatif yang diberikan penghargaan MVP pada perangkat lunak. Lihat apakah Anda dapat membuat mereka mengabaikannya, atau tidak membuatnya menjadi masalah besar. Tinggalkan piala di laci, belanjakan hadiah uang tunai di atas segelas minuman untuk tim sepulang kerja, gunakan makan siang gratis untuk mendapatkan sesuatu yang dapat Anda bagikan, seperti seikat cupcake. Agile adalah sistem tim; menyoroti risiko kinerja individu yang mengadu tim satu sama lain. Bersatu Anda berdiri, membagi Anda mengirimkan perangkat lunak yang dipenuhi bug, setelah batas waktu, lebih dari anggaran.

anaximander
sumber
3

Ini adalah contoh klasik tentang bagaimana praktik tertentu (pengakuan publik sebagai MVP) dapat memiliki dampak signifikan namun tidak langsung dalam perilaku tim Anda. Ini melampaui insentif, motivasi, dan penghargaan dan benar-benar menyentuh ide-ide dalam psikologi lingkungan / perilaku dan arsitektur keputusan. Hal yang keren.

Pertanyaannya adalah - bagaimana Anda dapat merancang suatu proses sehingga tim Anda sepertinya melakukan semua hal yang benar secara alami, tanpa harus menerapkan kebijakan yang kaku atau memaksa orang untuk melakukan sesuatu?

Saya telah menulis tentang menggunakan biaya (dalam tradisi Desain Donald Everyan Things Everyday ) untuk proses sebagai mekanisme untuk merancang proses yang bekerja untuk tim Anda. Ide dasarnya adalah bahwa praktik-praktik dalam suatu proses secara langsung memengaruhi perilaku seseorang. Dengan demikian, masalah muncul ketika biaya dalam proses Anda tidak sepenuhnya selaras dengan nilai-nilai tim Anda.

Saya telah menjalankan beberapa lokakarya tentang topik ini dan masalah khusus ini muncul sebagai contoh dalam kelompok dari waktu ke waktu. Menerapkan teori biaya untuk kasus yang Anda bagikan dalam pertanyaan Anda mungkin terlihat seperti ini .....

Asumsikan nilai tim Anda konsisten, dapat diprediksi, dan kode berkualitas tinggi.

Anda memiliki daftar perilaku negatif yang telah Anda amati dan semuanya tampaknya berasal dari menggunakan metrik cacat untuk memilih MVP tim. Misalnya, rekan tim tampaknya secara alami ingin mengambil dan memperbaiki bug secara serampangan, berdampak negatif pada ketiga nilai Anda. (Saya berasumsi bahwa ada masalah sebelumnya juga, dan inilah yang menyebabkan ide MVP).

Daripada memiliki MVP tunggal berdasarkan metrik cacat, kami akan mencoba mengubah perilaku tim dengan membuat beberapa perubahan kecil, tetapi signifikan.

  • Biarkan siapa pun memberikan "tim kudo" kepada siapa pun (dan semua, bukan hanya satu) yang secara jelas merangkul nilai-nilai tim Anda. Ini akan mendorong kemampuan prediksi menjadi demokratisasi sistem nilai tim melalui contoh-contoh. (Kami benar-benar melakukan ini di tim kami ..)
  • Mulai pemrograman pasangan (atau tetapkan "teman bug") untuk semua perbaikan bug. Ini akan meningkatkan kualitas dengan mencegah keputusan pemrograman yang tergesa-gesa atau setengah-setengah dan mendorong konsistensi karena teman akan melunakkan perilaku yang tidak menentu. (Ide ini biasanya disarankan selama lokakarya, tampaknya intuitif ..)

Dan ini hanya beberapa contoh untuk menunjukkan pendekatan dan membantu Anda memulai ...

Apa yang hebat tentang pendekatan ini adalah bahwa Anda secara aktif merancang perubahan proses Anda dan memiliki alasan yang dapat dibenarkan untuk perubahan proses yang Anda buat. Sama seperti dalam objek atau desain UI, Anda bahkan dapat mengukur hasil untuk memahami apakah semuanya berfungsi atau tidak.

Michael
sumber
2

Salah satu penyesuaian termudah untuk memastikan sesuatu seperti program MVP bekerja adalah untuk memberi penghargaan kepada anggota tim karena menjadi yang paling berharga bagi keberhasilan tim, bukan menjadi pekerja yang paling sulit.

Kami telah melakukan ini dengan sukses dengan mengenali orang-orang yang bahkan tidak mengerjakan bug, atau fitur, tetapi melakukan sesuatu yang luar biasa yang membuat semua orang di tim berhasil lebih baik. Misalnya, kami memiliki satu pengembang yang melakukan tugas membimbing sekelompok anggota baru ke tim sehingga mereka dapat mempelajari arsitektur dan cara kami bekerja. Kecepatan kami melonjak karena kami memiliki rekrutan baru ini yang mampu memberikan hasil dengan cepat dan efisien, meskipun secara individu kecepatan salah satu pengembang turun karena ia menghabiskan lebih banyak waktu untuk membantu anggota tim lainnya.

Hadiahi kerja tim, dan tim akan memperhatikan bahwa TIMlah yang penting, bukan kesuksesan pribadi mereka sendiri.

Jay S
sumber