6 sammu ideest teostuseni - millal kaaluda tarkvaraarendust?

Tehisaru turule tulek on IT arenduse muutunud kättesaadavaks ka väikestele ja keskmise suurusega ettevõtetele, mistõttu tasub igal ettevõttel või organisatsioonil kaaluda äri edasiviimist läbi IT. Ei ole kindlat mõõdikut või meetodit, mille abil hinnata, kas tasub investeeringut teha või mitte. Siiski on mõned abistavad näpunäited, mida tasub kaaluda. 

Tellimuse suuna määrab arenduse vajaduse lähtekoht. See sõltub äri iseloomust:

  • Toimiva ärimudeli uuendamine IT lahenduse abil     

  • Uue ärimudeli loomine baseerudes IT lahendusele 

  • Juba olemasoleva IT lahenduse uuendamine 

AgileWorks pakub lahendust kõikidel juhtudel. Meie meeskonnas on analüütikud, disainerid, arhitektid, arendajad, testijad ja projektijuhid, kes pakuvad tuge kõikides tellimuste faasides. Suures plaanis on võimalik arenduse protsess jaotada 7 sammuks. Siiski tuleb meeles pidada, et arendus on loominguline ja elav protsess. Ideaalses olukorras peaks olema meeskonnale plaanitud piisavalt aega, et vajadusel erinevaid samme korrata, kuniks äril on saavutatud kindlus, et etapi lõpuks on jõutud soovitud tulemuseni. Eriti oluline on see esimeses 4 sammus. 

AgileWorks pakub lahendust kõikidel juhtudel. Meie meeskonnas on analüütikud, disainerid, arhitektid, arendajad, testijad ja projektijuhid, kes pakuvad tuge kõikides tellimuste faasides. Suures plaanis on võimalik arenduse protsess jaotada 7 sammuks. Siiski tuleb meeles pidada, et arendus on loominguline ja elav protsess. Ideaalses olukorras peaks olema meeskonnale plaanitud piisavalt aega, et vajadusel erinevaid samme korrata, kuniks äril on saavutatud kindlus, et etapi lõpuks on jõutud soovitud tulemuseni. Eriti oluline on see esimeses 4 sammus. 

  1. Planeerimine & analüüs

  2. Kasutuslugude defineerimine 

  1. Disain & prototüüpimine 

  1. Arendus 

  1. Testimine 

  1. Implementeerimine 

  1. Edasiarendused & hooldus

blogichartd.svg

Agileworks töötab agiilse meetodi alusel, mis paneb fookusesse tulemuse. Põhiliseks märksõnaks on töö väikeste lõikude kaupa, et võimalikult ruttu saada kätte reaalne kasutajakogemus. See tähendab, et ülal kirjeldatud seitse punkti kehtivad korraga terve arenduse, aga ennekõike selles sisalduvate üksikute funktsionaalsuste kohta. Suur pilt on joonistatud üldiste piirjoontega, selles sisalduvad üksikosad on detailselt kirjeldatud. Arendus toimub loogiliste etappide kaupa. Iga eelnenud arenduse etapp annab sisendi järgmisele.  

1. Planeerimine & analüüs  

Luubi all on ärivajaduse selgitamine ja arenduse tehnoloogiline lahendus. Selles faasis selgub projekti üldine plaan ning on vaja hinnata, millised tehnoloogiad vastavad kõige paremini äri vajadustele. Parima tulemuse nimel on hea juba väga algses faasis kaasata IT analüütik ja arhitekt, sest kogemusega konsultant aitab seada fookust aspektidele, mis muidu tähelepanuta võivad jääda. Analüütikud töötavad tihedas koostöös äriga, et täielikult mõista arenduse soove ja arenguvõimalusi.  

Kui eesmärk on defineeritud ja projekti piirjooned seatud, saab edasi liikuda konkreetsete kasutuslugudega. Kasutuslugu kätkeb ühes lihtlauses kasutaja vajaduse või tegevusi loodavas süsteemis. Näiteks  Kasutaja saab vahetada oma parooli“. Nende alusel luuakse esmalt disain ja hiljem arenduse piletid.  Lugude kirjeldamise käigus hakkab elama uus süsteem. Selles faasis on oluline lahti lasta vanadest tööprotsessidest ja kasutuses olevatest süsteemidest ning lasta fantaasial tulevikus lennata, sest eesmärk on äri edasi viia ja kasutada kõikvõimalikke uusi lahendusi, mis võiks eelise anda. 

2. Disain & prototüüpimine  

Disain ei ole ainult ilus pilt. IT arenduses on sama tähtis kasutaja teekond. Intuitiivne ja mugav süsteem tagab kiire ja takistustevaba kasutajakogemuse. Kellelegi ei meeldi ekraanilt otsida, kuhu peab vajutama või liikuma. Me ei taha oma aega digitaalsetes keskkondades orienteerumise peale raisata. Seda ennetab prototüüpimine, mis võimaldab kiiresti testida võimalikke versioone. 

Parima tagasiside annab prototüübi testimine erinevate kasutajatega. Lisaks disainile saab testimise käigus ka äri väga palju väärtuslikku tagasisidet. Sageli koguneb prototüübi testimisel hulk uusi kasutuslugusid, mille vajadus tuleb äriga koos uuesti analüüsi võtta. On täiesti ootuspärane, et prototüübi testimine võib alustada mitu korda ringi analüüs-kasutuslugu-disain-prototüüp-test. 

3. Arendus  

Ehk koodi kirjutamise faas. Arenduse käigus realiseeruvad varem kokku lepitud kasutuslood. Tasahaaval valmib uus süsteem, mida saab kasutada. Arendus toimub etappide kaupa. Iga lõppev etapp õpetab ning annab edasisidet järgmisele etapile. Kogu arenduse jooksul toimub analüüs ja koostöö äriga on pidev, et tagada süsteemi vastavus ärivajadusele. 

Arendus toimub kliendiga varasemalt kokkulepitud keskkondades. Koodi kirjutab arendaja lokaalses keskkonnas, millele pääseb ligi ainut arendaja arvutist. Väikeste osade kaupa tarnitakse sealt kood testkeskkonda, millele on ligipääs arendusega seotud meeskonnal 

4. Testimine  

Tehtud uuendused tuleb testida. AgileWorksi kõik arendused on kaetud automaatsete testidega (https://circleci.com/blog/what-is-end-to-end-testing/). See tähendab, et sisuliselt õpetame masina klikkima süsteemi läbi. Selliselt ei pea uuendusi lisades muretsema, et muudatus teeb süsteemi teisest otsast katki. Automaattestidega saab kiiresti testida süsteemi tervikuna. Lisaks masinale testib ka inimene, sest kasutajakogemuse kohta masinalt tagasisidet ei saa. 

5. Implementeerimine 

Kui arendus on testitud, siis tarnitakse need live keskkonda, kus uuendused jõuavad lõppkasutajani. Väikeste osade kaupa töötamine võimaldab sujuvaid katkestusteta tarneid. Muudatused jõuavad live keskkonda töös katkestusi tekitamata. 

6. Täiendused & hooldus 

Olenevalt projekti iseloomust jätkub arendus, kas täienduste või hooldusega. Kui töötatakse uue toote kallal, siis saab lõppkasutajatelt palju uut tagasisidet, mille põhjal toodet edasi arendada. Pikalt kasutuses olevate toodete uuendamisega ei pruugi jätkuarendusi kaasneda, ent süsteem vajab ikkagi aeg-ajalt hooldust. Suuremate tõrgete vältimiseks tasub olemasolevat IT süsteemi pidevalt  uuendada.