Targa vara ja äri mudelid.

Tarkvara tootmisel on aegade jooksul kujunenud välja mitmeid meetodeid-malle kuidas asju ajada. Robert C. Martin annab loengus Programmeerimise tulevik (The Future of Programming)[1] ülevaate ka programmeerimise ajaloost. Robert C. Martin räägib, et algselt tegelesid programmeerimisega teadlased. Tehnoloogilsete arengute tulemusel kasvas programmeerijate ja ka programmeerimisega tegelevate asutuste hulk. Kuna eraettevõtetesse teadlasi ei jagunud võeti tööle ka nooremaid inimesi. See aga põhjustas omakorda seda, et isepäiste noorukite ohjamiseks võeti kasutusele rangemalt reglementeeritud meetodid. Kedagi otseselt terminali külge ei aheldatud kuid näiteks kosemudel seadis koodi kirjutajatele väga ranged piirid mida ja millal teha. Ordnung muß sein kuid liiga jäigad reeglid ei sobi loomaks asju, mida algul pea võimatu ette kujutadagi. See sai üheks põhjuseks, miks 17 kogenud programmeerijat, Robert C. Martin teiste seas, panid pead kokku ja koostasid Agiilse tarkvaraarenduse manifesti (paljud kipuvad ära jätma sõna tarkvaraarenduse manifesti eest. See on mugav aga ohtlik, sest agiilsus on omadus sõna ja need 17 meistrit ei defineerinud ära kuidas agiilne ehk väle olla vaid kuidas väledalt tarkvara arenda). Kõiki agiilseid ehk siis väledaid tarkvara arenduse metoodikaid läbib üks tunnus – väiksed sammud ja suuna korrektuur. Ja see on minu arust kõige loomulikum talitlemise viis. Näiteks supile soola ei lisata ju ka 5 päeva varem välja arvutatud kogus soola vaid natukene, maitstakse ja seejärel listakse kas juurde või otsustatakse peterselli kasuks. Parima tulemuse saab alati kontrollimise ja korrigeerimise tulemusel.

Järgnevalt annan ülevaate ome esimese IT sektori töökoha põhjsl arendusmeetodist Scrum. Scrum on oma nime saanud ragbist, kus scrum tähistab teatud formatsiooni[2].  Scrum on vägagi paindlik raamistik, mille järgi arendusprotesssi saab kujundada. On teatud võtme elemendid, mis vaja kasutusele võtta. Näiteks meeskonnas peab olema määratud üks isik product owneri rolli. Üks isik võib ka mitut rolli kanda. Product owneri rolli koostab tegevused (ticketid) ja jaotab need ajaraamidesse (sprintideks). Ajaraami pikkus on meeskonna otsustada. Iga sprindi lõpus näidatakse kogu meeskonnale ja/või ka kliendile töö tulemust. Samuti tullakse kokku retrospektiivseks aruteluks, kus arutatakse, mis meeskonna töös läks hästi, mis halvasti ja kuidas protsessi veelgi paremaks saada. Samal ajal kui üks sprint on käimas valmistatakse ette järgmist. Meeskond vaatab koos üle product owneri koostatud ticketid. Arutletakse läbi detailid ja hinnatakse kui palju aega kulub selle tegevusele (mängitakse nn. scrummi pokkerit). Retrospektiivsel koosolekul arvutatakse varasemate hinnagute põhjal töö kiirust. Möödunud sprintide kiiruse järgi prognoositakse kui palju tööd jõutakse järgnevates sprintides tööd teha. Ehk siis scrum on mingil määral isereguleeriv mehhanism.

Eespool juba mainitud Robert C. Martin, tuntud ka kui Uncle Bob, asutas 2010 aastal tarkvara arendusele täinendteenust pakkuva ettevõtte Clean Coders. Clean Coders keskendub programmeerijate koolitamisele. Kui video kursustest pungil koolituskeskkondi on äärmiselt palju siis Clean Coders eristub teistest selgelt oma sisu ja eesmärgi poolest. Sealsed kursused ei anna suurejoonelist diplomit, millega Linkedinnis edvistada vaid teadmisi kuidas meisterlikult kirjutada koodi[3]. Kogu süsteem põhineb Martini raamatul Clean Code, mis on tõenäoliselt lugejale väga tuttav. Ehk siis Clean Coders suunab inimesi kirjutama loetavat, korduskasutatavat, veakindlamat koodi ülistamata kindlat programmeerimise keelt või raamistikku.

  1. https://www.youtube.com/watch?v=ecIWPzGEbFc vaadatud 15. aprillil 2021
  2. Sutherland J. (2014). Scrum: The Art of Doing Twice the Work in Half the Tim. [Audioraamat] Random House Audio
  3. https://www.cod.edu/business-development-center/business_highlights/clean_coders.aspx vaadatud 16. aprillil 2021