Cerita pengguna seperti apa yang harus ditulis pada tahap awal proyek?

11

Ketika baru memulai proyek, Anda tidak memiliki apa-apa --- tidak ada UI, tidak ada lapisan data, tidak ada di antaranya. Jadi, satu cerita seperti "pengguna harus dapat melihat foo mereka" akan membutuhkan banyak pekerjaan. Setelah Anda memiliki cerita itu, yang seperti "pengguna harus dapat mengedit foo mereka" lebih realistis, tetapi cerita pertama itu akan melibatkan pengaturan lapisan UI, lapisan logika presentasi, lapisan logika domain, dan lapisan akses data.

Ini tidak sesuai dengan konsep "tugas" saya: bagi saya, saya lebih suka memiliki sesuatu seperti "tugas" berikut:

  • Tampilkan data tiruan untuk permainan pengguna dalam HTML, yang berasal dari objek JavaScript.
  • Siapkan lapisan logika presentasi, dan hubungkan objek JavaScript ke sana.
  • Menyiapkan lapisan logika domain, dan hubungkan lapisan logika presentasi ke sana.
  • Siapkan lapisan akses data, dan hubungkan lapisan logika domain ke sana.

Apakah semua ini termasuk dalam "cerita" tunggal di atas? Jika demikian, saya merasa cerita bukan kerangka kerja yang sangat berguna pada tahap awal proyek. Jika demikian, itu baik-baik saja --- Saya hanya ingin memastikan saya tidak melewatkan sesuatu, karena saya benar-benar mencoba mempelajari metodologi tangkas ini sebaik mungkin.

Domenik
sumber

Jawaban:

6

Ini adalah pertanyaan yang bagus dan mungkin ada beberapa jawaban yang bagus untuk itu. Saya ambil ini:

Sebuah cerita adalah cerita pengguna sehingga harus didefinisikan dalam istilah yang menggambarkan manfaatnya bagi pengguna.

Jika Agile dan cerita akan bekerja untuk Anda, maka mereka harus bekerja bahkan pada tahap awal. Poin pertama adalah cerita pengguna tunggal (kata sedikit teknologi-y), tetapi tiga lainnya adalah deskripsi tugas teknis.

Pada tahap awal suatu proyek, ketika Anda tidak memiliki kerangka kerja yang sesuai untuk membuat pengembangan CRUD ( C reate, R ead, U pdate, D elete) cepat dan mudah, cerita Anda harus jauh lebih kecil, inkremental potongan.

Alih-alih "Pengguna harus dapat melihat foo mereka" , sesuatu seperti ini:

  1. Pengguna harus dapat melihat halaman dengan data sampel
  2. Pengguna harus dapat melihat halaman dengan data sampel interaktif
  3. Pengguna harus dapat melihat halaman dengan data sampel interaktif langsung

Ingatlah bahwa sebagian besar kisah pengguna yang tampaknya terlalu besar untuk dikembangkan dalam satu sprint (saya telah menemukan bahwa sesuatu yang lebih besar dari sekitar 8 poin cerita, atau hari pengembangan, terlalu besar) mungkin dapat dipecah menjadi potongan-potongan yang masih bermakna bagi pengguna.

Cerita / fitur tidak harus dapat dipasarkan, hanya saja harus bermakna bagi pemilik produk. Dalam kasus di atas, Anda bisa memasukkan beberapa potongan demo cepat untuk menunjukkan apa yang telah berubah dan bagaimana cerita itu sekarang dilakukan - misalnya, untuk # 3, Anda dapat menampilkan halaman untuk dua pengguna yang berbeda dengan data yang sudah diisi sebelumnya dalam database . Pada tahap # 2, semua pengguna akan melihat data yang sama.

Nicole
sumber
Ini adalah jawaban yang paling membantu bagi saya, karena memberikan contoh cerita pengguna yang lebih rinci. Saya pikir saya salah mengomunikasikan pertanyaan saya; Saya tahu bahwa "tugas" saya bukan cerita pengguna, tapi saya berharap itu adalah sesuatu dengan rincian serupa yang masih memenuhi syarat. Kisah-kisah yang Anda berikan adalah persis apa yang saya cari.
Domenic
Bingung soal bit "Tidak harus bisa dirilis". Bisakah Anda menjelaskan lebih lanjut? Seingat saya, semua persyaratan kisah pengguna harus diselesaikan agar cerita tersebut dianggap selesai. Menahan downvote untuk melihat apakah penjelasannya membantu.
indyK1ng
@ indyK1ng Saya tidak memikirkan arti ganda. Maksud saya, tidak setiap cerita harus menjadi fitur yang dapat dipasarkan . Tentu saja, untuk dianggap lengkap, kode apa pun harus berkualitas rilis-siap . (Jawaban yang diedit)
Nicole
3

Apa yang Anda tanyakan sangat penting "bagaimana Anda berpikir tentang ruang masalah" untuk memecahnya menjadi potongan-potongan yang masuk akal, dari mana Anda dapat melakukan desain.

Apakah Anda menyebut ini cerita pengguna, atau analisis, atau dekomposisi, atau spesifikasi, atau pengumpulan persyaratan ... pada akhirnya akan muncul beberapa hal yang biasanya akan memiliki beberapa iterasi.

Anda harus mendapatkan dari kepala pengguna apa yang mereka inginkan. (Mereka mungkin tahu sebagian dari apa yang mereka inginkan, dan menginginkan hal-hal yang tidak konsisten tetapi belum dapat melihatnya.)

Anda perlu menangkap ini dalam beberapa bentuk - Anda benar-benar hanya memiliki 2 pilihan: kata atau gambar. Keduanya memiliki kekuatan, gunakan keduanya jika Anda bisa. Kata-kata pada akhirnya lebih kuat dari sudut pandang sengketa kontrak nantinya.

Anda harus menunjukkan ini kembali dan mencari persetujuan.

Beberapa orang melakukan prototipe visual awal tanpa bisnis atau logika lain di belakang. Ini bisa menjadi teknik yang ampuh - sampai pada titik tertentu karena masih melibatkan sejumlah gerakan tangan.

Beberapa akan papan cerita - dan kemudian menyajikan dan menjelaskan.

Beberapa akan menulis dokumen yang cermat dan dianalisis dengan cermat.

Setiap teknik memiliki kelebihan dan kekurangan.

Tentang satu-satunya nasihat yang saya berikan adalah: Melompat ke coding solusi terlalu dini biasanya merupakan langkah yang buruk. Memahami APA yang harus dilakukan, untuk WHO, dan MENGAPA, sebelum Anda melakukannya umumnya mengarah pada kurang pengerjaan ulang, dan perkembangan yang lebih cepat.

Ketika Anda berbicara tentang "tugas-tugas" ini bagi saya sepertinya semacam penghancuran pekerjaan, setelah mengetahui di atas apa, siapa dan mengapa. Anda tidak dapat menemukan tugas dengan BAIK sampai cerita pengguna dipahami, dalam dokumen, disetujui oleh pelanggan sebagai ruang lingkup pekerjaan yang akan Anda lakukan. Mengetahui apa yang harus Anda capai (output) memungkinkan Anda untuk mengetahui tugas-tugas (langkah-langkah yang terlibat untuk sampai ke sana).

Jangan berhemat pada analisis ujung depan dan dokumentasi.

dengan cepat_now
sumber
+1 untuk menganjurkan lebih banyak pemikiran di muka
Gary Rowe
1

Saya pikir apa yang Anda lewatkan adalah cerita pengguna tentang menjelaskan bagaimana pengguna mengharapkan untuk menggunakan sistem. Ini adalah cara menentukan persyaratan bisnis . Mereka tidak dirancang untuk secara langsung memberi tahu Anda apa yang harus dilakukan secara teknis, yang sepertinya Anda inginkan.

Ini bisa dibilang salah satu bagian terpenting dari sebuah proyek. Jika Anda tidak mendapatkan persyaratan bisnis yang benar maka sistem tidak akan berguna bagi pengguna.

Dan McGrath
sumber
1
+1 - apa yang saya tulis hanya lebih ringkas.
cepat