Beberapa tim scrum pindah ke tumpukan tunggal

9

Kami saat ini memiliki 5 tim scrum yang mengerjakan backlog produk mereka sendiri selama setahun terakhir. Setiap tim bekerja pada sistem khusus mereka sendiri tetapi teknologi yang mendasari adalah. Net yang sama.

Ada banyak diskusi tentang pindah ke tim berbasis fitur bekerja dari tumpukan tunggal. Alasannya adalah salah satu sistem utama kami memiliki jumlah pekerjaan yang signifikan dan kapasitas mereka tidak cukup untuk menyelesaikan semua pekerjaan di tahun tersebut. Alasan lain yang saya yakini penting adalah memberikan fleksibilitas yang lebih besar untuk menyesuaikan diri dengan perubahan portofolio dengan cepat.

Keputusan telah dibuat untuk mengubah dua tim untuk bekerja pada tumpukan tunggal tetapi para pengembang tidak memiliki pengalaman pada sistem lain. Satu hal yang kami lakukan adalah saling silang dengan memindahkan pengembang sistem pengalaman ke tim.

Pertanyaan saya adalah, pernahkah Anda mengalami pindah ke satu tumpukan untuk dua atau lebih sistem yang berbeda. Apa tantanganmu? Apa yang perlu Anda lakukan untuk membuatnya bekerja?

Malcolm
sumber
Saya tidak yakin saya mengerti mengapa Anda ingin menggabungkan backlog. Mengapa tidak meminta anggota tim untuk berpindah antar tim jika diperlukan?
MetaFight
Apakah Anda menggabungkan 2 tim menjadi yang lebih besar untuk mengerjakan berbagai produk tetapi pada satu tumpukan?
Ioannis Tzikas
@MetaFight - Manajemen senior yang ingin menggabungkan backlog dan kemudian menjadikan kedua tim berdasarkan fitur sehingga mereka dapat menarik fitur prioritas tertinggi dari backlog terlepas dari sistem yang berdampak. Ada banyak tantangan dengan itu dan saya mengusulkan opsi yang sama dengan Anda - Pindahkan anggota tim. Tapi yang benar-benar saya cari adalah siapa pun dapat berbagi pengalaman mereka pindah ke satu tumpukan simpanan. Apa itu bekerja?
Malcolm
1
@IoannisTzikas - Tidak ada kedua tim akan tetap sama. Menggabungkan tim akan membuat mereka terlalu besar. Manajemen senior ingin menggabungkan jaminan simpanan menjadi satu dan membuat kedua tim bekerja dengan jaminan simpanan yang sama saat melakukan cross-skill pada para pengembang.
Malcolm
2
Tantangan terbesar yang saya lihat bukan untuk tim (s), tetapi untuk pemilik produk dari jaminan simpanan. Mereka harus menyetujui prioritas tugas untuk berbagai produk.
Bart van Ingen Schenau

Jawaban:

8

Kami mengelola sekitar setengah lusin proyek menggunakan backlog tunggal. Saya mengatakan "tentang" karena itu tergantung pada bagaimana Anda ingin membedakan proyek.

Secara longgar, kami memiliki lima atau enam pemilik produk, beberapa di antaranya memiliki lebih dari satu produk. Kami memiliki tim yang cukup kecil dengan tujuh dev dan pemimpin tim yang juga kode ketika dia punya waktu. Dan kami memiliki beberapa penginjil yang bekerja dengan orang-orang proses kami untuk memindahkan ide ke dalam pipa. Tentu saja, beberapa orang memakai beberapa topi yang mengotori hal-hal tetapi saya akan mengabaikan itu untuk jawaban saya. Menariknya, kami tidak memiliki master scrum formal.

Kami tidak harus menggabungkan backlogs bersama, tetapi itu terdengar seperti tugas langsung di pihak Anda.

Menjaga agar semuanya teratur dapat menjadi hal yang sangat menyakitkan, jadi inilah beberapa hal yang ingin Anda pertimbangkan.

  • Pemerintahan adalah kunci. Setiap orang yang memiliki jari administratif dalam pai harus berkomunikasi dengan orang lain sebelum membuat perubahan signifikan. Dan / atau mereka yang melakukan perubahan harus nyaman dengan wewenang mereka untuk melakukannya (dan bersiaplah untuk menerima panas untuk perubahan yang buruk). Pembuat perubahan kami memiliki dukungan eksekutif yang kuat dan garis-garis cukup jelas digambar di sekitar area. Tetapi ketika ada keraguan, kami bertanya sebelum kami berubah.

  • Mungkin ada lebih banyak overhead yang terlibat dengan perawatan backlog, penentuan prioritas, dan kick-off. Prioritas sebagai ritual paling menderita karena sulit untuk menyatukan semua pemilik secara teratur. Kami menggunakan sejumlah perantara untuk menegosiasikan prioritas dan / atau menyampaikan kabar buruk tentang tidak melakukan pemangkasan prioritas.

  • Banyak pekerjaan kami didorong oleh komitmen eksternal. Itu menghilangkan sebagian otonomi dari keputusan kami, tetapi itulah realitas bisnis. Dev Anda perlu menyadari perubahan itu. Bulu-bulu bisa menjadi kusut jika ada kehilangan kendali yang dirasakan. Kami mencoba untuk tidak terlalu berkomitmen, dan kami harus mengatakan "tidak" kepada beberapa pemilik produk yang duduk di puncaknya untuk membuat sprint.

  • Kami biasanya menggunakan dua metode untuk menandai produk apa yang termasuk dalam item jaminan simpanan produk. Kami menggunakan keduanya hanya karena itu membuat perawatan dan tugas-tugas lain lebih mudah.

    1. Kami akan mengawali judul PBI dengan nama produk atau versi singkat.
    2. Kami memiliki bidang terpisah yang menunjukkan keseluruhan produk, dan itu harus diisi juga.
  • Kami harus melakukan upaya sadar dalam pelatihan-silang dan memastikan bahwa setiap orang mendapat bantuan di berbagai bidang. Kami memiliki basis kode yang sangat besar sehubungan dengan tim pengembangan kami. Beberapa kode yang kami lakukan juga sangat terspesialisasi. Pimpinan tim kami luar biasa dalam hal ini dan dia akan mendorong tingkat komitmen kami sedikit demi sedikit sehingga kami dapat menghasilkan inefisiensi yang berasal dari pelatihan silang. Memiliki tim yang kuat sangat penting dalam hal ini.

  • Kami melakukan yang terbaik untuk mempertahankan kerangka waktu sprint kami. Proyek kompleks dengan anggota tim yang lebih baru diterjemahkan menjadi tidak biasa dengan komitmen. Proses di sekitar percabangan Anda akan sangat membantu di sini. Semua pekerjaan kami dilakukan terhadap cabang yang kemudian digabungkan kembali ke rilis trunk. Kami juga memiliki server build yang berjalan setiap malam di samping pemicu ad-hoc. Devs yang memecahkan bangunan tahu dan menyelesaikan masalah dalam waktu 24 jam. Titik. Kegagalan untuk menyelesaikan dalam waktu 24 jam berarti komit Anda dibatalkan dan para dev senior memberi mereka kesedihan. Dan para pengembang senior paling sulit pada diri mereka sendiri ketika datang untuk mempertahankan bangunan.

  • Panduan dan ulasan kode menjadi semakin penting. Ini membantu menjaga semua orang mendapatkan informasi terbaru tentang apa yang berubah di berbagai bidang.

  • Demikian juga, standup harian melibatkan semua devs ditambah orang-orang UI kami. Kami tepat di ujung komunikasi kolaboratif yang bermanfaat dan inefisiensi dari terlalu banyak orang. Tapi kami menjaga standup kurang dari 15 menit dan akan segera beralih dari diskusi sisi. Biasanya kita selesai dalam 5 hingga 10 menit.

  • Saya tidak dapat berbicara tentang efek pada metrik seperti kecepatan atau komitmen keseluruhan dan tingkat burndown. Aspek-aspek itu belum cukup penting untuk kita ikuti dengan cermat. YMMV, jadi pertimbangkan itu. Ini juga mengasumsikan bahwa masing-masing tim memiliki definisi poin cerita yang cukup mirip. Jika tidak, itu akan mengacaukan perkiraan awal setelah penggabungan. Ini juga akan menghasilkan beberapa masalah untuk perbandingan historis karena Anda tidak menggunakan satuan ukuran yang sama seperti sebelumnya. Jalan keluar yang mudah adalah dengan mendeklarasikannya sebagai "tim baru" untuk metrik dan mulai mengumpulkan data setelah penggabungan.

  • Kami telah melihat manfaat yang signifikan dari pendekatan ini. Kami memiliki beberapa sprint di mana semua tangan fokus pada satu area dan kami dapat melumpuhkan banyak perubahan dalam waktu singkat. Anda tidak boleh meremehkan nilai yang datang dari kemampuan menerapkan cepat dua kali lipat jumlah pengembang normal pada proyek tertentu. Tetapi Anda harus melakukan cross-training terlebih dahulu. Itu juga berarti kita tidak pernah memiliki dev dengan "tidak ada hubungannya" karena siklus tes atau perawatan atau apa pun. Kami selalu memiliki backlog untuk ditangani.

  • Luangkan waktu untuk proyek R&D. Kalau tidak, terlalu mudah bagi mereka untuk lolos dari celah dan Anda kehilangan kesempatan untuk berinvestasi di bidang-bidang itu.

  • Benar-benar bekerja pada pengkodean ego-kurang dan bahwa sementara Anda mungkin memiliki ahli di suatu daerah, Anda tidak memiliki pemilik area kode. Mencegah kesempatan untuk memar ego penting ketika gaya yang berbeda diperkenalkan ke suatu daerah. Selama kode baru memenuhi standar tim dan fungsional, itu harus baik. Hanya karena bukan bagaimana ahli melakukannya, itu tidak masalah.

  • Pastikan tim yang terlibat menggunakan konvensi dan gaya pengkodean yang sama. Tidak ada yang seperti inkonsistensi di sini untuk mendatangkan malapetaka pada upaya integrasi Anda.

  • Terus pegang retrospektif Anda, dan pegang sebagai kelompok. Penting untuk mendapatkan umpan balik semua orang tentang apa yang berhasil, apa yang tidak berfungsi, dan apa yang perlu dicoba secara berbeda. Ini membantu mendorong rasa persahabatan dalam tim dan memberikan rasa kepemilikan di sekitar proses pengembangan.


sumber
I can't speak to the effects on metrics like velocity or overall commitment and burndown rates. Those aspects just haven't been important enough for us to follow closely.- lalu bagaimana Anda tahu berapa banyak yang akan masuk dalam sprint? Pasti ada sesuatu yang terjadi, bahkan jika sebagian besar tidak disadari.
Izkata
2

Jawaban Scrum yang benar adalah "Tanya tim". Ini adalah prinsip swa-organisasi di mana mereka harus dapat merestrukturisasi diri untuk menyelesaikan pekerjaan dengan cepat. Anda melihat banyak orang di tim memiliki lebih banyak pengetahuan konteks daripada orang luar dan mereka tahu apa yang terbaik. Ini juga termasuk Pemilik Produk.

Saya menganggap Anda datang ke sini dan mengajukan pertanyaan karena ada sesuatu yang terasa tidak benar dan Anda memiliki masalah tersembunyi. Jadi saya akan memberi Anda beberapa petunjuk untuk berdiskusi dengan tim untuk menghasilkan keputusan yang tepat.

Pemilik produk

Hanya ada satu pemilik produk untuk jaminan simpanan dan ini haruslah orang bisnis atau orang yang mewakili bisnis. Seharusnya bukan manajemen TI. Tumpukan besar memiliki banyak item dan dengan banyak tim bisa jadi terlalu banyak untuk berurusan dengan satu PO. Anda mungkin ingin menyimpan jaminan simpanan terpisah untuk alasan ini.

Jika ada banyak PO, maka Anda pasti membutuhkan banyak backlog karena tim harus mendedikasikan dalam sprint ke satu PO dan backlog. Alasannya adalah tim tidak perlu mengelola konflik antara prioritas pemilik produk.

Pengembangan Produk versus Pemeliharaan

Tim pemeliharaan bekerja pada banyak peningkatan kecil, bug pada beberapa produk yang berbeda dan mungkin dengan beberapa pemilik produk. Tim BAU ini membutuhkan dukungan manajemen TI untuk membantu menjadwalkan dan mengelola konflik antara beberapa pemilik produk.

Tim proyek harus fokus pada satu produk pada satu waktu untuk meminimalkan pengalihan konteks dan memberikan satu produk hebat pada satu waktu. Pergantian konteks dapat mengakibatkan pengiriman banyak produk biasa-biasa saja dengan beberapa tingkat utang teknis.

Pengalihan Konteks

Bekerja pada beberapa produk atau fitur yang berbeda menyebabkan pengalihan konteks yang memperlambat produktivitas tim. PO harus memperhitungkan hal ini ketika mencari tahu apa yang akan terjadi selanjutnya dan tim apa yang harus mengerjakan bagian pekerjaan apa. Jumlah pergantian tidak tidak signifikan dan bukan hanya masalah teoretis, itu nyata dan saya telah menyaksikan tim menjatuhkan hingga 80% dalam produktivitas karena hal ini.

PO yang baik akan mencoba fitur grup dan jenis pekerjaan untuk membantu tim melakukan lebih sedikit pengalihan konteks, sehingga meningkatkan kinerja mereka.

Risiko

Sayangnya, manajemen mencoba menempatkan risiko waktu, uang, anggaran, dan tekanan bisnis pada tim; dan tim menerima ini dengan menyetujui ini. Sebagai seorang profesional pengembangan, Anda hanya harus menyatakan fakta dan dampak dari keputusan dan membuat bisnis memiliki risiko sendiri.

Contohnya

  • Menyetujui waktu yang konyol. Alih-alih mengatakan upaya apa yang harus dilakukan untuk melakukan pekerjaan dengan benar dan membuat bisnis mengelola masalah waktu

  • Estimasi Bisnis mengharapkan tim untuk memperkirakan secara akurat dalam dunia yang penuh kompleksitas dan ketidakpastian. Tim harus bertanya bisnis apa yang mereka lakukan untuk mengurangi jika perkiraan terlampaui karena tantangan yang tidak terduga, yang sangat mungkin terjadi. Tim seharusnya tidak memperhitungkan lemak, tetapi sebaliknya bisnis.

  • Utang Teknis. Tim harus memperkirakan melakukan kode kualitas tinggi yang sepenuhnya diuji dan memperkirakannya, yaitu berhenti menulis cacat karena tekanan. Jika bisnis menginginkan kualitas yang lebih rendah, maka itu adalah risiko mereka untuk mengambil dan ketika ada yang salah itu masalah mereka.

Profesionalisme

Jadilah seorang profesional dengan menyatakan membangun hal-hal yang benar dengan kualitas yang disepakati. Perkirakan kemampuan terbaik Anda berdasarkan fakta yang ada. Ketika fakta-fakta ini berubah, komunikasikan dan sesuaikan estimasi. Sebagai tim pengembangan, buat produk hebat dan jangan mengambil risiko bisnis. Komunikasikan dan kelola harapan.

Periksa dan Adaptasi

Tim harus selalu mencari cara untuk meningkatkan dan jika mereka merasa akan membuat segalanya lebih baik, mereka harus mencobanya. Kemudian periksa untuk melihat apakah ada perbaikan. Akhirnya mereka harus beradaptasi dan memperbaiki pendekatan baru mereka atau membatalkannya jika tidak berhasil. Niat di balik upaya untuk memperbaiki harus selalu ada.

Intinya

Pada akhirnya, pengelolaan backlog adalah pilihan PO. Bagaimana dia ingin mengatur antrian pekerjaan terserah mereka. Satu-satunya pemikiran adalah mereka HARUS menjaga pipa kerja untuk SEMUA tim sehat dan dalam keadaan baik. Dengan demikian terserah PO untuk memutuskan.

Kontrak

Dalam sesi perencanaan sprint, tim harus mengharapkan daftar item jaminan produk rapi yang jelas, tidak ambigu dan dipesan. Dengan diskusi singkat dengan PO, tim harus tahu persis apa yang diinginkan PO; APA . Tim kemudian fokus pada bagaimana mereka akan membangun.

Jika PO datang ke rapat perencanaan dipersiapkan dengan baik, siapa yang peduli bagaimana jaminan simpanan dikelola. Jika PO tidak siap untuk pertemuan perencanaan sprint, ini harus ditangani oleh SM dan dibuat sangat terlihat karena ini benar-benar tidak dapat diterima dan bukan masalah tim untuk mengambil.

Brett Maytom PST
sumber
1

Kami baru saja menyerap simpanan tim lain. Tim itu hanya memiliki satu anggota (saya tahu tidak banyak tim), tetapi sebenarnya ada pekerjaan di backlog mereka. Kami tidak terlalu akrab dengan pekerjaan mereka, dan mereka tidak terlalu akrab dengan pekerjaan kami.

Meskipun backlog Anda digabung, itu tidak berarti semua orang harus segera mengerjakan semuanya. Tidak masuk akal untuk mengharapkan hal itu, jadi jangan terlalu khawatir tentang semua orang yang bisa melakukan semuanya di kedua tumpukan segera.

Alih-alih, mulailah meminta kedua tim mengerjakan apa yang sedang mereka kerjakan sebelumnya; satu-satunya perbedaan adalah semuanya ada dalam tumpukan yang sama.

Kemudian, setiap iterasi / sprint memiliki beberapa anggota dari masing-masing tim mengerjakan cerita dari simpanan lainnya. Dengan tidak semua orang mengerjakan item yang tidak dikenal pada saat yang sama, Anda menyebarkan biaya belajar sistem satu sama lain . Seiring waktu tim Anda secara bertahap akan menyerap pengetahuan satu sama lain.

Jika Anda melakukan semua pembelajaran di muka, akan ada penalti kinerja yang signifikan. Seseorang di manajemen senior pasti akan memperhatikan, dan Anda akan dipaksa untuk menyerap simpanan tim lain dengan harapan tim baru dapat mengimbangi kinerja yang buruk ... :) Namun, di samping itu, ini akan menjadi rekomendasi saya.

dsw88
sumber
1

Saya berasumsi bahwa alasan Anda (atau manajemen) ingin membuat jaminan simpanan untuk dua tim adalah bahwa Anda ingin dapat memilih hanya simpanan jaminan untuk salah satu sistem dan membuat kedua tim mengerjakannya.

Ketika hal ini terjadi, perkirakan banyak gesekan dari tim yang dipaksa bekerja pada sistem yang tidak mereka kenal. Berharap bahwa tim akan mengambil setiap sedotan (yaitu item simpanan kecil terkait dengan sistem "rumah" mereka) untuk terus bekerja pada sistem yang mereka kerjakan sebelumnya. Siapa yang harus disalahkan? Tidak menyenangkan mengerjakan sesuatu yang tidak Anda kuasai. Dan fakta bahwa tim lain bagus sebagai sesuatu yang tidak Anda kuasai membuatnya semakin buruk - karena itu membuat Anda terlihat lebih bodoh.

Jadi, satu-satunya cara untuk membuat ini berhasil adalah memecah dua tim dan membentuknya menjadi dua tim campuran. Hanya dengan begitu, ada kemungkinan Anda dapat mempercepat semua pengembang dengan cepat pada sistem "penting".

oberlies
sumber
0

Itu tidak baik untuk membuatnya seperti itu. Perusahaan saya sebelumnya, masuk ke mode produk tunggal tim tunggal karena di perusahaan besar, kami memiliki orang yang berbeda mengerjakan hal yang berbeda.

Berpindah antar proyek juga membutuhkan biaya, dan jika ada orang baru untuk mulai mengembangkan biaya overhead adalah sangat besar. Kita harus mendapatkan hak akses ke sistem yang dikembangkan, repositori berbeda dll.

Saya lebih suka spesialisasi, orang tahu apa yang mereka lakukan, memiliki semua informasi yang diperlukan, tahu perangkap proyek, dan orang tidak memiliki perasaan bahwa Anda harus melepaskan mereka dari proyek ke proyek untuk membuat mereka bekerja, untuk menyedot setiap sen dari mereka.

Bahkan jika mereka malas dalam proyek mereka, mereka jauh lebih produktif dalam apa yang mereka kenal, daripada melompat dari satu proyek ke proyek lainnya.

Mateusz
sumber