16. detsember 2015 kell 21:01

Miks tarkvara arendusprojektid ebaõnnestuvad?

Tarkvaraarendusest saab parimat kasu vaid siis, kui ettevõtte juhtkonnal on motivatsioon ja oskused projektis kaasa lüüa.

Põhilised meetodid tarkvara juurutamiseks:

Waterfall ehk kose meetodÜsna jäik tarkvara juurutamise meetod, mis põhineb kindlal mudelil. Arendus jagatakse tavapäraselt käivitamise, kavandamise, realiseerimise ja juurutamise faasidesse. Iga järgmise etapi juurde minnakse alles siis, kui eelnev on lõpuni tehtud. Suurimaks eeliseks on see, et eelarve on kindlalt paigas.

Agile ehk agiilne meetodKindlat raamistikku ei ole, kõikide detailideni jõutakse arendustegevuse käigus. Väga paindlik viis tarkavaraarenduseks. Miinuseks on see, et eelarvet ei ole võimalik fikseerida ja töömaht selgub protsessi käigus.

Infotehnoloogia ehk IT ei ole ammu enam lihtsalt arvuti, vaid vajalik tööriist äriprotsesside efektiivsemaks muutmisel. Ja seetõttu on oluline, et ettevõtete juhid ennast sellest ei taandaks.

“Tihti nähakse IT-d kui keerulist võõrkeelt, mida tuleb kaua omandada,” räägib tarkvara arendusega tegeleva ettevõtte Heisi tegevjuht Raul Raudsepp. Tegelikult on ju põhiolemus lihtne – tuleb luua endale süsteem, mis kõige paremal moel võimaldab infos orienteeruda. Ja kui sellest aru saada, on pool võitu käes. Edasine sõltub juba IT-partneritest ja tarkvaraarendajatest, kellega koostöös saab parimate tehniliste lahendusteni jõuda.

Oluline, et ettevõtte juht oleks tarkvaraarendusse kaasatud

Raudsepa ligi 15aastase IT-kogemuse põhjal saab tuua mitmeid näiteid, kus soovitakse teha midagi suurt, kuid välja kukub lahendus, millest kellelegi abi ei ole. Miks sellised olukorrad tekivad? “Esiteks tuleks kogu süsteem luua ettevõtte tulevikuperspektiividest lähtuvalt ehk nii, et ka ettevõtte äristrateegiate muutumisel programmi väärtus säiliks,” selgitab Raudsepp. Selleks on vaja, et ka juhtkond oleks kaasatud. IT-spetsialistid on küll pädevad, kuid nad ei pruugi olla ettevõtte strateegiatega kursis.Teisalt tuleks kõik eesmärgid ja ootused enne kokku leppida, et tekiks ühtne arusaam, kuidas tööprotsess kulgema hakkab. Raudsepa sõnul on tüüpiline näide, et tellitakse tarkvaraarendus, millest ettevõtte juht end taandab, projektijuht ei ole aga asjadega kursis. Kogu arendusprotsess hakkab venima ning viimaks kaob kõigil motivatsioon parema lahenduse nimel töötada. Selliseid näiteid on Heisil õnneks vähe. “Ilmselt on meil klientidega lihtsalt vedanud, sest juhtidel on olnud soov tarkvaraarendusse panustada,” sõnab ta, kuid ühe ebaõnnestumise näite, mil projekt venis lausa mitmele aastale, toob ta välja küll: “Probleem seisnes selles, et üks asutus tellis läbi riigihanke kokkuleppimata projekti teisele organisatsioonile. Ja kuna asjaosalistega läbi ei räägitud, siis ei olnud kellelgi motivatsiooni ega ka kompententsi panustada. Jäime totaalsesse infopuudusesse ja projekt venis planeeritud poolelt aastalt kahele.”

Milline meetod tagab edu?

Tihti võib olla viga ka vales töömeetodis. Võimalusi on väga mitmeid, kuid põhiliselt luuakse tarkvara kahel meetodil – waterfall’i või agile’i. Kiputakse eelistama esimest, lineaarset waterfall meetodit, sest see põhineb kindlal mudelil ja tegevuskaval. “Kui puuduvad teadmised tarkvaraarenduse loogikast, siis valitakse pigem turvaline tee, kindla mudeli näol” arvab Raudsepp. Kuid selline kindel raamistik eeldab, et projekti spetsifikatsioon on juba enne tööprotsessi väga hästi läbi mõeldud. Arendustegevuse käigus enam muudatusi teha ei saa. “See võib tunduda küll esmapilgul turvaline, justkui kõik on kokku lepitud, aga tegelikkuses võtab see võimaluse arvestada uute olukordadega,” räägib Raudsepp ja toob näiteks jalgpalli.“Kui mängija saab punase kaardi, siis tuleb ju kohe mängustrateegiat muuta.” Waterfall meetod seda aga ei võimalda. Sest kogu strateegia on enne paigas. Tihti taandavad selle meetodi puhul ka juhid end projektist, sest tundub, et mänguplaan ja tulemus on ju eelnevalt kokku lepitud. “Kuid ega ilmaasjata ei ole peatreener mänguplatsi kõrval.”Seetõttu julgustab Raudsepp ettevõtjaid rohkem paindlikumat, agile’i meetodit kasutama. Agiilsel meetodil ei ole kindlat raamistikku ja parima lahenduseni ning spetsifikatsioonini jõutakse arendustegevuse käigus. Selle mõte on hoida ka tellija ehk ettevõtte juht projektile lähemal. Kogemus näitab, et sellise meetodiga jõuab väga heade tulemusteni.Kui ettevõtte juht suudab kaasa mõelda, siis motiveerib see arendajaid juba iseenesest parima lahenduse nimel töötama,” sõnab Raudsepp.

Seitse tähtsat nõuannet juhtidele:

1)      Püüa aru saada tarkvaraarenduse protsessi olemusest2)      Kaasa IT-tugi või kasuta tarkvaraarendajaid IT-toena, et spetsiifikat mõista3)      Vii arendaja kurssi oma strateegia ja väärtustega4)      Eelista agiilset meetodit, kuid uuri enne, kas arendaja on sellega varem edukalt töötanud5)      Sõnasta konkreetne äriline eesmärk6)      Määra esialgne ajaline piir (prooviperiood), et näha, kuidas koostöö meeskonnaga toimib (agiilse meetodi puhul)7)      Ole projekti käekäiguga kursis, see motiveerib ka IT-spetsialiste ja tarkvaraarendajaidHeisi IT OÜ ehk Happy Ending InfoSystem Implementation pakub ettevõtetele äritegevust toetavaid kvaliteetseid IT-lahendusi. Ligi 30 aastat töökogemust annab neile võimaluse töötada erinevatel tarkvara loomise meetoditel ja väga laias teenusespektris – alustades projektide käivitamisest, analüüsist, arendamisest kuni realiseerimiseni välja. Teenused hõlmavad:

Projektijuhtimist, peatöövõttu ja omanikupoolset järelvalvetÄri-, süsteemianalüüsi ja tarkvaraarendustKoolitamist ja konsultatsiooni

“Kuid ega ilmaasjata ei ole peatreener mänguplatsi kõrval.”

Hetkel kuum