Arendus- ja ärimudelid

Tarkvara arendusmudeli valik sõltub suuresti projekti ulatusest. Mida suurem projekt, seda vähem sobivad ranged ja piiritletud mudelid. Väiksema projekti korral on kergem lõpptulemust ette näha ning ulatuslikuma puhul ei suuda seda keegi ennustada ja algse variandi muutumist nähakse olemusliku ja paratamatuna. Tarkvaraarenduse protsess sõltub ka arendajate eelistustest, kogemustest ja harjumustest. 

Tavaliselt sisaldab tarkvaraloomeprotsess süsteemianalüüsi, disaini, programmeerimist, testimist, silumist, juurutamist ja hooldust. Süsteemianalüüsi käigus püütakse täpselt määratleda, mida loodav tarkvara peaks tegema. Kui seda ei ole võimalik täpselt defineerida, siis võib sobida ka lahenduse üldkuju. Prototüüpimise käigus luuakse tulevase lahenduse osaline mudel. Disainiga luuakse tarkvara sisemine arhitektuur – seda tehakse tihti võimalikult detailselt pseudokoodi tasemel. Disainitud algoritmi püütakse teostada programmeerimiskeeles. Testimise käigus kontrollitakse lahenduse töökindlust, jõudlust ja eesmärgipärasust. Silumisega püütakse testimisel ilmnevad vead likvideerida ning võimalusel koodi optimeerida. Juurutamine võib tähendada tarkvara müüki laskmist või konkreetsele tellijale paigaldamist. Viimasel juhul tähendab juurutamine ka tulevaste kasutajate koolitamist tarkvaraga töötamiseks. Hoolduse käigus püütakse eemaldada vead, mis ilmnevad tarkvaraga töötamise käigus. Samuti võidakse teha alles hiljem selguvaid täiendusi, ning luuakse näiteks klienditugi. 

Arendusprotsessidena võidakse kasutada „kosemudelit“, inkrementaalne arendust, iteratiivset mudelit, spiraalset mudelit või agiilset ehk välearendust. Kosemudel on üks vanimaid tarkvaraarenduse mudeleid, mille korral tagasipöördumist esimestesse osadesse püütakse vältida ning arendus toimub suhteliselt rangelt järkjärguliselt, kusjuures iga tarkvaraloomeprotsessi etapp püütakse enne järgmist lõplikult valmis saada. Kosemudelit peetakse tänapäeval aegunuks, ent peamine probleem võib olla selle lohakas jälgimises. Suuremate projektide korral on seda tõesti raske kasutada. V-mudelit peetakse kosemudeli alaliigiks, mille korral kodeerimine on V-tähe tipuks. Vasakult alla liikudes täpsustatakse nõuded kuni koodi genereerimiseni. Paremalt ülesse minnes kontrollib arendusmeeskond nii koodi kui ka mudelite kvaliteeti. Inkrementaalne arendus sobib juhul, kui lõpptulemust on raske ette näha. Arendus on tsükliline ning kosemudeli etappe läbitakse korduvalt, tehes pidevalt täiendusi. Esialgne variant viiakse kliendini varakult ning siis hakatakse seda täiendada vastavalt kliendi soovidele ja vajadustele. Kordustega mudel on sarnane inkrementaalsega, aga tegevust dokumenteeritakse ning see võimaldab ka mõne „täienduse“ ära jätta ja varasemast punktist uuesti alustada. Spiraalmudeli korral ei läbita igat arenduse etappi rangelt, vaid vajaduspõhiselt – täiendatakse ainult seda osa, mis vajab täiendamist. Agiilne arendus on välja kujunenud kogemusest, et projekt võib läbi kukkuda. Eesmärgiks on korraldada töö viisil, mis suurendaks edu saavutamise tõenäosust. Eeldatakse, et muutusi tekib projekti käigus kindlasti ning nendele tuleb lihtsalt kiirelt ja adekvaatselt reageerida. Kliendile püütakse edastada kõik töötavad funktsioonid võimalikult kiiresti ning lähtudes pretensioonidest, uutest vajadustest ja headest ideedest, proovitakse arendust täiendada. Agiilsele arendusele on dokumenteeritud ka põhimõtted ning 12 põhiprintsiipi. Agiilse arenduse variandid on veel XP (ekstreemprogrammeerimine), mis keskendub peamiselt kiirele algvariandi väljastamisele, ja FDD (funktsioonipõhine arendus), mis arvestab kõige rohkem kliendi heaksarvamistega. 

Erinevaid ärimudeleid peaks kokku olema vähemalt 50. Kahtlemata enamus neist ei sobi IT sektorisse, aga ligi kümmekond vast küll. Tarkvaraäris sõltub ärimudeli tüübi valik sellest, kas ettevõte pakub arendusteenust või lõpptoodet. Lisaks mängib rolli väärtusahel, eelarve suurus, konkreetse organisatsiooni subkultuur, lõppkliendi kaugusest ettevõttest ning asjaolu, kas arendusprotsessis osaletakse üksi või ollakse sõltuvad teistest firmadest. 

Tarkvaraäris kasutatavate ärimudelite hulgast võib eristada traditsioonilist omandvara, omandvara koos riistvaraga, tarkvararenti, SaaS’i ning Freemiumi. Riistvara koos tarkvaraga müüb loomulikult Apple, kelle toodetel on vastavad OS’id sujuvalt funktsioneerimas- ühilduvusega pole mingeid probleeme. Tarkvararendi korral antakse vastav tarkvara kasutada teatavaks kokkulepitud ajaks - heaks näiteks on Jetbrain’i IDE’d. SaaS võib olla reklaamipõhine, nagu on näiteks Meta ja Google’i tooted. Freemiumi korral on lihtsaimad variandid sageli tasuta ning edasiarendused tasulised. 

Tegemist on kahe üsna mahuka ja IT-sektoris vajaliku teemaga, millest võiks mõlemast kirjutada raamatu. Tingimata on enamus programmeerijad kuulnud agiilsest arendamisest, aga kas sellest teatakse ka süviti või jääb selle korraldamine eelkõige IT-juhile. Iga projekt on erinev ning vastavalt sellele tuleb ilmselt teha arendusprotsessi valik. Iga tarkvara arendus kui toode on erinev, ning vastavalt selle tuleb ilmselt teha ärimudeli valik. 

 

 

 

 

 

Kasutatud kirjandus:

https://et.wikipedia.org/wiki/Tarkvaraarendus

https://et.wikipedia.org/wiki/Koskmudel

https://et.wikipedia.org/wiki/Välearendus

https://rillo.ee/2021/04/16/motteid-tehnoloogiast-arendusmudel-ja-arimudel-uhte-sammu-astumas/

 

 

 

Kommentaarid

Populaarsed postitused sellest blogist

Eetika ja IT

Inimese ja arvuti suhtlus, ergonoomika ja kasutatavus

Võrkude rikkus: vabast tarkvarast vaba kultuur