TL; DR
Kisah pengguna adalah untuk mendokumentasikan nilai apa yang harus ditambahkan ke produk, dan mengapa. Detail implementasi (misalnya bagaimana nilai harus ditambahkan, diuji, diukur, atau divalidasi) dibatasi oleh cerita, tetapi tidak terkandung di dalamnya. Mereka sengaja dibiarkan sebagai artefak terpisah untuk mempertahankan fleksibilitas dan kelincahan dalam kerangka kerja.
Spesifikasi dan perincian implementasi paling sering ditangkap dalam artefak lain seperti Pengembangan Penerimaan-Didorong Tes (ATDD), Pengembangan Didorong Uji (TDD), dan skrip dan skenario Pengembangan Perilaku Berbasis Driven (BDD). Artefak khusus ini tidak diamanatkan oleh kerangka kerja Scrum, tetapi mereka pasti akan memberi Anda titik awal yang baik jika Anda belum memiliki kontrol proses efektif lainnya.
Cerita Pengguna Bukan Spesifikasi
Poster asli (OP) menanyakan pertanyaan berikut :
[A] pelanggan menginginkan pemrosesan berbeda untuk kartu kredit yang berbeda, ada persyaratan ketat yang harus diterapkan dan diketahui sehingga kasus uji dapat ditulis ... DI MANA SAYA HARUS MEMASANG JIKA TIDAK DALAM KISAH?
Kisah pengguna adalah fitur yang memberikan nilai , menyediakan beberapa konteks untuk memandu percakapan tentang implementasi, dan sudut pandang yang terkait dengan konsumen nilai yang akan mendapat manfaat dari nilai yang disampaikan oleh fitur.
Seluruh titik dari cerita pengguna adalah bahwa rincian pelaksanaan tidak preskriptif. Tim bebas untuk mengimplementasikan fitur dengan cara apa pun yang memberikan nilai yang diidentifikasi kepada konsumen nilai dalam konteks yang sesuai.
Contoh yang Dikerjakan
Contoh Kisah Pengguna
Ini lebih mudah untuk dijelaskan jika Anda mulai dengan serangkaian cerita pengguna yang kurang ambigu. Karena OP tidak memberikan kisah pengguna yang dapat ditindaklanjuti yang mengikuti mnemonik INVEST , saya akan menciptakan satu demi contoh. Pertimbangkan kisah berikut:
Sebagai pengguna yang lebih suka membayar dengan kartu Discover,
saya ingin opsi untuk melakukan pembelian saya dengan kartu Discover
sehingga saya tidak terbatas pada Visa, Mastercard, atau American Express.
Ini menyediakan fitur konkret, menyediakan beberapa konteks yang dapat memandu keputusan implementasi yang harus dibuat oleh tim, dan mengidentifikasi konsumen nilai sebagai pelanggan pemilik kartu Discover. Itu bukan seperangkat spesifikasi, tapi itu yang Anda butuhkan untuk memiliki percakapan yang tepat dengan pelanggan dan dengan tim tentang cara terbaik untuk mengimplementasikan cerita selama iterasi pembangunan.
Analisis dan Implementasi
Implementasi aktual tergantung pada tim. Tim harus melakukan beberapa analisis untuk menentukan:
- Cara termudah untuk mengimplementasikan fitur baru.
- Manakah dari berbagai opsi implementasi yang akan paling mudah untuk mendukung ke depan, tanpa menimbulkan hutang teknis.
- Cara menerapkan prinsip terbuka-tertutup dan YAGNI untuk memastikan bahwa fitur baru Anda kuat tanpa direkayasa berlebihan.
Salah satu prinsip inti dari Agile Manifesto adalah kolaborasi pelanggan. Tim lintas-fungsi, pengorganisasian diri diharapkan dapat berkolaborasi dengan pelanggan untuk mengerjakan rincian implementasi dalam pedoman yang disediakan oleh kisah pengguna.
Jika cerita pengguna Anda tidak ditulis dengan baik, atau jika tim tidak memiliki keterampilan atau kematangan proses untuk melakukan analisis yang cukup yang diperlukan oleh kerangka kerja tangkas mereka, maka ini jelas akan jauh lebih sulit daripada yang seharusnya. Seluruh buku telah ditulis tentang bagaimana membuat cerita pengguna yang baik pada tingkat rincian yang tepat; sayangnya tidak ada peluru perak, tetapi itu adalah keterampilan yang bisa dipelajari untuk tim tangkas.
Desain yang Didorong oleh Tes dan Perilaku-Didorong
Cara terbaik untuk memastikan bahwa analisisnya masuk akal, dan bahwa implementasinya baik dan mendukung adalah melalui penggunaan praktik TDD dan BDD. Misalnya, mengingat cerita di atas, tim harus menangkap implementasi yang direncanakan melalui artefak seperti:
Fitur mentimun dengan skenario yang dapat diuji.
Ini paling berguna untuk mendorong pengembangan tes penerimaan, dan untuk mendokumentasikan ekspektasi pengguna terhadap perilaku aplikasi. Misalnya, kisah pengguna harus memiliki satu atau lebih fitur Mentimun terkait yang menjelaskan bagaimana pengguna dapat memeriksa dengan kartu Discover, dan seperti apa proses itu bagi pengguna.
RSpec menguji yang memvalidasi perilaku (bukan detail implementasi internal) fitur kode baru.
Ini paling berguna untuk mendokumentasikan dan memvalidasi perilaku fitur yang dimaksud dalam aplikasi. Sebagai contoh, kisah pengguna akan mendorong pembuatan unit dan tes integrasi yang memastikan bahwa menggunakan kartu Discover memunculkan perilaku spesifik kartu apa pun yang diperlukan aplikasi untuk mengesahkan penjualan melalui gateway pembayaran.
Alat khusus tidak penting. Jika Anda tidak menyukai Mentimun atau RSpec, gunakan alat atau metodologi apa pun yang paling cocok untuk tim Anda. Namun, intinya adalah bahwa detail implementasi didasarkan pada kisah pengguna , tetapi tidak ditentukan olehnya . Sebaliknya, implementasi (atau spesifikasinya, jika Anda mau) adalah detail yang harus dikerjakan selama pengembangan fitur secara kolaboratif.