Cesta developera: Od pevných diskov po DevOps

<Zadajte anotáciu>

Špeciálny projekt

K článku ma inšpirovala reč Johna Romera na konferencii WeAreDevelopers. John je jedným zo zakladateľov firmy id Software, ktorá stojí za vývojom populárnych počítačových hier, ako napríklad DOOM. Na otázku, ako prebiehalo verziovanie tejto hry, John odpovedal, že v podstate neprebiehalo. Všetky kópie kódu si ukladali na pevné disky a odkladali do skladu. Dnes už verziovanie pokročilo a svetovým štandardom sa stal Git (softvér na riadenie revízií).

Zákazník vie, čo nechce

Aká ale bola naša skúsenosť v T-Systems Slovakia? Zo začiatku sme nepoznali nástroje ako Git, preto sme verziovanie riešili adresárovou štruktúrou. Nemali sme žiaden centrálny systém na správu softvérových verzií. Pracovalo sa výlučne podľa projektových plánov, čo po viacerých demách viedlo k zisteniu, že zákazník vie, čo nechce. Ukázalo nám to slabiny procesu vývoja a dodávania riešení.

Potreba efektívnejšieho procesu nás donútila vyriešiť problémy spojené s narastajúcim počtom developerov na jednom projekte, manažovaním viacerých projektov naraz, reportovaním či logovaním.

Odpoveďou je DevOps

Postupne prišli nástroje ako SVN a NuGet, ktoré v tom čase posunuli spoluprácu na projektoch na vyššiu úroveň. Zmena metódy projektového riadenia na Agile Scrum nás donútila začať používať Scrum „boards“, pomocou ktorých sme si vedeli prehľadne sledovať každodenný postup projektu. Keďže väčšinu produktov sme vytvárali s Microsoft technológiou, ako technické riešenie sme si vybrali produkt Team Foundation Server (TFS), ktorý podporuje manažment zdrojového kódu aj pri agilnom softvérovom vývoji. To nám zároveň umožnilo dodávať softvér cez CI/CD pipeline (Continuos Integration/Continuous delivery), čo je základným kameňom DevOps-u. DevOps je spôsob softvérového vývoja, ktorý zabezpečuje dodávanie kvalitnejšieho softvéru v kratšom čase vďaka nepretržitému vývoju, integrácii, testovaniu a monitoringu počas celého trvania projektu až po výsledný produkt.

Myslíme vo veľkom

Keďže Deutsche Telekom IT je naša materská spoločnosť, aj my sme spolu s ňou prešli na ďalšiu agilnú metódu projektového riadenia SAFe (Scaled Agile Framework), ktorá sa orientuje na spoluprácu veľkého množstva agilných tímov vo veľkých spoločnostiach. Práve softvérový vývoj na základe metodológie SAFe podporuje Azure DevOps. Preto bol náš prechod z TFS na Azure Devops logickým krokom. Teraz je všetko dostupné na jednom mieste, všetky verzie kódu sú jednoducho prístupné pre tím a všetky zmeny vieme sledovať aj testovať.

Existuje veľké množstvo ďalších programov na zlepšenie kvality produktov a práce developerských tímov. Na statickú analýzu kódu používame SonarQube, na centrálne logovanie a monitoring Elastic.

Všetky tieto nástroje umožňujú efektívnejšiu a transparentnejšiu spoluprácu väčšieho množstva developerov na viacerých projektoch. Určite nebudem hovoriť len za seba, ak poviem, že už teraz sa teším na budúce novinky v oblasti softvérového vývoja.

Autor: T-Systems Slovakia
Pripravil: Michal Kováčik