Ketterien vaatimusten kokonaisuus
Ketteränkin ratkaisun suunnittelu ja toteuttaminen edellyttää dokumentoituja vaatimuksia - sekä ostettaessa toteutusta että kehitettäessä omin voimin. Tietosuojan ja tietoturvan vaatimusten huomiointi ja määrittely koskee myös ketterää kehittämistä.
Hyvin kommunikoiduilla vaatimuksilla varmistetaan, että tehtävä työ kohdistuu käyttäjille eniten arvoa tuottaviin asioihin. Toinen puoli kolikkoa on se, että ketterästi kehitettävät ratkaisut ovat lainmukaisia ja ne on kehitetty hankintalain sallimissa rajoissa.
Vaatimusten kuvaaminen aloitetaan karkealta tasolta, ja kuvausta tarkennetaan niin kauan kunnes kehitystiimi pystyy sen pohjalta suunnittelemaan itselleen päivittäiset toteutustehtävät.
Ketterät vaatimukset siis tarkentuvat koko kehitysprosessin ajan siihen saakka, kunnes yksittäinen vaatimus on rakennettu tuotteen ominaisuudeksi. Jotta tämä joustavuus on mahdollista, on kuitenkin syytä selvittää ja kirjata selvästi kaikki keskeiset tietosuoja- ja tietoturvavaatimukset ensin, jotta itse ominaisuuksien vaatimuksia voidaan sitten täsmentää iteratiivisesti ilman jatkuvaa huolta lainvastaisuudesta.
Samasta syystä keskeinen kokonaisuus ominaisuuksista eli epicit ja muut isot vaatimukset on syytä kirjata heti, jotta ketterän kehitystyön laajuus, eli mitä isossa kuvassa tavoitellaan on selvä. Hankintalain mukaisuus lähtökohtaisesti edellyttää tätä joka tapauksessa.
Betan (tai prototyypin) valmistelussa vaatimuksia käsitellään karkealla tasolla seuraavissa dokumenteissa:
- Visiolakana vetää yhteen kehityksen tavoitteet ja idean
- Käyttäjätarinakartta hahmottaa karkeasti tuotteen vaatimusten kokonaisuuden ja vaatimusten prioriteetit
- Reunaehdot sisältävät ohjausryhmän linjaamat yleiset laatuvaatimukset
- Tietosuojan ja tietoturvan vaatimukset (Helmi-intranetissä)
Betan toteutuksen käynnistyessä nämä jalostuvat seuraavasti:
- Tuotteen kehitysjono tarkentaa käyttäjätarinakartassa hahmotettua kokonaisuutta karkeiksi tuoteomistajan kirjoittamiksi käyttäjätarinoiksi
- Sprintin kehitysjono: Scrum-tiimi nostaa tuotteen kehitysjonosta sprintissä kehitettävät ominaisuudet ja tarkentaa ne hyväksyntäkriteereillä, toteutussuunnitelmalla ja työmääräarvioilla
- Valmiin määritelmä jalostaa ohjausryhmän linjaamat kriteerit laatukriteereiksi joita tuotteen ominaisuudelta vaaditaan