Saya seorang pengembang web yang bekerja di tim yang terdiri dari tiga pengembang dan satu desainer. Sekarang sudah sekitar lima bulan kami menerapkan metodologi pengembangan perangkat lunak scile tangkas. Tapi saya punya perasaan aneh yang ingin saya bagikan di situs ini.
Salah satu faktor penting dalam kehidupan manusia adalah proses pengambilan keputusan. Namun, ada perbedaan besar dalam keputusan yang Anda buat. Beberapa keputusan hanyalah hasil dari kekuatan internal atau eksternal, sementara keputusan lain sepenuhnya didasarkan pada kehendak bebas Anda, dan beberapa keputusan hanyalah sesuatu di antaranya. Semakin banyak kebebasan yang Anda miliki dalam membuat keputusan, pekerjaan Anda akan semakin mandiri. Ini sepertinya aturan. Karena kita cenderung membentuk hidup kita sendiri.
Ada perbedaan besar antara Anda memutuskan apa yang harus dilakukan , atau diberi tahu apa yang harus dilakukan .
Sebelum scrum, saya merasa memiliki lebih banyak kebebasan dalam membuat keputusan yang terkait dengan pengembangan, analisis, memprioritaskan implementasi, dll. Saya lebih merasa seperti saya memutuskan apa yang saya lakukan .
Namun, karena metodologi scrum, sekarang banyak keputusan hanya datang dari pemilik produk. Dia memprioritaskan PBI , dia menganalisis bagaimana perangkat lunak harus bekerja, bahkan kadang-kadang bagaimana UI dan fungsionalitas harus diimplementasikan. Saya tahu bahwa ini adalah bagian dari metodologi scrum, dan saya juga tahu bahwa ini dapat menghasilkan penjualan produk yang lebih baik di masa depan. Namun, saya sekarang merasa seperti saya selalu disuruh melakukan sesuatu, daripada memutuskan untuk melakukan sesuatu . Sindrom ini sekarang telah membuat saya lebih pasif terhadap pekerjaan.
- Saya cenderung mencari lebih sedikit untuk menemukan solusi, pendekatan, atau teknik yang lebih baik
- Saya tidak bangun di pagi hari berharap untuk mendapatkan pekerjaan yang menyenangkan. Sebaliknya, saya merasa seperti dipaksa untuk bekerja agar bisa hidup
- Saya memiliki lebih banyak kelaparan untuk mengerjakan proyek hobi saya sendiri setelah bekerja
- Saya tidak akan mendorong tim lagi untuk mencapai tingkat teknologi yang lebih tinggi
- Saya menghabiskan lebih banyak waktu sekarang untuk makan malam, atau minum teh dan kurang antusias untuk kembali bekerja
- Saya sekarang lebih bersedia untuk menyelesaikan pekerjaan lebih cepat, sehingga saya bisa pulang
Masalah besar adalah, saya melihat dan mendiagnosis perilaku ini pada rekan-rekan saya juga. Apakah ini hasil scrum? Apakah scrum benar-benar membuat tim pengembangan merasa seperti mereka tidak memiliki bagian dalam membentuk perangkat lunak secara keseluruhan, sehingga membuat pasif terhadap proyek? Bagaimana saya bisa mengatasi perasaan ini?
sumber
Jawaban:
Ini adalah indikator serius bahwa ada sesuatu yang hilang. Proyek lincah seharusnya tidak terasa seperti ini. Retorika "orang yang melebihi proses" harus memasukkan "kita tidak memaksa orang untuk melakukan hal-hal yang payah." Berikut ini beberapa ide:
Apakah Anda melakukan "scrum but"? Yaitu, sebagian scrum, sebagian lagi. (yaitu: "Kami melakukan scrum, tetapi semua cerita kami harus berasal dari PMO kami, bukan pemilik produk.") Banyak omong kosong gila yang disebut Scrum hari ini.
Apakah Anda, secara pribadi, tidak terlibat dalam proses di mana Anda seharusnya berada? Saya kenal sejumlah orang yang kecewa dengan isi cerita, dan ternyata mereka hanya terlibat begitu cerita ada di sprint backlog. Bicaralah dengan pemilik produk sejak awal dalam pengembangan cerita, dan dapatkan umpan balik Anda. (Sebagai PO, mereka memiliki pendapat akhir, tetapi itu tidak berarti mereka harus melakukannya sendiri.)
Di Scrum, tim seharusnya memiliki proses, dan diharapkan proses akan berubah seiring waktu sesuai dengan kebutuhan tim. Sampaikan kekhawatiran Anda di retrospektif. Jika Anda dapat membuat proses tweak untuk menyarankan, itu cenderung membuatnya lebih mudah untuk dijual untuk beberapa tim.
sumber
Masalah Anda bukanlah Scrum (dan seperti yang dikatakan Jarrod Roberson dalam komentar, itu bukan Scrum yang Anda uraikan) - melainkan manajemen mikro Pemilik Produk dan kurangnya ketegasan Anda (dan Tim) .
"Namun, karena metodologi scrum, sekarang banyak keputusan hanya berasal dari pemilik produk. Dia memprioritaskan PBI, ia menganalisis bagaimana perangkat lunak harus bekerja, bahkan kadang-kadang bagaimana UI dan fungsionalitas harus dilaksanakan. Saya tahu bahwa ini adalah bagian dari metodologi scrum."
Anda salah. Hanya dari melihat sekilas halaman wikipedia untuk Scrum, Anda dapat melihat bahwa: "Tim, grup lintas fungsi yang melakukan analisis, desain, implementasi, pengujian, dll." Lihat? Pemilik Produk memberi tahu Anda apa yang harus dilakukan, tetapi tergantung pada Tim untuk memutuskan bagaimana melakukannya.
Anda adalah orang yang bertanggung jawab untuk implementasi, jadi Anda harus memutuskan bagaimana aplikasi akan diimplementasikan. Dengarkan pendapat Pemilik Produk, tetapi keputusan akhir terserah Anda (atau Tim).
Pengelolaan mikro BTW memang mengubah pengembang aktif menjadi pengembang pasif.
sumber
Apa yang Anda uraikan BUKAN SCRUM
Pemilik produk Anda sudah melampaui batas jika ia memberi tahu Anda bagaimana melakukan pekerjaan Anda secara teknis, itu sama sekali bukan tentang SCRUM.
SCRUM adalah tentang membebaskan para pengembang untuk berkonsentrasi pada masalah-masalah pembangunan dan memberdayakan mereka untuk menentukan berapa lama hal itu dilakukan dan bagaimana melakukannya.
SCRUM adalah tentang kolaborasi, itulah tujuan dari pertemuan perencanaan Sprint, untuk mempromosikan kolaborasi antara semua pemegang saham; pemilik produk, pengembang, dan pengujian.
Ya pemilik produk harus memprioritaskan fitur, apa yang perlu disampaikan terlebih dahulu sesuai dengan kebutuhan pelanggan, tetapi pengembang harus melakukan rekayasa dan desain, bukan pemilik produk.
Saya tidak setuju bahwa pengembang harus merancang GUI dan alur kerja kecuali mereka secara khusus ditugaskan dan dilatih untuk bekerja dengan pelanggan dan hash fungsionalitas dengan pelanggan secara langsung. Programmer membangun GUI yang dilakukan dalam ruang hampa jarang memenuhi kebutuhan pelanggan.
SCRUM adalah tentang menempatkan proses yang ringan yang dapat diprediksi dan diulang melalui manifesto tangkas.
Membuatku sedih mendengar cerita bahwa hal-hal yang sangat baik sedang diselewengkan seperti ini.
sumber
Saya menduga sebelum Scrum, semua orang hanya melakukan apa yang diinginkan: yippee ki-yay mf'er . Pengguna Anda adalah dermawan Anda dan mereka yang mendorong cerita dan membayar tagihan. Pemilik produk memastikan cerita tersebut selesai. Entah bagaimana, grup Anda sampai pada kesimpulan bahwa Pemilik Produk harus memberi tahu Anda cara memprogram.
Anda ingin menulis kode atau membuat aplikasi kecil yang menurut Anda keren? "Aku ingin melakukan fitur A pertama dan bukan B, jadi aku bisa mempertahankan kebebasan memilih." Temukan dermawan yang berbeda dan bukan metodologi pengembangan baru.
Anda terjebak dalam judul Pemilik Proyek atau sesuatu. Jika Anda memiliki alasan yang sah untuk tidak setuju dengan cerita tersebut, katakan sesuatu, berargumentasi. Anda mungkin tidak selalu menang. Adalah tugas mereka untuk kembali ke pengguna dan memberi tahu mereka ada masalah yang valid dengan permintaan mereka. Mari kita hadapi itu, jika cerita meminta Anda untuk menjatuhkan database secara acak sepanjang hari, tanpa cadangan, tanpa kehilangan data atau down time, Anda memiliki masalah dan tugas untuk meluruskan cerita.
sumber
Sepertinya petualanganmu ke Agile telah dirusak oleh Scrum. Saya menemukan bahwa, dari semua metodologi tangkas, Scrum adalah yang paling tangkas. Ini lebih seperti air terjun mini dan manajemen proyek tambahan. Ini, tentu saja, menjadikannya yang paling disukai oleh manajemen yang merasa mereka mengambil kendali kembali dari para pengembang sial itu, tetapi tentu saja Anda melihat kenyataan situasi.
Agile bukan tentang mengikuti jalan yang ditentukan, ia dirancang untuk membuat Anda lebih produktif dan termotivasi. Orang yang tidak memproses mengatakan manifesto (diparafrasakan), dan itu hilang dalam sistem yang Anda gunakan.
Jadi ubahlah. Bawa itu ke manajemen dan katakan itu adalah langkah mundur, bahwa produktivitas Anda lebih rendah dari dulu dan Anda semua tidak senang dengan cara kerjanya. Tunjukkan Agile Manifesto (dan kembarannya yang jahat ) dan tunjukkan bahwa Anda tidak hanya belajar dari percobaan ini, tetapi juga ingin mengubah bagian-bagian yang baik dari itu menjadi sistem yang lebih baik (yang dulu Anda miliki, yang tampaknya berfungsi dengan baik untukmu).
sumber
Saya pikir, bahwa hanya kalian yang terbiasa memiliki lebih banyak kepemilikan - dan semua orang yang saya pikir lebih suka itu, sifat manusiawi.
Sayangnya saya pikir banyak perangkat lunak kurang dari yang seharusnya, karena sering kali bagian ditulis untuk dev dan bukan klien. Pendekatan baru Anda harus mengurangi itu, tetapi dengan mengorbankan perasaan kepemilikan Anda.
Saya tidak tahu bagaimana menyarankan Anda untuk membuat hal-hal lebih baik atau lebih menyenangkan tetapi itu adalah pertanyaan yang bagus dan wawasan yang sangat bagus.
sumber
Apakah Anda mendapatkan cerita pengguna dalam bentuk "Sebagai --role -, saya ingin --go / desire - agar --benar -"? Sepertinya Pemilik Produk Anda ingin melakukan pekerjaan desain, dan dia mungkin bukan orang terbaik untuk melakukan itu. Menggunakan pola cerita pengguna dapat membantu memastikan bahwa Pemilik Produk berpegang teguh pada kepentingan bisnis, dan pengembangan perangkat lunak dilakukan oleh pengembang perangkat lunak.
sumber
Di Scrum ada banyak ruang bagi pengembang untuk berkontribusi dan memberikan saran mereka tentang fitur baru, UI, kegunaan ... Kolaborasi dan percakapan antara pelaku bisnis dan pengembang diperlukan di Scrum dan memungkinkan. Namun pada akhirnya pemilik produk akan selalu memiliki keputusan akhir karena dialah yang bertanggung jawab untuk memaksimalkan nilai bisnis dari peningkatan perangkat lunak yang dihasilkan sprint setelah sprint (dengan kata lain, ROI).
Dari Agile Manifesto:
Pemilik produk yang memberi tahu Anda bagaimana UI dan fungsionalitas harus diimplementasikan tidak dapat diterima. Dalam hal ini Anda harus memiliki keputusan akhir karena Anda bertanggung jawab atas kualitas internal perangkat lunak yang Anda hasilkan.
Mungkin Anda bekerja di perusahaan yang dibuat oleh pengembang tempat programmer memiliki kebebasan untuk mengimplementasikan fitur apa pun yang mereka inginkan. Namun, sebagian besar metodologi Agile membuat pemisahan yang jelas antara orang-orang domain bisnis dan tim yang bertanggung jawab untuk memproduksi perangkat lunak (pengembang, penguji ...) yang merupakan divisi kerja paling umum di sebagian besar tempat. Jika asumsi saya benar, saya dapat memahami perasaan yang Anda miliki bahwa Anda tidak dapat "memiliki pengaruh pada gambaran besar" lagi tetapi dengan pertumbuhan perusahaan saya kira itu akan menjadi masalah, Scrum atau tidak.
Mengenai analisis, desain, dan aktivitas pengembangan meta lainnya yang Anda sebutkan (yang lagi-lagi tidak seharusnya dilakukan oleh Pemilik Produk), tim Agile seharusnya bersifat lintas fungsi dan bebas silo. Tidak ada yang seharusnya memiliki semua pengetahuan di sekitar satu aktivitas pengembangan tertentu, jadi mungkin ada kesempatan bagi Anda untuk melakukan diversifikasi di sana vs hanya "kode monkeying".
sumber
Sebaliknya, saya mendapati bahwa memiliki pemilik produk membuat keputusan tentang fungsionalitas memungkinkan saya untuk mencurahkan lebih banyak waktu untuk menghasilkan kode berkualitas. Plus, jika ada kekhawatiran yang valid, saya selalu dapat mempertanyakan keputusan pemilik produk, dan itu biasanya mengarah pada diskusi yang bermanfaat.
sumber
Kami berlatih Scrum di sini. Kami memiliki pertemuan perencanaan dua minggu di mana kami memberi makan dalam prioritas bisnis saat ini, dan keberhasilan dan kegagalan dari sprint sebelumnya, dan kami memutuskan, sebagai tim , apa yang ingin kami tangani untuk sprint berikutnya.
Salah satu cara kami melakukan ini adalah dengan mengurutkan simpanan di papan berdasarkan kompleksitas secara vertikal, dan prioritas bisnis secara horizontal. Setelah itu, Pemilik Produk telah mendapat masukan, jadi terserah tim untuk memilih apa yang ingin kita lakukan. Jelas, memilih tugas dengan kompleksitas tinggi dan prioritas rendah disukai, tetapi kami memutuskan ini sebagai tim. Itu membuat sesi perencanaan lebih lama, tapi itu layak, dan merupakan bagian inti dari proses Agile.
Dan kami memang memiliki manajemen mikro kadang-kadang, tapi itu masalah yang berbeda.
sumber
Masalah sebenarnya yang Anda gambarkan adalah patologi umum ketika tim mengadopsi Metodologi: mereka mematikan otak mereka. Ini juga berlaku dengan sistem lincah sekolah baru seperti halnya dengan sistem kelas berat sekolah tua.
T: Metodologi menentukan x, tetapi x tidak berfungsi dengan baik. Apa yang harus kita lakukan?
A: Saring implementasi x Anda. Mungkin berhenti melakukannya sama sekali. Metodologinya bukan bos Anda!
Dalam kasus khusus ini, sepertinya pemilik produk mungkin melakukan terlalu banyak. Apakah Anda nyaman berbicara dengannya tentang hal itu? Apakah Anda akan merasa nyaman melakukan percakapan itu jika Anda tidak "melakukan scrum?" Jika pemilik produk tidak sensitif terhadap umpan balik konstruktif, itu bukan masalah metodologi, itu masalah dengan pemilik produk.
sumber
Saya tidak benar-benar selaras dengan hal scrum keseluruhan karena telah lebih banyak air terjun untuk sementara waktu.
Tapi jujur saja, ini terdengar lebih seperti masalah personil manajemen daripada masalah teknik manajemen proyek. Seperti di dalamnya lebih banyak orang yang berbasis daripada teknik.
sumber
Peran Pemimpin dalam Tim Self-Organizing akan menjadi posting blog tentang sesuatu yang tampaknya hilang dari posting Anda. Di mana tim memutuskan pekerjaan apa yang harus dilakukan dalam sprint? Di mana tim memiliki kepemilikan dalam proses dan pekerjaan? Apakah Anda memiliki seseorang yang cukup mengenal Scrum sehingga Anda melakukan Scrum dan bukan versi sesat darinya?
sumber
Saya memiliki pengalaman yang sama dengan Scrum dan suka menyebutnya "tirani cerita".
Dari pengalaman saya, pengembang lebih banyak di sisi kreatif / desain / frontend tampaknya lebih menderita daripada orang-orang yang terlibat dalam pekerjaan backend.
Satu-satunya jalan keluar yang saya temukan sejauh ini adalah dengan membuang Scrum - seringkali tidak mungkin dan / atau sesuai karena bagaimanapun juga memiliki kelebihannya - atau untuk memperkenalkan sesuatu seperti waktu 20% Google untuk memberi pengembang outlet kreatif selain dari "Anda" Anda bebas untuk memilih bagaimana mengimplementasikan Halaman Login ", karena pada kenyataannya Anda tidak seperti implementasi Anda dibatasi oleh kode dan arsitektur sistem yang ada - yaitu kecuali seseorang mempertimbangkan kebebasan untuk memilih antara 'a for and a while loop' a kebebasan.
sumber
Dalam pengalaman saya, ada jalan yang agak jauh dari diberi tahu apa yang harus dilakukan untuk memutuskan apa yang harus dilakukan.
Pada akhir cara ini biasanya ternyata kita diperintahkan bukan karena mereka suka kekuasaan dan bukan karena mereka tidak punya yang lebih baik untuk dilakukan. Justru sebaliknya, pada akhir cara ini - ketika mereka mendapatkan kepercayaan yang cukup dalam tim kami - mereka tampaknya lega dan dengan senang hati memberikan kami kontrol sebanyak yang kami bisa tangani (dan jika kepercayaan mereka benar-benar kuat, mereka bahkan mencoba untuk lulus lebih dari itu)
Oh dan dalam pengalaman saya ini pada dasarnya tidak ada hubungannya dengan Scrum / gesit. Terjadi dengan scrum, iteratif, air terjun, apa pun. Tampaknya masalah kepercayaan adalah proses agnostik
sumber
Di tim kami, pemilik produk memberi tahu kami apa yang harus dilakukan dan kami memutuskan bagaimana kami melakukannya. Sangat penting untuk melakukan pemisahan ini atau Anda akan berakhir dalam situasi yang telah Anda jelaskan.
sumber
Sesuai pengalaman saya, Scrum sangat memperhatikan Anda apa yang Anda lakukan. Itu hanya duduk di bahu Anda dan menonton apa yang Anda lakukan. Meskipun memiliki keunggulannya sendiri, saya benci metodologi scrum. Mengharapkan hitungan, bukan kualitas. Kualitas semakin dikompromikan dengan metodologi scrum.
sumber