Ohjelmistokehityksessä on joitain perustotuuksia, jotka pätevät olipa kehitysmalli mikä tahansa. Yksi tällainen totuus on se, että ennen kun jotain voidaan tehdä, on tiedettävä mitä pitäisi tehdä. Ohjelmistokehitysmenetelmien historia tuntee useita erilaisia tapoja määritellä toivottu lopputulos. Siinä, kuinka paljon tavoitetilasta pitäisi tietää missäkin menetelmässä, on hyvin suuria eroja. Samoin siinä, miten toivottu lopputulos itse asiassa kuvataan.
Asiasta käytetään usein nimeä vaatimusmäärittely ja sen koostamiseen käytetään yleisesti monia erilaisia kuvaustapoja. IEEE on tehnyt suosituksen, kuinka vaatimukset pitäisi kuvata; UML ja monet muut menetelmät suosittelevat käytttapausten käyttöä; joissakin menetelmissä käytetään käyttötapausten sijaan skenaarioita ja käytännössä valtaosa projekteista käyttää jotain epävirallista, kenties itsekehitettyä tapaa kuvata vaatimukset jollain tavalla.
Tässä kirjassa esitellään käyttäjätarinat, jotka ovat erityisen hyvin ketteriin menetelmiin soveltuva tapa kuvata kehitettävälle järjestelmälle asetettuja toiveita. Käyttäjätarinoiden esittelyn lisäksi kirjassa käydään kattavasti läpi koko ketterä kehitysprosessi tarinankirjoituksesta julkaisusuunnitelmaan ja iteraation suunnitteluun.
Luvussa 15 esitetään miten käyttäjätarinoita voidaan käyttää Scrumin kanssa. Käyttäjätarinat istuvat luontaisesti tuotteen työlistan (engl. product backlog) muodostamiseen. Sprintin työlistaan (engl. sprint backlog) käyttäjätarinat pilkotaan vielä pienemmiksi, selkeiksi tehtäviksi.
Luvut 2-5 tuovat loistavasti esiin ketteriin menetelmiin sisäänrakennetun käyttäjälähtöisyyden ja asiakasyhteistyön. Heti projektin aluksi mietitään käyttäjäroolit (tai ehkä mennään vielä pidemmälle, ja määritellään persoonat) ja kuinka tarinat kirjoitetaan, priorisoidaan ja lopulta toteutetaan tiiviissä yhteistyössä asiakkaan kanssa.
Tätä kirjaa voi suositella varauksetta kenelle tahansa. Niin projektipäälliköiden, Scrum-mestarien, tuotteen omistajien ja kehittäjien kuin ylemmän johdonkin on hyvä tietää, millä tavoin projektia voidaan ohjata käyttäjätarinoilla - myöskään projektin tilaajaa, asiakasta unohtamatta. Kunkin luvun lopussa onkin kätevä tiivistelmä kulloisestakin aiheesta kahdesta eri näkökulmasta: mitkä asiat ovat asiakkaan vastuulla ja mitkä ovat kehittäjien vastuulla. Näiden lisäksi on myös aiheeseen liittyviä kysymyksiä, joita pohtimalla pääsee punnitsemaan, kuinka hyvin sisäisti esitetyn ajatuksen. Kirjan lopussa (Appendix B) on myös vastaukset esitettyihin kysymyksiin.
Sisältö:
- Part 1: Getting Started
An Overview
- Writing Stories
- User Role Modeling
- Gathering Stories
- Working with User Proxies
- Acceptance Testing User Stories
- Guidelines for Good Stories
Part II: Estimating and Planning
- Estimating User Stories
- Planning a Release
- Planning an Iteration
- Measuring and Monitoring Velocity
Part III: Frequently Discussed Topics
- What Stories Are Not
- Why User Stories
- A Catalog of Story Smells
- Using Stories with Scrum
- Additional Topics
Part IV: An Example
- The User Roles
- The Stories
- Estimating the Stories
- The Release Plan
- The Acceptance Tests
Part V: Appendices
- Appendix A: An Overview of Extreme Programming
- Appendix B: Answers to Questions