Maksullisen esiselvitysvaiheen pitää päättyä päätöksiin eikä pelkkiin asiakirjoihin: mitä rakennetaan ensin ja mitä jätetään pois, tärkeimmät riskit ja miten ne testattiin, haarukkana annettu arvio oletuksineen ja aloitusvalmis ensimmäinen välitavoite. Arvioi sitä yhdellä testillä: voisitko viedä tulokset toiselle tiimille ja aloittaa rakentamisen ilman, että kaikki aloitetaan alusta?
Esiselvityksessä suuret päätökset tehdään, kun ne ovat vielä halpoja
Esiselvitys (discovery, scoping tai inception) on lyhyt maksullinen vaihe ennen ohjelmiston toteutusta. Sen tehtävä on poistaa epävarmuus, joka tekee arvioista epäluotettavia, ja ratkaista suuret päätökset, kun niiden muuttaminen on vielä halpaa. Päätöksen muuttaminen paperilla maksaa keskustelun; sen muuttaminen koodin kirjoittamisen jälkeen maksaa uudelleentyötä.
Ohjelmistojen varhaiset arviot ovat laajoja, ja ne kapenevat vain, kun päätökset poistavat epävarmuutta. Ilmiötä kutsutaan usein epävarmuuden kartioksi (cone of uncertainty). Pelkät palaverit eivät kavenna arvioita. Esiselvityksestä kannattaa maksaa, kun se pakottaa nuo päätökset: mitä tuotteen on tehtävä ensin, mitkä rajoitteet ovat kiinteitä ja mitkä tekniset riskit ovat todellisia.
Sovi ennen esiselvityksen alkua, mitä saat
Osta esiselvitys kuten mikä tahansa muu tuotos: kiinteä kesto, kiinteä hinta, nimetyt henkilöt ja kirjallinen luettelo tuotoksista. Jos kumppani ei osaa sanoa, mitä sinulla on lopuksi käsissäsi, vaihe voi ajautua loputtomiksi työpajoiksi. Kattava tuotoskokonaisuus sisältää yleensä seuraavat.
- Ongelmakuvaus: keitä käyttäjät ovat, mitä he tarvitsevat ja miten onnistumista mitataan
- Ensimmäisen julkaisun laajuus: mitä on mukana, mitä ei ja mitä lykätään
- Keskeiset käyttäjäpolut luonnoksina tai prototyyppeinä siltä osin kuin ne ovat epävarmoja
- Arkkitehtuurin pääpiirteet: pääkomponentit, integraatiot, data ja ylläpitoympäristö sekä harkitut vaihtoehdot
- Riskirekisteri, joka asettaa järjestykseen sen, mikä voisi kaataa projektin, ja kertoo, miten kutakin riskiä käsitellään
- Haarukkana annettu arvio oletuksineen sekä ensimmäinen välitavoite hyväksymiskriteereineen
- Päätösloki, johon kirjataan, mitä päätettiin, kuka päätti ja miksi
Etsi päätöksiä, älä asiakirjapinoa
Esiselvitysraportti voi olla pitkä ja silti jättää kaiken päättämättä. Lue se sitoumusten näkökulmasta: mitkä ominaisuudet ovat ensimmäisessä julkaisussa ja mitkä eivät, mitkä teknologia- ja ylläpitoympäristövalinnat on tehty, mitä integraatioita tarvitaan ja mitkä kysymykset ovat yhä avoimia, kullakin vastuuhenkilö ja päivämäärä.
Hyödyllinen signaali on se, mitä kumppani neuvoi olemaan tekemättä. Jos laajuus on lopussa suurempi kuin alussa eikä mitään karsittu, esiselvitys on luultavasti kirjannut toivelistasi testaamatta sitä. Joskus oikea johtopäätös on ostaa valmis tuote, rakentaa vähemmän tai jättää rakentamatta, ja hyvä esiselvitys sanoo sen.
Riskialttiimmat oletukset pitää testata, ei vain listata
Jokainen projekti nojaa muutamaan oletukseen, jotka muuttaisivat kaiken, jos ne olisivat vääriä: ulkoinen API, joka ei tue tarvitsemaasi toimintoa, data, joka on odotettua sotkuisempaa, suorituskykytavoite, johon valittu ratkaisu ei yllä, tai käyttäjät, jotka eivät muuta työtapojaan.
Pyydä kumppania nimeämään nämä oletukset varhain ja testaamaan pahimmat niistä esiselvityksen aikana teknisellä kokeilulla (spike), klikattavalla prototyypillä tai työpajalla kyseistä järjestelmää ylläpitävien ihmisten kanssa. Testattu riski on tietoa. Pelkästään kirjattu riski on yhä arvaus.
Rehellinen arvio on haarukka, johon on liitetty oletukset
Yksittäinen luku esiselvityksen lopussa kätkee jäljellä olevan epävarmuuden. Pyydä ensimmäiselle julkaisulle haarukka pääkomponenteittain eriteltynä sekä oletukset, jotka nostaisivat tai laskisivat sitä. Esimerkiksi: arvio olettaa, että maksupalvelun tarjoajan API tukee jo osittaisia hyvityksiä; jos ei tue, lisää erikseen eritelty integraatiotyö.
Kysy, mitkä arvion osat ovat varmoja ja mitkä vielä epävarmoja ja miten kaupallinen malli käsittelee kutakin. Varmat osat voidaan hinnoitella kiinteästi; epävarmat osat tarvitsevat budjetin ja kohdan, jossa päätät uudelleen. Ensimmäinen välitavoite pitää määritellä niin hyvin, että sen voisi toimittaa kiinteään hintaan.
Pidä irtautumistie auki jokaisessa vaiheessa
Esiselvitys on myös halvin hetki lähteä. Varmista, että omistat kaiken sen tuottaman asiakirjoista ja kaavioista prototyyppeihin ja koodiin ja että tuotokset on kirjoitettu kenelle tahansa pätevälle tiimille eikä vain ne kirjoittaneelle kumppanille. Sinun pitää voida vapaasti rakentaa kyseisen kumppanin kanssa, antaa tulokset toiselle tiimille, rakentaa itse tai lopettaa.
Vie sama ajatus seuraavaan suunnitelmaan: ensimmäinen välitavoite hyväksymiskriteereineen ja sen jälkeen päätöskohta, jossa voit jatkaa, muuttaa suuntaa tai päättää yhteistyön. Näin SDK Enterprises aloittaa projektit: kirjallinen rajaus, kiinteä ensimmäinen välitavoite ja nimetyt kehittäjät, jotta näet suunnitelman ennen sitoutumista suurempaan budjettiin. Kun tarvitset vain neuvoa, saat kirjallisen vastauksen, jonka pohjalta oma tiimisi voi toimia, rakennatpa kanssamme tai et.
Kuusi kysymystä, jotka paljastavat, kannattiko esiselvityksestä maksaa
Kun vaihe päättyy, tarkista tulokset näiden kysymysten avulla. Jos useimpiin vastaus on kyllä, rahalla ostettiin selkeyttä. Jos useimpiin vastaus on ei, maksoit työpajoista.
- Voisiko toinen tiimi aloittaa rakentamisen näiden tuotosten pohjalta toistamatta esiselvitystä?
- Puhuiko kumppani käyttäjien ja kyseisiä järjestelmiä ylläpitävien ihmisten kanssa eikä vain hankkeen omistajan kanssa?
- Testattiinko riskialttiimmat oletukset ja kirjattiinko tulokset?
- Onko arvio haarukka selkeine oletuksineen eikä yksittäinen luku?
- Karsittiinko, lykättiinkö tai kyseenalaistettiinko jotain?
- Onko ensimmäinen välitavoite määritelty niin hyvin, että sen voi hyväksyä tai hylätä?
Tärkeimmät havainnot
- Osta esiselvitys kiinteällä kestolla, kiinteällä hinnalla, nimetyillä henkilöillä ja kirjallisella tuotosluettelolla.
- Arvioi tuloksia niiden sisältämien päätösten perusteella, myös sen, mitä karsittiin tai mitä kumppani neuvoi olemaan tekemättä.
- Riskialttiimmat oletukset pitää testata esiselvityksen aikana eikä vain listata riskirekisteriin.
- Odota arvio haarukkana oletuksineen ja ensimmäinen välitavoite niin hyvin määriteltynä, että sen voi hinnoitella.
- Omista jokainen tuotos, jotta voit rakentaa kyseisen kumppanin tai toisen tiimin kanssa tai jättää rakentamatta.
UKK
Pitäisikö esiselvityksen olla maksullinen, vai voiko kumppani tehdä sen ilmaiseksi?
Ilmainen rajaus on osa myyntiä, joten se pysähtyy siihen, mikä mahtuu tarjoukseen. Maksamalla esiselvityksestä ostat aikaa koodisi lukemiseen, käyttäjiesi haastatteluun ja riskien testaamiseen sekä tuotokset, jotka kuuluvat sinulle. Pidä vaihe lyhyenä ja kiinteähintaisena, jotta sitoumus pysyy pienenä.
Kuinka kauan esiselvitysvaiheen pitäisi kestää?
Niin kauan, että luotettavaa arviota estävät kysymykset saadaan vastattua, eikä pidempään. Sovi kesto etukäteen tuotteen koon ja mukana olevien järjestelmien määrän perusteella, ja päätä vaihe päätökseen ensimmäisestä välitavoitteesta esiselvityksen jatkamisen sijaan.
Entä jos esiselvitys osoittaa, ettei projektia kannata toteuttaa?
Silloin se on tehnyt työnsä pienimmällä mahdollisella kustannuksella. Hyvä esiselvitys voi päätyä siihen, että kannattaa ostaa valmis tuote, rakentaa pienempi ensimmäinen versio tai lopettaa, ja löydökset jäävät sinulle joka tapauksessa.