Taddy on suurim välireklaami platvorm Eestis. Läbi selle on võimalik leida kõik välimeedia pinnad mugavalt ühest kohast ning läbi platvormi reklaamipinnad ka osta. Taddy aitab turundust efektiivsemalt planeerida, lisaks pakub ausat ja läbipaistvat statistikat.
Taddy veebiplatvormi eesmärk on säästa reklaamkampaaniate koostamisele kuluvat aega. Selle idee on ühte koondada vajalikud kanalid kampaania korraldamiseks. Esialgu keskendub Taddy eelkõige välireklaamile, kuid tulevikuplaan on platvormile sujuvalt tuua ka teised reklaamkanalid (trükk, raadio jne).
Platvormi arenduseks käis klient potentsiaalseks koostööks kohtumas erinevate tarkvaraarenduse ettevõtetega. Tarkvaraarendusettevõte AgileWorks jäi silma oma „teeme ära!“ suhtumisega, erinevalt teistest olime takistuste otsimise asemel keskendunud lahend-leidlikkusele. Meie tööks oli arendada veebiplatvorm Taddy vastavalt kliendi äriideele ja sisendile.
Tarkvaraarendust alustasime puhtalt lehelt ja agiilsete põhimõtetega. Kliendil oli kogu arenduse vältel võimalik läbi keskkondade arendusprotsessi jälgida ning anda kohest tagasisidet. Väga palju tulid kasuks iganädalased koosolekud, mis aitasid meil arvestada kliendi muutunud soovide ja tagasisidega.
Projekti esimeseks sammuks oli esmaste kasutuslugude backlog’i kokkupanemine. Kui kasutuslood olid koostatud hindasime need ja prioriseerisime kliendiga. Prioriseerimisel üritasime tuvastada olulisimad ja läbivaimad kasutuslood, mis oleksid arendusprotsessis esikohal. Taddy rakenduse kõige kriitilisemaks ja läbivamaks teemaks sai pindade otsing, millest saab rakenduse kasutajate peamine töövahend kampaaniate läbiviimiseks. Seega keskendusime arenduses pindade otsingule ja modelleerisime lahenduse eelkõige sellest lähtuvalt. Meil õnnestus leida väga elegantne ja skaleeruv mudel, mis võimaldas hallata üsna keerulist loogikat pindade ümber (ajas muutuvad hinnad, soodustused, broneeringud jne), sealhulgas teostada ülimalt kiireid otsinguid nende andmete peal. Järgmiste kasutuslugude arendamine toetus juba esimeses kasutusloos paika pandud mudelile ja laiendas seda.
Rakendusest saab eelkõige tööriist, mille eesmärk on pakkuda kasutajale parimat võimalikku kogemust oma kampaaniate koostamiseks, mistõttu otsustasime ehitada selle niiöelda ühe lehe rakendusena (SPA). Lõpptulemus on väga hästi reageeriv, sujuv ning mänguline kasutajakogemus, mida traditsioonilise veebirakendusena ei ole võimalik saavutada.
Tehnilise poole peal kaalusime erinevaid tehnoloogiaid ja raamistikke. Kliendi poolse osa otsustasime arendada VueJs raamistikule. Tegemist oli eelnevalt põhjalikult kaalutud ja õnnestunud valikuga, kuna VueJs võimaldas meil väga kiiresti ja lihtsalt saavutada püstitatud eesmärgid. Kliendi poolse koodi arendasime TypeScript’iga, serveri osa aga arendasime C# keeles multiplatvormi .NET Core raamistikule. Antud raamistiku eelisteks on selle kiirus, turvalisus ja modernsus. Võttes arvesse rakenduse omapära ja vajadusi, oli andmebaasi valik määrava tähtsusega. Valikuteks olid PostgreSQL, MS SQL Server ja Elasticsearch. Otsustasime, et kasutame vabavaralist, töökindlat, kaasaegset ja turvalist PostgreSQL andmebaasi. See katab kõik Taddy rakenduse andmete haldamise vajadused. Otsingu osa plaanisime lahendada võimsa otsinguteenuse Elasticsearch’iga. Juba esimeses etapis selgus, et otsingu spetsiifika ja meie poolt välja töötatud efektiivse andmemudeli tõttu me Elasticsearch’i ei vajagi ning saime rakenduse poolelt ühe sõltuvuse vähemaks. Taddy platvormi arendasime pilverakenduseks, mis on majutatud kõrgkäideldava Azure App Service teenusena ja andmebaasina on kasutusel täielikult hallatud Azure PostgreSQL serveri teenus. Kõiki binaarseid andmeid hoitakse Azure Blob Storage teenuses. Arendust toetas suuresti ka Dockeri platvorm, mis tegi sõltuvuste haldamise väga lihtsaks. Isegi rakenduse pidev integratsiooni build toimub läbi Docker Compose konfiguratsiooni, mis oli seadistatud täpselt vajalike rakenduse sõltuvustega.
Arendusprotsessis jälgisime TDD ja DDD põhimõtteid, mis võimaldas meil edasi liikuda kiiresti ja julgelt, samal ajal tagades ka arenduse jätkusuutlikkuse. Tarneid tegime võimalikult tihti, kliendini jõudis esimene katsutav lahendus juba pärast esimest nädalat. See oli väga kasulik, sest võimaldas kliendil anda väärtuslikku sisendit ka järgnevateks arendusteks.
Agiilne tarkvaraarendus on paindlik ja vastutulelik tellija pidevalt muutuvate ärivajaduste suhtes, kuid paindlik peaks olema ka teostaja e. arendaja suhtes. Töö sujumiseks ja kvaliteedi tagamiseks on oluline kliendi ja arendaja vaheline usaldus.
Kliendi silmis sujus koostöö hästi, me tegime oma tööd professionaalselt, kiirelt, mõistsime kliendi soove ja ärivajadusi. AgileWorksi tarkvaraarendajate puhul meeldis kliendile pidev ja otsene kommunikatsioon, mis aitas üksteisest paremini aru saada.
Hinna- ja ajapakkumise osas lähenesime loogiliselt ning selle kalkuleerisime Taddy poolt antud sisendit arvestades. Kliendi jaoks on agiilne tarkvaraarendus vastutulelikum, kui traditsiooniline meetod. See annab tellijale võimaluse jooksvalt protsessi jälgida ja ka muuta oma ideid vastavalt vajadusele.
Taddy veebiplatvormi arendusega alustasime 2018. aasta aprillis ning vastavalt agiilsetele põhimõtetele, sai klient ka esimesed prioriteetsemad tarned juba peale esimest nädalat. Kliendil oli seega võimalik katsetada oma uusi ideid, teha aegsalt muudatusi ja parendusi juba jooksvalt. Samuti andis kiire tarne kliendile võimaluse enda äri edendada ehk tutvustada oma platvormi esmaseid versioone kasutajatele. Esimese etapi arendus on tänaseks lõpetatud, kuid teeme veel jooksvalt tellija soovil muudatusi ning valmistume ka võimalikuks teiseks etapiks.
Meie kui agiilse tarkvaraarenduse ettevõtte eesmärk on alati olnud väärtuse loomine laiemale publikule ehk ühiskonnale. Tarkvaraarenduse eesmärk oli veebiplatvormi abil automatiseerida klassikalised reklaamkanalid, viia klient ja pakkuja kiirelt ning mugavalt kokku, sealhulgas aidata säästa ettevõtete ressursse (aeg ja raha). Me arendasime veebiplatvormi, mille abil saab hõlbustada ettevõtete ning turundusjuhtide tööd. Tänu Taddy platvormile on tulevikus võimalik reklaamiteenused saada kätte kõik ühest kohast.
Taddy platvorm on leitav aadressilt https://taddy.ee/
Meie koostöö AgileWorksiga oli sujuv. Arendusmeeskond tegi oma tööd professionaalselt ja kiirelt ning nad mõistsid meie kui kliendi soove ja ärivajadusi. AgileWorksi tarkvaraarendajate puhul meeldis meile pidev kommunikatsioon, mis aitas üksteisest paremini aru saada ja edukalt lõpptulemuseni jõuda. Kui on vaja luua efektiivset ja kvaliteetset tarkvara ning soov kaasa rääkida oma toote arendamises, on AgileWorks tarkvaraarenduse meeskond selleks ideaalne partner.