apie agile grūdus ir pelus
DESCRIPTION
Audrio Kažukausko skaitytas pranešimas Agile dienoje 2013 gegužės 9 d. Vienas scenarijus. Perspektyviai e-verslo idėjai įgyvendinti suburta komanda naudoja tuo metu ypač pažangų programinės įrangos kūrimo metodą Extreme Programming (XP). Dėka TDD, nuolatinės integracijos, agresyvaus refaktorinimo praktikų, komanda užtikrintais žingsniais kuria ir tobulina produktą. Naujos funkcijos diegiamos kone kiekvieną dieną. Automatizuota beveik viskas kas įmanoma, defektai tampa muziejine retenybe. Produktas komerciškai labai sėkmingas. Jėga! Kitas scenarijus. Naujas produktas vystomas karštligiškai. Pamirškit Scrum ar XP, tegyvuoja darbinis chaosas! Naujos daugmaž veikiančios funkcijos jau metamos į A/B testavimo katilą, smulkesni defektai paprasčiausiai ignoruojami. Teikiama vis daugiau e-paslaugų, pajamos ir kompanija sparčiai auga. Kodo bazė plečiasi, jos kokybė prastėja, automatizuotų testų skaičius taip ir nepakyla virš absoliutaus nulio. Bet verslas vis tiek toliau kasmet stipriai auga ir dar nuperka pirmajame scenarijuje minėtą kompaniją! Viskas, laikas atskirti grūdus nuo pelų ir įvertinti Agile iš naujo.TRANSCRIPT
SmileApie Agile grūdus ir pelus
Audrys Kažukauskas, NFQ / Lietuvos Agile diena ’13а[email protected]
2
Šiandien išgirsite
Dvi sėkmės istorijos
Viena labai Agile, kita … irgi, bet skirtingai
Puiki proga patikrinti Agile ir IT praktikų įtaką projekto sėkmei
3
Pirmoji istorija - swoodoo
~2005m. užgimė naujas startuolis
Greičiausia pasaulyje skrydžių paieškos sistema swoodoo.com!
Extreme Programming!
+
4
swoodoo – projekto valdymas
User stories, Product backlog, Story Points, Release Plans, Iteration Plans, Velocity
Produkto vadovas nustato prioritetus (Product Manager)
Viena komanda, viena erdvė su bendrais User Stories lapukais ant lentos
5
Iteracijos planas
6
Iteracijos SP “deginimo” kreivė
7
swoodoo – tobulumo besiekiantŠį kartą mes darysim viską teisingai!
CI + TDD + Refactoring
Keep It Simple Stupid (KISS)
You Aren’t Gonna Need It (YAGNI)
Service Oriented Architecture (SOA)
8
swoodoo – automatizuojame viską! Diegimai vienu paspaudimu daug kartų per dieną
(capistrano)
Sistemos rodiklių diagramos (cacti)
Automatiniai įspėjimai apie gedimus (nagios + meškafonas)
9
swoodoo tapo pirmaujančia Vokietijoje!
10
Viena didžiausių kelionių paieškos ir rezervavimo sistemų pasaulyje
Ir čia priėjo…
11
“Jie viską daro neteisingai!”
12
KAYAK – pirmi įspūdžiai
Didesnė kompanija, decentralizuotas valdymas
devs, QA, ops - atskiri departamentai, o kur riba tarp programuotojų ir vadybininkų!?
Didelė sudėtinga kodo bazė, nemažai defektų (tss…), techninė “skolelė”
Excel’iniai testavimo planai ir 0 automatinių testų
13
KAYAK – nagi, pasišakokime!
14
Diegimai pagal KAYAKPirmieji įspūdžiai
Dirbame dirbame dirbame
Stabilizuojame, stabilizuojame, stabilizuojame
Diegiame! Ooops…
Taisome, taisome, taisome
15
Tačiau tuo pat metu KAYAK buvo velniškai Agile!
Diegimai retoki, bet nesustabdomi kaip traukiniai
Naujos funkcijos diegiamos greitai, po to iteratyviai tobulinamos
Mažai dokumentacijos (wiki), veikiančios funkcijos svarbiau
Sprendimai priimami greitai
16
Treji metai su KAYAKKAYAK šiandien kitoks
Ko pasimokėme vieni iš kitų?
17
Hack’ams – TAIP! ** - yra papildomų sąlygų
Kai optimalūs architektūriniai sprendimai yra neoptimalūs
A/B testai
Ką daryti, kad hack’ai nevirstų technine skola
18
Progreso matavimas SP?
Story Points neatspindi sukuriamos pridėtinės vertės
Programuotojui svarbu suprasti verslo sritį
Programuotojo rolė KAYAK’e
19
CI, TDD, Refactoring - TAIP!
Kitaip, greitis lėtyn, kokybė prastyn
Greičio praradimus galima kompensuoti tik laikinai
KAYAK šiandien: >20000 automatizuotų testų
20
Šakoms (Branching) – NE!
Žudo nuolatinę integraciją ir refaktorinimą
Ryja žmogiškuosius ir techninius resursus
Naudokite Feature Toggle - funkcijų įjungimo vėliavėles
KAYAK šiandien: iš 3 SVN šakų, liko 2. Vienas didelis modulis jau diegiamas iš trunk’o
21
Kitos pamokos
Atskiri departamentai pagal funkcijas (devs, QA, ops) ne išsprendžia, o pagilina sprendžiamas problemas
Dažni diegimai yra geriausias ‘waste’ detektorius
Kartais geri verslo sprendimai ištempia projektą, nepaisant prastų techninių sprendimų (pastebite žodį ‘kartais’?)
A/B testai prieš HIPPOs (highest paid person’s opinion)
Smile
Audrys Kažukauskas, NFQ / Lietuvos Agile diena ’13а[email protected]
Ačiū!Laikas “suktiems” klausimams
x
<- NFQ plečiasi Vilniuje ir Kaune