TechEd Europe 2014

November 14th, 2014 by Raido Lepp

Külastasime Kaupoga paari nädala eest Barcelonas Microsofti suursündmust TechEd 2014. Kokkuvõtvalt kirjeldades on tegemist Microsofti uusimate tehnoloogiate väljanäituse ning arengusuundasid tutvustava ettekannete formaadis korraldatud üritusega.  Meied huvitas peamiselt arendajatele suunatud ettekanded, mis keskendusid Microsofti arendusvahenditele, tehnoloogiatele ning nende rakendamisele – ehk kuidas teha vähema pingutusi suuri asju.  Kui meenutades 6 aasta eest samas paigas toimunud TechEdi, siis väga paljud tol ajal välja hõigatud arengusuunad on saanud meie igapäevaeluks. Vaatame, kuidas seekord läheb. Mõtteid järeleproovimiseks, -vaatamiseks ja seedimiseks tekkis igatahes hulgim.

Juba avakõnes rõhutati, et Microsofti fookus on praegusel hetkel pilv ja mobiilsus. Sellest tulenevalt oli väga suur osakaal terve nädal kestnud ettekannetel just nendel teemadel. Mobiilsus ja nutitelefon ei tähenda MS jaoks ainult Windows Phone’i, vaid ka kõiki teisi laiemalt levinud Google’i ja Apple’i nutiseadmeid. Lähtudes mobiilseadmete turusituatsioonist, on see igati mõistetav. Teiseltpoolt on võimalik oma pilveteenustega kasu lõigata sõltumata sellest, mis marki ja tüüpi seadmega lõppkasutaja neid teenuseid tarbib. Sellest tulenevalt Microsoft lihtsalt peab armastama ka konkurentide loodud telefone ja tahvelarvuteid. Pakkudes parimaid arendusvahendeid, et luua oma rakendusi mistahes laiatarbe nutiseadmele, on üks meeldejäävamaid märksõnu sellel teel. Oleme viimasel ajal tihedamalt kokku puutunud Microsofti Azure platvormile pilverakenduste arendustega. Väga paljud ettekanded neist võimalustest ja arenduse parimatest praktikatest leidsid äratundmist. Järelikult oleme õigel teel.

Pilv, pilv ja veelkord pilv. Tulevik on pilves. Arendajad on ka pilves. On ju oluline tegeleda ainult enda põhiäriga ning arendada enda toodet ja pakkuda enda teenuseid. Kõik muu nagu süsteemsed turvauuendused, riistvara, varundus ja muu säärane usaldada teenusepakkujale. Usalda, et sinu asjad on turvaliseimas paigas ning teenindavad sind ja sinu kliente skaleeruvalt ning laitmatult 24/7. Globaalse turu jaoks suunatud rakenduste jaoks on see juba möödapääsmatu.

Kuulasin ka paari ettekannet, mis oli fokuseeritud äriotsuseid tegevatele IT spetsialistidele.  Ühes sellises võrreldi Microsofti positsiooni konkurentidega. Tõsiasi on, et Microsoft pole Gartneri raportite järgi ühegi spetsiifilise valdkonna liider, kuid ta on igas valdkonnas innovatsiooni ja turuosa liidrite hulgas väga silmapaistev. Ning aastate lõikes oma positsiooni aina tugevdav. Huvitava märkusena jäi meelde, et Moore’i seadus kehtib ka pilveteenuste kohta. Analoogiliselt algupärase tähendusega saab sama raha eest iga kahe aasta tagant kaks korda rohkem pilveteenust. Et maailma suurimate jaoks on pilv ja pilveteenused suur arendussiht, siis pole oluline, kes on hetkel hinnaliider. Endiselt on kõige olulisem, kuidas kiirelt turule tulla ning oma toodet kiirelt arendada. Google, Amazon ja Microsoft on teinud mõõtmatuid investeeringuid arvutuskeskustesse ning sellest tulenevalt hakkavad massiefekti tulemusena hinnad langema. Kaugeleulatuvalt prognoositakse, et teised majutusteenuseid pakkuvad ettevõtted peavad leidma endale niššiturge. Kokkuvõtvalt äriotsuste tegijatele – ole innovaator või tehnoloogia jälgija ja varajane kasutuselvõtja, et mitte maha magada võiduvõimalust. Sa oled aga kindel kaotaja, kui muutused tabavad sind üllatusena. Vaid esimesed jaololijad jagavad piruka. Teised võitlevad purude pärast.

Eks neid mõtteid tekkis veelgi. Peab veel seedima. Head koodi ja töötavat tarkvara on ka vaja teha.

 

Atlassian Summit 2014

October 20th, 2014 by priit

Osalesime koos Taneliga taas kord iga-aastasel Atlassian Summitil, mis sedapuhku leidis aset San Joses, Californias. Seekordne üritus hakkas juba suurkonverentsi mõõtmeid võtma – peasaal oli nii hiiglaslik, et vaevalt nägi selle teise otsa ja vendor‘ite bokside vahele võis tõsimeeli ära eksida. See pole ka ime, sest Atlassiani klientide arv on aastaga suurenenud 30% ning töötajate arv pea kahekordistunud – sarnase kasvu pidi järelikult Summitist osavõtjate hulkki tegema. Samas, suurem ei pruugi alati parem olla. Minu arust jäi sel korral juba kõvasti vajaka “intiimsusest”, mida eelmisel aastal veel kergelt õhus tunda oli. Inimesi, ruumi, vendor’eid, paralleelseid track‘e ja kõike muud oli hoomamiseks lihtsalt liiga palju. See aga ei tähenda, et me poleks palju kasulikku infot või kontakte saanud.

Üks Atlassiani asutajatest pealaval tuhandete peade ees kõnelemas.

Üks Atlassiani asutajatest pealaval tuhandete peade ees kõnelemas.

Lisaks silmapiiri avardamise soovile läksime Taneliga Summitile kindla eesmärgiga leida inimesed, kes aitaksid lahendada müstilise häda, millega oleme ühe kliendi juures pikemat aega maadelnud. See tähendas, et tuli ohtralt tegeleda networkimise ja tehniliste vestlustega ehk loobuda paljudest ettekannetest. Viimane ei pannud õnneks just nutma, kuna paljud lubava pealkirjaga ettekanded osutusid igavamaks kui loodetud: nii mõnigi esineja oli kas kogenematu/kiretu või polnud ettekande sisu loodetud tasemel. Lisaks teadsime, et kõiki esinemisi saab kunagi järelvaadata (kuigi paljud meist seda päriselt teevad?), seega võis rahulikult inimestega suhelda. Paar aastat tagasi kohtusin Summitil ühe mehega, kes väitis, et ta ei käi mitte ühelgi konverentsil mitte ühtegi ettekannet vaatamas – asja mõte on ainult networking! Kas peab just nii radikaalne olema, aga ta jutus on iva, sest tõepoolest on võimalik kõiki esinemisi juba praegu veebist vaadata, kuid nende inimestega näost näkku rääkida enam ei saa.

Networkimine kurikuulsal Summit Bash peol.

Networkimine kurikuulsal Summit Bash peol.

Kes ei viitsi pea ees videomaterjali sukelduda, neile nimetan mõned tooteuudised ning poetan ka paar kogutud tarkusetera kuuldud heietustest tarkvaraarenduse teemadel. Peamine “päris uue toote” esitlus Atlassianilt oli JIRA Portfolio ehk kaua-oodatud product management kiht olemasoleva projekti- ja taskihalduse peal. Viimaks on võimalik mõistlikult hallata projektideüleseid initsiatiive, neid theme’deks kategoriseerida ja siduda juba konkreetsemate epic’ute ning story’dega. Ühtlasi saab harrastada Gantt chart’i laadset aja/ressursside planeerimist visuaalsel kujul Atlassianile omaselt paari huvitava kiiksuga. Kel rohkem huvi, lugege lähemalt veebist.

Konverentsi-melu

Konverentsi-melu

Confluence poolt oli suurimaks väljakuulutatud hitiks Google Docsist tuttav reaalajas mitme inimese kollaboratsiooni võimalus samal dokumendil. Veel hakkab olema võimalik kommenteerida nii lehtede kui failide sisus konkreetseid kohti (nt mõnda konkreetset lauset, PowerPointi slaidil ainult pealkirja vms). Mõlemad võimalused on “varsti poelettidel”.

JIRA Service Deski kasutajatele teeb kindlasti heameelt hinnastamise muudatus – nüüd käib maksmine tuge pakkuvate agentide töökohtade baasil, mitte tuge saavate inimeste arvu pealt. Lisaks muutus ka do-it-yourself tutorial’e sisaldav Atlassian University tasuta ligipääsetavaks. Tarbijale hea uudis, tootjale ilmselt mitte nii väga :) Vahetuma kogemuse saamiseks vaata näiteks kompaktset 7-minutilist kokkuvõtet keynote’i parimatest paladest.

Tootest sõltumatul teemal oli päris huvitav ettekanne spike’misest ehk teatud kindlal viisil läbi viidud uurimisülesannetest (video). Hästi tehtud spike’i abil on võimalik ülesandeid paremini (täpsemini) hinnata, lihvida nõudeid, vähendada teadmatust, valideerida tehnilist lähenemist ning paremini eesseisvat tööd organiseerida. Kindlasti peab ühel korralikul spike’il olema eesmärk, kindlaks määratud maksimaalne aeg, mis sellele pühendatakse ning see tuleb ka sprindi tööde hulka planeerida ja sarnaselt teiste töödega tulemust demoda! Ahjaa – sealt tulnud kood viska minema, sest häki otsa ei maksa uut toodet/funktsionaalsust ehitada. Oleme oma tiimis seda metoodikat täitsa edukalt rakendanud ning see on heaks sissejuhatuseks just ülesannete juures, mida ümbritseb suur teadmatus või puuduv üksmeel lahenduse osas.

Teine väga paeluv ettekanne oli Penny Wyatt’i poolt esitatud “Quality at Speed“. Penny rääkis oma teekonnast JIRA meeskonna QA eestvedajana. Kõik algas aastal 2009, kui selle tiimiga liitudes oli story’de rejection rate 100%. Viie aastaga on see kukkunud 4% peale ning võtmeks ei ole olnud tohutu QA inseneride armee usin tegevus, vaid hoopis vastupidi – QA inimesed on võtnud üksnes nõustaja rolli ning puutuvad meeskonnaga kokku kahes punktis kogu arendustsükli jooksul. Esiteks, nad vaatavad üle testimise märkmed, mida arendajad ise enda koodi kohta on kirjutanud – justnimelt, arendajad testivad ise enda koodi! Teiseks, nad osalevad story demol. Kuna kogu vastutus lasub nüüd arendaja enda õlul, on ta palju hoolsam, sest ta ei saa lootma jääda “turvavõrgule”,  mida pakkusid minevikus kas QA või teised arendajad. Samas, QA poolne tugi on siiski olemas ning nende tähelepanekute põhjal harivad pidevalt end ka arendajad. Kokkuvõttes tõdes Penny, et kvaliteet ei tulene koodist, vaid inimestest ning mis töötab ühes meeskonnas, ei pruugi töötada teises – eksperimenteeri pidevalt! Universaalne tõde, mis kehtib pea igas elu valdkonnas :)

Farewell-pidu partneritele viimasel õhtul

Farewell-pidu partneritele viimasel õhtul

Nn ametliku osa kõrval ei saa ära mainimata jätta ka kuulsat pidu Summit Bash, mis sel aastal toimus väga ebatavalises miljöös: paari tuhande inimese käsutada oli terve San Jose Tehnikamuuseum (vt pilti artikli alguses). Ei uskunud, et ma kunagi muuseumi põrandal tantsu vihun või kokteil käes kõiksugu huvitavate gadget’itega eksperimente läbi viin (sageli saatjaks jooke keelavad märgid)!

Meelelahutus peol - termoselfie

Meelelahutus peol – termoselfie

Sotsialiseerumiseks olid igatahes ideaalsed tingimused loodud ning neid sai ka korralikult ära kasutatud. Kuigi taolised üritused võivad maksale liigagi intensiivset treeningut pakkuda, siis elu on näidanud, et isiklik kokkupuude Atlassiani töötajate ning partneritega aitab hilisema suhtluse viia täiesti uuele tasemele. Tasub tulevatelgi aastatel osa võtta!

Veebirakenduste automaatne testimine vol 2 – jõudlus ja stabiilsus

May 24th, 2014 by matip

Jätkamaks postituses Veebirakenduste automaatne testimine – capybara-webkit vs poltergeist alustatud headless-draiverite võrdlust, püüan järgnevalt anda lühikese ülevaate sellest, milline on nende kahe jõudlus lihtsas võrdlustestis ning arutleda ka selle üle, kui stabiilne on suure hulga kasutajaliidese testide regulaarne jooksutamine pikemas plaanis.

Nagu juba viidatud postituses mainitud, on poltergeist’il päris mitu eelist, kuid kuidas on lood testide jooksutamise kiirusega? Võrdlemaks kahte draiverit, jooksutasin ühte ja sama testide kogumit mõlema draiveriga kolm korda ning kasutasin võrdlemiseks kolme korra keskmist tulemust. Valitud kogum oli koostatud selliselt, et testid läbiksid võimalikult palju erinevaid olukordi, nii keerukamaid kui ka lihtsamaid lehekülgi.

Tulemusi analüüsides selgus, et vähemalt antud rakenduse ja valitud testide korral ei olnud kahel draiveril olulist jõudluse erinevust. Lihtsamate lehekülgedega sai poltergeist hakkama kiiremini, kuid keerukatel, rohket Javascripti sisaldavatel lehekülgedel olid mõlemad draiverid keskmiselt üsna võrdväärsed. Kokkuvõttes oli valitud testide puhul poltergeist keskmiselt umbes 10% kiirem, kuid üle kõigi testide oli ajavõit suhteliselt marginaalne 5-6%. Loomulikult võib see number sõltuvalt testitavast rakendusest ja testide iseloomust kõikuda mõlemale poole, nii et kokkuvõtvalt võib öelda, et jõudluse poolest on mõlemad draiverid suhteliselt võrdväärsed.

Read the rest of this entry »

Noorteakadeemia vol. 1 ehk kuidas seadmetele hing sisse puhuda

April 15th, 2014 by Kristi Kaljurand

Noorteakadeemia on kutsutud ellu ideega ärgitada leiutamishuvi meie kõige nooremates. Esiotsa otsustasime kokku kutsuda Proeksperdi töötajate lapsed. Kohtumine sai korraldatud innovatsiooni- ja ettevõtluskeskuses Mektory, mille üheks eesmärgiks on tegeleda järelkasvuga ja näidata kooliõpilastele, et inseneri roll on huvitav, jõukohane ja elulähedane! Mektory majas on loodud palju võimalusi ka lastele.

Enne leiutama hakkamist tegime kiire ringkäigu Mektory põnevates ruumides. Kõigepealt ajas lapsed elevile rääkiv puu, mida sai ägedalt sakutada ja mis selle peale siiski inimkeeles (ehkki välismaises) palus end mitte nii tugevalt raputada. Kõigele lisaks teatas ta, et pole slot machine. Muuhulgas piilusime ka robotooriumisse, kus ka meie kõige suuremal lapsel Lauril silmad põlema läksid.

Read the rest of this entry »

Veebirakenduste automaatne testimine – capybara-webkit vs poltergeist

April 1st, 2014 by matip

Veebirakenduste automaatseks testimiseks on mitmeid võimalusi, üks neist on testida rakendust läbi kasutajaliidese – kasutades selleks siis kas päris- või headless-brauserit.

Kasutajaliidese kaudu testimisega kaasneb paratamatult hulk probleeme, alates sellest, et testid on suhteliselt aeglased võrreldes rakenduse backend‘i service‘i tasemel testimisega. Jah, palju asju saab veebirakenduste puhul testida kasutajaliidest absoluutselt puudutamata, kuid on ka olukordi, kus tuleb seda teha.

Näiteks on kasutajaliidese kaudu testimine praktiliselt ainus võimalus testida rakendust tegeliku kasutaja vaatepunktist, samuti võimaldab see teostada end-to-end testimist ning mis kõige tähtsam – veenduda, kas meie veebirakenduse frontend üldse töötab.

Read the rest of this entry »

Kas meil on midagi õppida PowerPointi koolitusest

March 31st, 2014 by lauriv

Kämblatäis vabatahtlikke Pro ridadest registreerisid endid sisekoolitajate koolitussarjale. 21. veebruaril jõudiski kätte esimene koolitus. Siin artiklis katsun anda ülevaate sellest, mis mõtteid see koolitus minus indutseeris ja mida muud me kõik võiksime sealt kõrva taha panna.

Esmalt kirjeldan koolituspäeva. See oli jagatud järgmiselt: kolmandik andragoogikat (täiskasvanute harimise teooriat) ja kaks kolmandikku PowerPointi. Nagu pealkiri reedab, keskendun ma siin sellele tagumisele kahele kolmandikule. Andragoogika oli küll huvitav ja mõtteid sütitav, kuid selles ei olnud ma enne nii kodus kui mulle meeldiks. Hiljem sain aru, kui palju rohkem ma sellest teemast teada tahaks. Seevastu PowerPoint on arvutiinimestel veres juba sellest ajast kui arvutid ja Windowsid tubadesse sisse murdsid. Seepärast tekkis koolitusel viibivatel Pro inimestel küsimus, et kas me oleme ikka õiges kohas.

Tegin südame kõvaks, ei andnud tärkava kevade kutsele järgi ja istusin oma kohustuslikud kolm tundi ära. Esineja oli iseenesest huvitav ja tegelikult laialdase kogemusega kõiksugustel Office’i teemadel. Õnneks näitas vahepeal ka naljakaid videoid Peeter Ojast – kui märkas, et inimesed hakkavad liiga laiali valguma. Read the rest of this entry »

Atlassian Summit 2013

October 16th, 2013 by priit

Sel aastal leidis Summit aset parimal aastaajal San Francisco külastamiseks – oktoobri alguses. Soojast ilmast ning vihma ja udu puudumisest hoolimata ei toimunud üritus vabas õhus, vaid endiselt samas laohoonest ümber ehitatud konverentsikeskuses. Osalesime Proeksperdist sel aastal 2 inimesega, mõlemal võrdluseks varasem Summiti-kogemus.

Atlassian Summit 2013

Esimese päeva avasid traditsiooniliselt Atlassiani asutajad Scott Farquhar ja Mike Cannon-Brookes. Scott alustas kliendi tähtsuse teadvustamisega kogu tarkvaraarenduse protsessis – kõik algab ja lõppeb ju kliendiga. Kliendi tagasiside põhjal tehtud muudatused teevad sageli heast tootest suurepärase. Et neid muudatusi kliendini toimetada, peavad meeskonnad tõenäoliselt tihemini reliisima. Siin tulevadki mängu Atlassiani tooted (ConfluenceJIRA & DevTools), mis proovivad seda protsessi võimalikult mugavaks ning ladusaks teha.

Read the rest of this entry »

Juhtideta organisatsiooni võimalikkusest Proeksperdis

September 18th, 2013 by Terry London

Enam kui viis aastat tagasi riigisüsteemist Proeksperti tööle tulles võttis mind vastu eriline, selgelt tunnetatav kultuur. Oli meeldiv avastada, et projektijuhid ja programmeerijad olid võrdsed partnerid ja et juhil on pigem töö ära tegemiseks vajalike tingimuste loomise roll – mitte ülemuseks olemine. Selgelt paistis välja, et tarkade ja teadlike inseneride juhtimine toimub eelkõige läbi usalduse, ühiste eesmärkide ja nende saavutamise. Märksõnaks oli horisontaalne ehk lame struktuur.

Tänaseks on Proeksperdi töötajate arv enam kui kahekordistunud. Lame struktuur on asendunud mitmekihilise hierarhiaga – äriüksustega, mis koosnevad meeskonnajuhtide veetud arendustiimidest. Toimub juhtide juhtimine.

Selle algselt loogilisena tundunud mitmekihilise organisatsioonistruktuuri puudused ei lasknud ennast pikalt oodata. Kolmeks äriüksuseks jaotatud Proeksperdis hakkasid arenema erinevad inforuumid, mis sõltusid sellest, kuidas vastav juht enda üksuses juhtkonna infot edasi kommunikeerib. Ettevõttes olevad üksused omandasid justkui eraldiseisvate firmade mõttelaadi. Read the rest of this entry »

Ärianalüüsi valdkonnas failide versioneerimine ja exceli failide võrdlemine (diff)

September 3rd, 2013 by valdop

Business intelligece (BI) ehk ärianalüüs on valdkond, kus toimub mitte tarkvara arendamine vaid tarkvara juurutamine. Nõnda, kuidas erineb tegusõna, on levinud arusaam, et tarkvara arendamise võtteid ei saa juurutamise alal rakendada. Tegelikult on nendel tegevustel mitmeid sarnaseid jooni. Ütleksin, et juurutamine on sarnane tarkvara edasi arendamisele.

Üks tarkvaraarenduse elementaarseim hea tava on failide versioneerimine (source control). Kõik failide muudatused peetakse sedasi meeles ja nii saab hiljem erinevaid variante võrrelda – ja vajadusel minna tagasi mõnda varasemasse seisu. Olukord, kus meeskonna jagu arendajaid muudab projekti faile siit-sealt – ilma, et muudatustest jälge maha jääks – on mõtlematu ja põhjustaks segadust. Seega, võttes aluseks juhise, et juurutamine on arendamisele sarnane, peaks olema võimalik ka ärianalüüsi valdkonnas failide versioneerimist rakendada. Teeme sellega proovi. Read the rest of this entry »

Mida silmas pidada testide automatiseerimisel

August 20th, 2013 by matip

Automatiseerimiseks sobivaimad testid on tavaliselt sellised, mis testivad suhteliselt lihtsaid ning sirgjoonelisi stsenaariumeid, kuid mis käsitsi jooksutades liigselt aega kulutavad. Automaattestid on väga head selliste ülesannete jaoks, mida inimene kas ei saa või lihtsalt ei taha käsitsi testida.

Automaatselt testitav funktsionaalsus ei tohiks olla habras ning liigselt sõltuv testi käivitamisele eelnevast olukorrast ning testi lõpptulemusest. Kui tarkvara mõne osa testimise automatiseerimine on liiga keeruline, nende testide haldamine aja- ning ressursimahukas, ning lõpptulemusena käsitsi testimisega võrreldes olulist võitu ei saavutata, siis enamustel juhtudel ei tasu selline automatiseerimine ära.

Read the rest of this entry »