Patton Jeff. Cerita pengguna. Seni Pembangunan Perisian Tangkas

Anotasi

Buku ini adalah algoritma yang diceritakan untuk menjalankan proses pembangunan daripada idea kepada pelaksanaan menggunakan teknik tangkas. Proses dibentangkan dalam langkah-langkah dan pada setiap langkah kaedah untuk langkah proses ditunjukkan. Penulis menegaskan bahawa kebanyakan kaedah adalah tidak asli, tanpa mendakwa ia asli. Tetapi gaya penulisan yang baik dan beberapa integriti proses menjadikan buku itu sangat berguna.

Teknik utama pemetaan cerita pengguna adalah untuk menstruktur idea dan persembahan semasa pengguna bergerak melalui proses tersebut.

Pada masa yang sama, proses itu boleh diterangkan dengan cara yang berbeza. Anda boleh membina langkah semasa anda mencapai nilai utama, atau anda boleh mengambil dan membayangkan hari bekerja pengguna semasa ia menggunakan sistem. Penulis memberi tumpuan kepada fakta bahawa proses perlu digariskan, dituturkan dalam bentuk cerita pengguna pada peta proses, yang memberi kami nama peta cerita pengguna.

Siapa yang memerlukannya

Untuk penganalisis IT dan pengurus projek. Wajib baca. Mudah dan menyeronokkan untuk dibaca, buku ini bersaiz sederhana.

Kajian

Dalam bentuk yang paling mudah, ini adalah cara ia berfungsi.

Seorang pelawat datang ke kafe, memilih hidangan, membuat pesanan, menerima makanan, makan dan membayar.

Kita boleh menulis keperluan untuk apa yang kita inginkan daripada sistem pada setiap peringkat.

Sistem harus menunjukkan senarai hidangan, setiap hidangan mempunyai komposisi, berat dan harga dan boleh ditambah ke troli. Mengapa kita yakin dengan keperluan ini? Ini tidak diterangkan dalam perihalan keperluan "standard" dan ini menimbulkan risiko.

Pelaku yang tidak memahami mengapa ini perlu biasanya melakukan perkara yang salah. Pelaku yang tidak terlibat dalam proses mencipta idea tidak terlibat dalam hasilnya. Agile berkata, mari kita fokus terutamanya bukan pada sistem, tetapi pada orang, pada pengguna, tugas dan matlamat mereka.

Kami mencipta persona, memberi mereka butiran untuk empati, dan mula bercerita dari sisi persona.

Pekerja pejabat Zakhar pergi makan tengah hari dan ingin makan snek cepat. Apa yang dia perlukan? Ideanya ialah dia mungkin mahu makan tengah hari perniagaan. Idea lain ialah dia mahu sistem mengingati keutamaannya, kerana dia sedang berdiet. Idea lain. Dia mahu kopi dibawa segera kerana dia sudah biasa minum kopi sebelum makan tengahari.

Dan ada juga perniagaan (karakter organisasi ialah watak yang mewakili kepentingan sesebuah organisasi). Perniagaan ingin meningkatkan purata cek, meningkatkan kekerapan pembelian dan meningkatkan keuntungan. Ideanya ialah - mari kita tawarkan hidangan luar biasa dari beberapa masakan. Idea lain - mari kita perkenalkan sarapan pagi.

Idea boleh dan harus dikonkritkan, diubah dan dipersembahkan dalam bentuk cerita pengguna. Sebagai pekerja Pusat Perniagaan Zakhar, saya mahu sistem mengenali saya supaya saya boleh menerima menu berdasarkan keutamaan saya. Sebagai pelayan, saya mahu sistem memberitahu saya bila hendak mendekati meja supaya pelanggan berpuas hati dengan perkhidmatan yang pantas. Dan sebagainya.

Berpuluh-puluh cerita. Seterusnya ialah keutamaan dan tunggakan? Jeff menunjukkan masalah yang timbul: terperangkap dalam butiran kecil dan kehilangan pemahaman konseptual, serta mengutamakan fungsi menghasilkan gambaran yang compang-camping kerana tidak konsisten dengan matlamat.

Laluan pengarang: Kami tidak mengutamakan fungsi, tetapi hasilnya = apa yang pengguna dapat pada akhirnya.

Perkara yang jelas tidak jelas: sesi keutamaan tidak dijalankan oleh seluruh pasukan, kerana ia tidak berkesan, tetapi oleh tiga orang. Yang pertama bertanggungjawab untuk perniagaan, yang kedua untuk pengalaman pengguna dan yang ketiga untuk pelaksanaan.

Marilah kita memilih minimum untuk menyelesaikan satu masalah pengguna (penyelesaian berdaya maju minimum).

Kami memperincikan idea keutamaan pertama menggunakan cerita pengguna, lakaran reka bentuk, kekangan dan peraturan perniagaan pada peta cerita pengguna dengan memberitahu dan berbincang dengan pasukan perkara yang diperlukan oleh orang dan pihak berkepentingan pada setiap langkah proses. Kami meninggalkan idea yang selebihnya tanpa diselidiki dalam peluang tertunggak.

Proses ini ditulis pada kad dari kiri ke kanan, dengan idea pada kad di bawah langkah proses. Adalah penting bahawa laluan melalui keseluruhan cerita dibincangkan bersama ahli pasukan untuk memastikan persefahaman bersama.

Penghuraian dengan cara ini mewujudkan integriti dengan mematuhi proses.

Idea yang diterima perlu diuji. Seorang bukan ahli pasukan memakai topi orang itu dan menghidupkan hari orang itu dalam kepalanya, menyelesaikan masalahnya. Ada kemungkinan dia tidak melihat perkembangan, mencipta kad semula, dan pasukan itu menemui alternatif untuk dirinya sendiri.

Kemudian ada perincian untuk penilaian. Tiga orang cukup untuk ini. Bertanggungjawab untuk pengalaman pengguna, pembangun, penguji dengan soalan kegemaran: β€œBagaimana jika...”.

Pada setiap peringkat, perbincangan mengikut peta proses sejarah pengguna, yang membolehkan mengekalkan tugas pengguna dalam fikiran untuk mencipta pemahaman yang koheren.

Adakah dokumentasi perlu pada pendapat penulis? Ya, saya perlukannya. Tetapi sebagai nota yang membolehkan anda mengingati apa yang anda persetujui. Melibatkan orang luar sekali lagi memerlukan perbincangan.

Penulis tidak mendalami topik kecukupan dokumentasi, memfokuskan kepada keperluan perbincangan. (Ya, dokumentasi diperlukan, tidak kira bagaimana orang yang tidak mempunyai pemahaman mendalam tentang tangkas menuntutnya). Selain itu, perincian hanya sebahagian daripada keupayaan mungkin membawa kepada keperluan untuk kerja semula lengkap keseluruhan sistem. Pengarang menunjukkan risiko penghuraian yang berlebihan dalam kes apabila idea itu salah.

Untuk menghapuskan risiko, adalah perlu untuk menerima maklum balas dengan cepat mengenai produk yang dicipta untuk meminimumkan kerosakan akibat mencipta produk yang "salah". Kami membuat lakaran idea - mengesahkannya dengan pengguna, melakar prototaip antara muka - mengesahkannya dengan pengguna, dsb. (Secara berasingan, terdapat sedikit maklumat tentang cara mengesahkan prototaip program). Matlamat mencipta perisian, terutamanya pada peringkat awal, adalah belajar melalui menerima maklum balas pantas; oleh itu, produk pertama yang dicipta adalah lakaran yang dapat membuktikan atau menyangkal hipotesis. (Penulis bergantung pada karya Eric Ries "Permulaan menggunakan metodologi Lean").

Peta cerita membantu meningkatkan komunikasi apabila pelaksanaan dijalankan merentas berbilang pasukan. Apa yang perlu ada pada peta? Apa yang anda perlukan untuk meneruskan perbualan. Bukan sekadar cerita pengguna (siapa, apa, mengapa), tetapi idea, fakta, lakaran antara muka, dll...

Dengan membahagikan kad pada peta sejarah kepada beberapa garisan mendatar, anda boleh membahagikan kerja kepada keluaran - menyerlahkan minimum kosong, lapisan peningkatan fungsi dan haluan.

Kami bercerita pada peta proses.

Seorang pekerja datang untuk makan tengah hari.

Apa yang dia mahu? Kelajuan perkhidmatan. Supaya makan tengaharinya sudah menunggunya di atas meja atau sekurang-kurangnya di atas dulang. Oops - langkah yang terlepas: pekerja itu mahu makan. Dia log masuk dan memilih pilihan makan tengah hari perniagaan. Dia melihat kandungan kalori dan kandungan nutrisi untuk membantunya berdiet dan tidak menambah berat badan. Dia melihat gambar-gambar hidangan untuk memutuskan sama ada dia akan makan di tempat itu atau tidak.

Seterusnya, adakah dia akan pergi mendapatkan makan tengah hari dan makan malam? Atau mungkin makan tengah hari akan dihantar ke pejabatnya? Kemudian langkah proses memilih tempat makan. Dia mahu melihat bila ia akan dihantar kepadanya dan berapa kosnya, jadi dia boleh memilih tempat untuk menghabiskan masa dan usahanya - turun ke bawah atau pergi bekerja. Dia ingin melihat betapa sibuknya kafe itu supaya tidak bersesak-sesak dalam barisan.

Kemudian pekerja itu datang ke kafe. Dia mahu melihat dulangnya supaya dia boleh mengambilnya dan terus ke makan malam. Kafe mahu menerima wang untuk membuat wang pada perkhidmatan. Pekerja itu mahu kehilangan masa minimum pada penyelesaian dengan kafe, supaya tidak membuang masa berharga dengan sia-sia. Bagaimana hendak melakukannya? Bayar awal atau sebaliknya selepas perkhidmatan dari jauh. Atau bayar on the spot menggunakan kiosk. Apakah perkara yang paling penting tentang ini? Berapa ramai orang yang sanggup membayar untuk makan tengah hari dengan kad bank? Berapa ramai orang yang akan mempercayai kantin ini untuk menyimpan nombor kad mereka untuk pembayaran berulang? Tanpa penyelidikan lapangan tidak jelas, ujian diperlukan.

Pada setiap langkah proses, anda perlu menyediakan fungsi, untuk ini anda perlu mengambil seseorang sebagai asas dan memilih apa yang lebih penting baginya (tiga pemilih yang sama). Mengikuti cerita hingga akhir = membuat penyelesaian yang berdaya maju.

Seterusnya datang perincian. Pelanggan ingin melihat betapa sibuknya kafe itu, supaya tidak bersesak-sesak dalam barisan. Apa sebenarnya yang dia mahukan?

Lihat ramalan bilangan orang yang akan ada dalam masa 15 minit apabila dia tiba di sana

Lihat purata masa perkhidmatan di kafe dan dinamiknya setengah jam lebih awal

Lihat situasi dan dinamik penghunian meja

Bagaimana jika sistem ramalan memberikan hasil yang tidak jelas atau berhenti berfungsi?

Tonton melalui video baris gilir di kafe, serta penghunian meja. Hmm, kenapa tak buat dulu?!

Penulis menunjukkan latihan kecil untuk diamalkan: cuba bayangkan apa yang anda lakukan pada waktu pagi selepas bangun. Satu kad = satu tindakan. Besarkan kad (bukannya mengisar kopi, minum minuman yang menyegarkan) untuk mengeluarkan butiran individu, tidak memfokuskan pada kaedah pelaksanaan, tetapi pada matlamat.

Buku ini untuk siapa: penganalisis IT dan pengurus projek. Wajib baca.

Aplikasi

Perbincangan dan membuat keputusan berkesan dalam kumpulan 3 hingga 5 orang.

Tulis pada kad pertama apa yang perlu dibangunkan, pada yang kedua - betulkan apa yang anda lakukan pada yang pertama, pada yang ketiga - betulkan apa yang dilakukan pada yang pertama dan kedua.

Sediakan cerita seperti kek - bukan dengan menulis resipi, tetapi dengan mengetahui siapa, untuk majlis apa dan untuk berapa orang kek itu. Jika kita memecahkan jualan, maka ia bukan kepada pengeluaran kek, krim, dan lain-lain, tetapi kepada pengeluaran kek siap kecil.

Pembangunan perisian adalah serupa dengan membuat filem, apabila anda perlu membangunkan dan menggilap skrip dengan teliti, mengatur adegan, pelakon, dll. sebelum penggambaran bermula.

Akan sentiasa ada kekurangan sumber.

20% daripada usaha menghasilkan hasil yang ketara, 60% memberikan hasil yang tidak dapat difahami, 20% daripada usaha adalah berbahaya - itulah sebabnya penting untuk memberi tumpuan kepada pembelajaran dan tidak putus asa sekiranya keputusan negatif.

Berkomunikasi secara langsung dengan pengguna, rasakan diri anda berada dalam kedudukannya. Fokus pada beberapa masalah.

Memperincikan dan mengembangkan cerita untuk penilaian adalah bahagian yang paling suram dalam scrum, buat perbincangan berdiri dalam mod akuarium (3-4 orang berbincang di papan, jika seseorang mahu mengambil bahagian, dia menggantikan seseorang).

Sumber: www.habr.com

Tambah komen