Siapa yang menulis 'kisah pengguna' teknis dalam scrum


11

Saya tahu bahwa pemilik produk harus menulis kisah pengguna dalam scrum.

Kisah pengguna menggambarkan fitur untuk pengguna akhir.

Tetapi siapa yang menggambarkan apa yang perlu dikembangkan secara teknis dan bagaimana itu perlu diimplementasikan

dan di mana informasi itu disimpan mengenai scrum?

Itu benar-benar menarik minat saya!

Saya melihat kurangnya pengetahuan di perusahaan kami ketika pengembang mulai mengimplementasikan cerita tetapi mereka tidak tahu BAGAIMANA untuk mengimplementasikannya!

Misalnya mereka harus berurusan dengan warisan API COM dan tidak tahu bagaimana menanganinya atau mereka tidak terampil secara teknis dengan WPF / WEB atau apa pun.

Bagaimana scrum membantu orang memulai dengan cerita pengguna?

Jawaban:


19

Non-gesit pembenci di sini. Menentukan rincian implementasi dan menentukan tugas yang perlu dilakukan terjadi selama pertemuan perencanaan sprint, yang akan mengubah cerita pengguna menjadi tugas / persyaratan aktual untuk sprint. Kegagalan banyak proses lincah adalah bahwa rapat perencanaan sprint seharusnya dilakukan sebagian besar oleh pengembang ... jika hanya pemilik produk, mereka hanya akan memutuskan untuk mendapatkan bulan. Di sinilah Anda akan menemukan cerita pengguna (agak samar) seperti:

As a non-technical user, I need to have a simpler interface with the API

Sementara pemilik produk menentukan cerita pengguna mana yang merupakan prioritas tertinggi, maka programmer mengambil prioritas tersebut dan mengubahnya menjadi daftar tugas (disebut tumpukan sprint). Di sinilah Anda mendapatkan gagasan tentang bagaimana Anda akan mengimplementasikan hal-hal ... sprint backlog bisa menjadi teknik yang Anda inginkan. Di sinilah Anda akan menemukan "untuk mencapai API yang lebih sederhana, kita harus memperbaiki API COM yang gila itu. Adakah yang tahu cara menggunakannya?". Ketika jawabannya adalah "Tidak Ada", Anda akan mulai melihat bahwa ruang lingkup cerita pengguna itu mungkin lebih besar dari yang terlihat. Karena itu, Anda dapat membagi cerita pengguna ke dalam tugas-tugas:

  • Dokumentasikan dan pahami API saat ini
  • Desain API baru
  • Terapkan API baru
  • Masa bodo...

Mengingat hal ini, tidak masalah untuk menegosiasikan cerita pengguna untuk memecahnya menjadi perubahan yang lebih kecil. Metodologi tangkas berarti Anda ingin mendekati apa yang diinginkan orang itu dalam langkah-langkah tambahan. Jadi, Anda dapat berkata, "Hei, lihat. Kami tidak dapat merombak API hanya dalam satu iterasi. Mari kita pisahkan menjadi 'Sebagai pelanggan non-teknis, saya perlu API yang terdokumentasi dengan baik" dll. "


3
Saya mengerti mengapa Anda bukan pembenci gesit; Anda tahu apa yang Anda lakukan.
JeffO

@ JeffO lol itu mungkin respons yang salah tempat terhadap komentar yang telah dihapus yang hanya "rabble rabble agile bad".
Idea

@IdeaHat - Beberapa contoh persyaratan samar ketika manajer produk atau BA "tidak siap" pada dasarnya membuat perangkat lunak
storyengineering.stackexchange.com/a/384838/260655

10

Jawaban singkat

Tim Pengembang menulis hal-hal teknis. Scrum membantu Anda sedikit tetapi tidak banyak dengan resp teknis. memulai Cerita Pengguna. Scrum hampir Apa-Dunia- hanya. Rincian teknisnya adalah How-World .

Rincian yang diberikan oleh Scrum adalah:

  • Kisah Pengguna -> Kriteria Penerimaan

Kerusakan yang sering digunakan orang di atas adalah:

  • Epik -> Cerita Pengguna
  • Kisah Pengguna -> Subtugas
  • Kriteria Penerimaan -> Tes Penerimaan

Plus, tim mungkin menulis Tugas Teknis untuk hal-hal yang mereka tahu perlu dilakukan (yaitu menginstal IntelliJ IDEA untuk semua orang di awal proyek) tetapi tidak memiliki Nilai Bisnis.

Untuk panduan lebih lanjut tentang cara memecah pekerjaan, lihat XP (Extreme Programming), Clean Code , Pragmatic Programming , Rekayasa Perangkat Lunak , CRC-Cards , OOP / OOA / OOD , Pola Desain , Refactoring , Bekerja Efektif dengan Legacy Code , TDD ( Test-Driven Development), BDD (Pengembangan Berbasis Perilaku), ATDD (Acceptance-Test Driven Development).

Jawaban panjang

Bagaimana Scrum Berpikir

Apa-Dunia dan Bagaimana-Dunia

Ada Dunia Apa dan Dunia Bagaimana . Seperti yang Anda rasakan dengan benar, Kisah Pengguna adalah untuk Pengguna , menghasilkan Nilai Bisnis alias Nilai Sekunder di Dunia Apa . Scrum sebagian besar adalah What-World saja. Tidak banyak yang mengatakan tentang Dunia Bagaimana , pada dasarnya tidak lebih dari "Bagaimana Dunia adalah tanggung jawab Tim-Dev".

Kisah Pengguna vs Tugas

Biasanya, Backlog Item yang untuk How-World tidak disebut Story Pengguna tetapi Tugas Teknis atau Subtask . Banyak alat memungkinkan memecah Cerita Pengguna dari Dunia-Apa menjadi Subtugas di Dunia-Bagaimana .

Bagaimana Scrum Membantu dan Di Mana Bantuan Itu Berakhir

Bantuan Scrum untuk How-World berakhir pada beberapa poin dalam Pertemuan Perencanaan Sprint :

  • [Sprint Planing Meeting] Tim menemukan kesalahpahaman cerita jika rekan tim yang berbeda datang dengan perkiraan Poin Cerita yang berbeda selama Poker Perencanaan -> Diskusi.
  • [Definisi Siap] Tim tidak menerima Cerita Pengguna yang terlalu besar (Poin Cerita terlalu tinggi). Aturan praktis yang ditemukan dalam banyak Definisi Siap adalah bahwa Poin Cerita harus kurang dari setengah kecepatan tim.
  • [Definisi Siap] Tim tidak menerima Cerita Pengguna tanpa deskripsi yang memadai tentang Kriteria Penerimaan. Kriteria Penerimaan cukup jika tim memiliki keyakinan yang cukup tentang cara mulai menulis Tes Penerimaan.

Beberapa tips tentang Level Scrum

Saya merasa terbantu untuk memecah-belah Cerita Pengguna ke dalam Subtasks selama rapat Penyempurnaan Backlog atau setidaknya bagian kedua dari Pertemuan Perencanaan Sprint (untuk beberapa tim Rapat Perencanaan 2 Sprint ).

Dengan tim yang tidak berpengalaman, saya merasa terbantu untuk mengusahakan Kisah Pengguna Atom selama Penyempurnaan Backlog dan Perencanaan Sprint. Kisah Pengguna Atom adalah Cerita Pengguna yang tidak dapat dipecah lebih jauh menjadi Kisah Pengguna yang Lebih Kecil tanpa kehilangan Nilai Bisnisnya sepenuhnya. Secara umum, User Stories tidak perlu menjadi Atomic, saya baru saja menemukan bahwa itu membantu saya dengan tim yang tidak berpengalaman.

Dan jangan lakukan "(Arsitektur | Desain | Implementasi | Uji) Fitur X" sebagai Cerita Pengguna. Saya sarankan Anda mencoba untuk menghindari ini sebagai Subtask.

Jika saya memiliki Cerita Pengguna Atom dan mereka sepertinya perlu rincian lebih lanjut selain dari Kriteria Penerimaan untuk diterapkan, itu berarti bagi saya bahwa ada sesuatu yang tidak berfungsi pada tingkat optimal. Entah arsitekturnya salah / terlalu rumit, yaitu teknis alih-alih berorientasi bisnis. Atau tim tidak berpengalaman. Atau keduanya. Bagaimanapun, tindakan akan diperlukan untuk memperbaiki situasi dengan melatih dan menyebarkan pengetahuan.

Melampaui Scrum

Master Scrum melampaui Scrum

Saat ini, Scrum Master sebagian besar dipahami sebagai Peran Manajerial , dan itu omong kosong. Awalnya, Master Scrum adalah, dan saya menganjurkan ini, Peran Teknis , bukan peran manajerial, seperti Pelatih di XP .

Terlalu mudah untuk mengandalkan Scrum dan Scrum Master dan dengan demikian jatuh ke dalam celah yang sangat besar karena Scrum hampir tidak mengatakan apa-apa tentang Dunia Bagaimana.

Memutar Master Scrum

Idealnya, Master Scrum berputar di antara para pengembang berpengalaman yang juga memiliki keterampilan manajerial dan komunikasi yang cukup sampai semua orang di tim hidup "Inspect and Adapt" begitu dalam hati sehingga Scrum Master menjadi redundan; tidak ada dan semua orang akan menjadi Scrum Master pada saat yang sama.

Namun waspadalah, Scrum Mastery lebih seperti memasak, tidak seperti membersihkan meja dan mencuci piring. Anda mungkin ingin memutar siapa yang membersihkan meja dan mencuci piring, karena semua orang bisa melakukannya. Tetapi Anda tidak ingin memutar masakan ke semua orang, karena ada orang yang tidak bisa memasak atau tidak suka memasak, dan Anda ingin makan makanan enak.

Hal yang baik tentang memutar Scrum Master antara pengembang ahli adalah bahwa tim lebih cenderung belajar tentang lebih banyak metode.

Tim Self-Organizing

Dari perspektif Scrum, tim harus mencari tahu sendiri, idealnya dengan bantuan Scrum Master .

Scrum juga hanya berbicara tentang Tim Dev . Peran seperti Arsitek atau Lead Engineer tidak ada di Scrum. Itu tidak berarti bahwa mereka dilarang, itu hanya berarti bahwa Scrum tidak mengatakan apa-apa tentang mereka. Scrum memproklamirkan Tim Swadaya , yang berarti jika tim menyatakan Arsitek, tim memiliki Arsitek. Itu tidak ditentukan oleh Scrum, tapi itu sesuai dengan Scrum. Saya tidak menyatakan Arsitek berdedikasi (saya bekerja sebagai Arsitek yang ditunjuk selama bertahun-tahun, dan meskipun saya menyukainya, saya pada dasarnya menentang gagasan Arsitek yang ditunjuk), hanya memberikan contoh.

Tes Penerimaan

Cerita Pengguna memiliki Kriteria Penerimaan . Kriteria Penerimaan ini diubah menjadi Tes Penerimaan

Barang lainnya

Untuk daftar lebih banyak hal untuk pemecahan, lihat Bagaimana memecah proyek pemrograman menjadi tugas untuk pengembang lain?

Semoga ini membantu.


1

Siapa pun yang berkualifikasi terbaik di tim perlu memecah persyaratan dari pemilik produk menjadi cerita pengguna yang dapat ditindaklanjuti. Dalam pengalaman saya, kami telah menggunakan pendekatan berikut:

  • Selalu menjadi pengembang yang menulis cerita berdasarkan diskusi dengan pemilik produk.
  • Cerita-cerita ini kemudian diperkirakan (berdasarkan poin atau waktu) oleh pengembang
  • Pemilik produk kemudian memutuskan bagaimana hal-hal diprioritaskan.

Jika pengembang tidak tahu bagaimana menerapkan cerita, maka salah satu kasus ini mungkin benar:

  • Tugas mungkin tidak cukup jelas (tambahkan lebih detail / tangkapan layar / maket)
  • Itu perlu dipecah lebih lanjut sehingga tugas-tugas spesifik lebih jelas
  • Perlu lebih banyak waktu sehingga pengembang dapat meneliti, dan belajar bagaimana menerapkannya. (Saat memperkirakan tugas ini, tambahkan lebih banyak waktu untuk menjelaskan hal ini)
  • Pengembang tidak cukup berkualitas untuk mengimplementasikannya dan mungkin perlu ditugaskan ke orang lain, atau pengembang perlu dibantu oleh orang lain.

Anda dapat mengikuti kursus ini di SCRUM di Udemy gratis dan belajar tentang aspek-aspek individual dari proses SCRUM - https://www.udemy.com/scrum-methodology/


0

Jawaban singkatnya adalah ini: pemilik produk bertanggung jawab untuk menciptakan cerita yang harus disampaikan oleh tim. Adalah tim yang memutuskan bagaimana menyampaikan cerita. Jika bagian dari pengiriman melibatkan beberapa cerita teknis, timlah yang menulis cerita-cerita itu. Tim kemudian bekerja dengan pemilik produk untuk menentukan prioritas.

Sekali lagi, PO memutuskan apa yang akan dibangun, tim harus memutuskan bagaimana menerapkan cerita-cerita itu.


0

Ini bukan masalah Agile. Masalahnya adalah tim tidak memiliki pengetahuan teknis yang cukup untuk menyelesaikan cerita pengguna (gesit) atau persyaratan (tradisional). Bisakah Agile membantu dalam situasi ini? Tidak, jika tim tidak dipilih dengan cermat dan tidak seorang pun di tim memiliki pengalaman teknis yang cukup untuk melakukan tugas mereka. Ya, jika beberapa anggota tim memiliki pengetahuan teknis yang baik yang dapat membantu anggota tim lainnya untuk melakukan tugas mereka. Untuk itu tim perlu mengatur diri sendiri, dan harus tahu itu kekuatan dan kelemahannya.

harap ingat prinsip Agile berikut.

"Arsitektur, persyaratan, dan desain terbaik muncul dari tim yang mengatur diri sendiri"

Ini terjadi karena dalam lingkungan Agile kepercayaan tim tinggi dan mereka mendelegasikan pekerjaan di antara mereka sendiri.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.