apie agile grūdus ir pelus

22
Smile Apie Agile grūdus ir pelus Audrys Kažukauskas, NFQ / Lietuvos Agile diena ’13 а[email protected]

Upload: agile-lietuva

Post on 05-Dec-2014

543 views

Category:

Business


1 download

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

Page 1: Apie Agile grūdus ir pelus

SmileApie Agile grūdus ir pelus

Audrys Kažukauskas, NFQ / Lietuvos Agile diena ’13а[email protected]

Page 2: Apie Agile grūdus ir pelus

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

Page 3: Apie Agile grūdus ir pelus

3

Pirmoji istorija - swoodoo

~2005m. užgimė naujas startuolis

Greičiausia pasaulyje skrydžių paieškos sistema swoodoo.com!

Extreme Programming!

+

Page 4: Apie Agile grūdus ir pelus

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

Page 5: Apie Agile grūdus ir pelus

5

Iteracijos planas

Page 6: Apie Agile grūdus ir pelus

6

Iteracijos SP “deginimo” kreivė

Page 7: Apie Agile grūdus ir pelus

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)

Page 8: Apie Agile grūdus ir pelus

8

swoodoo – automatizuojame viską! Diegimai vienu paspaudimu daug kartų per dieną

(capistrano)

Sistemos rodiklių diagramos (cacti)

Automatiniai įspėjimai apie gedimus (nagios + meškafonas)

Page 9: Apie Agile grūdus ir pelus

9

swoodoo tapo pirmaujančia Vokietijoje!

Page 10: Apie Agile grūdus ir pelus

10

Viena didžiausių kelionių paieškos ir rezervavimo sistemų pasaulyje

Ir čia priėjo…

Page 11: Apie Agile grūdus ir pelus

11

“Jie viską daro neteisingai!”

Page 12: Apie Agile grūdus ir pelus

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ų

Page 13: Apie Agile grūdus ir pelus

13

KAYAK – nagi, pasišakokime!

Page 14: Apie Agile grūdus ir pelus

14

Diegimai pagal KAYAKPirmieji įspūdžiai

Dirbame dirbame dirbame

Stabilizuojame, stabilizuojame, stabilizuojame

Diegiame! Ooops…

Taisome, taisome, taisome

Page 15: Apie Agile grūdus ir pelus

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

Page 16: Apie Agile grūdus ir pelus

16

Treji metai su KAYAKKAYAK šiandien kitoks

Ko pasimokėme vieni iš kitų?

Page 17: Apie Agile grūdus ir pelus

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

Page 18: Apie Agile grūdus ir pelus

18

Progreso matavimas SP?

Story Points neatspindi sukuriamos pridėtinės vertės

Programuotojui svarbu suprasti verslo sritį

Programuotojo rolė KAYAK’e

Page 19: Apie Agile grūdus ir pelus

19

CI, TDD, Refactoring - TAIP!

Kitaip, greitis lėtyn, kokybė prastyn

Greičio praradimus galima kompensuoti tik laikinai

KAYAK šiandien: >20000 automatizuotų testų

Page 20: Apie Agile grūdus ir pelus

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

Page 21: Apie Agile grūdus ir pelus

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)

Page 22: Apie Agile grūdus ir pelus

Smile

Audrys Kažukauskas, NFQ / Lietuvos Agile diena ’13а[email protected]

Ačiū!Laikas “suktiems” klausimams

x

<- NFQ plečiasi Vilniuje ir Kaune