Miks valida tarkvaraarenduspartneriks just Solutional?
Jarmo Pertman 04.04.2023 (3 minuti jagu lugemist)
Suhtlesime hiljuti kliendiga teemal, miks eelistada meid tarkvaraarenduspartnerina teistega võrreldes? Mis on meie plussid ja miinused? Üritan võtta vestluses üle käidud teemad siin artiklis kokku üheks tervikuks.
Turul on väga palju erineva profiiliga tarkvaraarendusettevõtteid, kes ühel või teisel määral üksteisest erinevad. Solutionalile sarnaseid ettevõtteid on aga meie teada Eestis ainult üksikud. Meid iseloomustavad peamiselt alljärgmised punktid.
Meil ei ole ettevõttes selliseid ametikohti nagu projektijuht, analüütik, arhitekt, testija, rakenduse/süsteemi administraator, tootearendaja ja UX spetsialist. Meil on ainult tarkvarainsenerid, kes mõtlevad kliendi jaoks tarkvaralist lahendust luues nii nagu oleks tegemist enda jaoks olulise probleemi lahendamisega ja seda otsast lõpuni välja.
Kuna meil on esindatud ainult nö üks roll, siis puuduvad kommunikatsiooniprobleemid, mis tahestahtmata tekivad, kui kliendi ja töö lõpliku teostaja vahele jääb mitmeid rolle. Meil suhtlevad tarkvaraarendajad tellijaga igapäevaselt otse - just nii saavad tarkvaraarendajad kõige paremini aru, mis probleemi klient soovib lahendada ning oskavad pakkuda tehniliselt ja äriliselt kõige efektiivsemat ja odavamat lähenemist.
Tarkvara tellides tekib väga tihti ka olukord, kus klient arvab teadvat lahendamist vajavat probleemi ning soovib enda peas välja mõeldud lahendust tellida. Tegelikkuses aga võib olla tegemist hoopiski sümptomiga ning probleemi algallikas eksisteerib kuskil mujal. Töö tellija ja tegija vahelise otsese arutelu käigus on suurem tõenäosus, et probleemi algallikale jõutakse jälile pigem varem kui hiljem ning leitakse sellele kõigi osapoolte jaoks parim lahendus jättes sümptomi parandamisele kuluva aja ja raha kulutamise etapi vahele.
Me praktiseerime sellist agiilset tarkvaraarenduse viisi nagu seda on paarisprogrammeerimine. Kuna samaaegselt tegeleb kaks silmapaari täpselt sama probleemi lahendamisega, siis esmapilgul võib jääda tellijale mulje, et tegemist on arutu raha raiskamisega - ometi ju makstakse sama asja teostamise eest kaks korda rohkem võrreldes teiste praktikatega, kus iga arendaja tegeleb enda laua taga eraldi probleemi lahendamisega ehk korraga on töös kaks eraldiseisvat probleemi.
Tegelikkuses garanteerib kaks pead aga selle, et tarkvara kvaliteet ja turvalisus on parem. Iga kirja pandud programmikoodi rida mõeldakse hoolsamalt läbi ning koodi kirjutamisel toimub pidev nö code-review, mistõttu lipsab võimalikke defekte vähem läbi. See tekitab omakorda olukorra, kus juba teostatud funktsionaalsuse juurde peab väga harva tagasi naasma arenduse hetkel läbi mõtlemata või defektse funktsionaalsuse tõttu ja saab alati keskenduda uute äriliste probleemide lahendamisele.
Paarisprogrammeerimise praktika kasutamisega kaasnevad automaatselt ka plussid, kus kõik arendajad teavad midagi tervest koodibaasist, tarkvara arendamine ei seisku, kui keegi projektiliikmetest haigestub või läheb puhkusele ning meeskonnaliikmete vahetamine projektis toimub suurema vaevata.
Ja loomulikult kuna kaks arendajat kasutavad sama arvutit, siis ei teki olukordi, kus arendajad end sotsiaalmeediasse ära unustavad mitmeks tunniks. Paarisprogrammeerimine on selline praktika, mis nõuab pidevat fookuse hoidmist ja seeläbi kliendi projekti ajalist panustamist.
Meie tarkvarainsenerid kirjutavad enda programmikoodile automaatsed testid. Testide kirjutamisega tagame, et kood töötab just nii nagu see on mõeldud kirjutamise hetkel töötama. Tänu testide olemasolule on võimalik tulevikus koodi tehnilises või ärilises mõttes palju lihtsamini muuta jättes varasemalt arendatud funktsionaalsuse töökorda.
Lisaks aitab automaattestide olemasolu mõelda läbi veelgi rohkem erandjuhte funktsionaalsuse kirjutamisel ning implementeerida seda läbivate testide kaasabil.
Tänu testide kirjutamisele ja jooksutamisele tekib ka paremini hallatav/täiendatav kood, mida saab üle võtta tulevikus meie asemel ka keegi teine kartmata tundmatus koodibaasis kogemata funktsionaalsuse katki tegemist.
Kuna koodibaas on kaetud kvaliteetsete automaatsete testidega, siis jääb vahele ka reliisiprotsessis tihti eksisteeriv nn. testimise faas. Selle asemel saab valmis tehtud funktsionaalsuse paigaldada hetkega toodangusse lühendades uue funktsionaalsuse lõppklientidele tarnimiseks kuluvat aega.
Kahjuks väga paljud meie konkurendid ei kirjuta üldse teste või kirjutavad väga ebakvaliteetseid teste. Selline lähenemisviis aitab küll projektil selle algusfaasis kiiremini edasi liikuda, kuid pikemas perspektiivis vajub kogu projekt iseenda raskuse all kokku ning järjekordne projekti nullist kirjutamise faas ootab ukse taga, sest olemasolevat koodibaasi ei ole võimalik enam mõistliku kiiruse ja kvaliteediga edasi arendada.
Kui meie tarkvarainsenerid kliendi projekti jaoks tööd teevad, siis teevad nad seda 100% ajast. Meie puhul tähendab see tööaega esmaspäevast neljapäevani, kuna praktiseerime nelja-päevast töönädalat. Selline lähenemine tähendab, et töö saab kõige kiiremini tehtud, kuna ei hõlma pidevaid kalleid konteksti vahetamisi projektide vahel.
Väga paljude meie konkurentide puhul tegeletakse aga mitme projektiga paralleelselt, mis muudab meie hinnangul töö teostamise efektiivsuse väga madalaks ning pikendab funktsionaalsuse valmimiseks kuluvat aega.
Loodetavasti annab see artikkel piisava ülevaate sellest, mille poolest Solutional erineb paljudest meie konkurentidest ja mis on meie eelised nende ees. Kui artiklis kirjeldatud punktid tekitasid mingeid mõtteid/küsimusi, siis võtke meiega julgelt ühendust ja ehk saab meist tulevikus koostööpartnerid.
Kindlasti võtke meiega ühendust olukorras, kus praeguse tarkvaraarenduspartneriga koostöö osas on etteheiteid.
Solutional on agiilne tarkvaraarenduse ettevõte professionaalsete inseneridega, kes suudavad lahendada tarkvaralised probleemid algusest lõpuni ilma vahendajateta.
Kirjuta meile e-post aadressile info@solutional.ee juhul kui vajad abi uute või olemasolevate projektide eduka teostusega.