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.
Irmantas Znatinas. Kodėl reikalingas Agile, kai "pas mus ir taip viskas puiki...
Apie Agile grūdus ir pelus
1. Smile
Apie Agile grūdus ir pelus
Audrys Kažukauskas, NFQ / Lietuvos Agile diena ‟13
аudrys@nfq.lt
2. 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. 3
Pirmoji istorija - swoodoo
~2005m. uţgimė naujas startuolis
Greičiausia pasaulyje skrydţių paieškos sistema swoodoo.com!
Extreme Programming!
+
4. 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
7. 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. 8
swoodoo – automatizuojame viską!
Diegimai vienu paspaudimu daug kartų per dieną (capistrano)
Sistemos rodiklių diagramos (cacti)
Automatiniai įspėjimai apie gedimus (nagios + meškafonas)
12. 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ų
15. 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. 16
Treji metai su KAYAK
KAYAK šiandien kitoks
Ko pasimokėme vieni iš kitų?
17. 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. 18
Progreso matavimas SP?
Story Points neatspindi sukuriamos pridėtinės vertės
Programuotojui svarbu suprasti verslo sritį
Programuotojo rolė KAYAK‟e
19. 19
CI, TDD, Refactoring - TAIP!
Kitaip, greitis lėtyn, kokybė prastyn
Greičio praradimus galima kompensuoti tik laikinai
KAYAK šiandien: >20000 automatizuotų testų
20. 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. 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)
22. Smile
Audrys Kažukauskas, NFQ / Lietuvos Agile diena ‟13
аudrys@nfq.lt
Ačiū!
Laikas “suktiems” klausimams
x
<- NFQ plečiasi Vilniuje ir Kaune