predná ka 10: technológia a ludia: scrum - 3mm metódy a ...vranic/mps/p/p_old/p10.pdf ·...

31
Prednáška 10: Technológia a ľudia: Scrum Prednáška 10: Technológia a ľudia: Scrum Metódy a prostriedky špecifikácie 2012/13 Valentino Vranić Ústav informatiky a softvérového inžinierstva Fakulta informatiky a informačných technológií Slovenská technická univerzita v Bratislave 4. december 2012 1 / 31

Upload: others

Post on 19-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: Scrum

Prednáška 10:

Technológia a ľudia: Scrum

Metódy a prostriedky špecifikácie 2012/13

Valentino Vranić

Ústav informatiky a softvérového inžinierstvaFakulta informatiky a informačných technológiíSlovenská technická univerzita v Bratislave

4. december 2012

1 / 31

Page 2: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: Scrum

Obsah prednášky

1 Technológie

2 Projekt

3 Ľudia

4 Scrum

2 / 31

Page 3: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumTechnológie

Technológie

3 / 31

Page 4: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumTechnológie

Technika a technológia

Technológia ako pojem má hmotný nádychJestvujú však aj softvérové technológiePoužíva sa prehnane aj na označenie nového softvérovéhosystémuGr. τ εχνη – umenie, schopnosť, zručnosť, remesloTechnika a technológia

4 / 31

Page 5: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumTechnológie

Technológie a výroba

Masová výrobaŠpecializácia práceBežiaci pás

Ford assembly line, 1913.11http://en.wikipedia.org/wiki/File:Ford_assembly_line_-_1913.jpg

5 / 31

Page 6: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumTechnológie

Technológie v prospech ľudí

Technológie majú slúžiť ľuďom, nie naopakTechnológie umožňujú účinnejšie pracovať s využitímautomatizácieNetreba však zabúdať na prirodzené ľudské vlastnostiNeustály dopyt po nových a lepších výrobkoch – vyžadujekreativitu a nedá sa automatizovaťOrganizované úsilie za účelom naplnenia predsavzatia: projekt

6 / 31

Page 7: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumProjekt

Projekt

7 / 31

Page 8: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumProjekt

Projekt

Projekt – projekcia, predstava (lat. proicere – hodiť dopredu)Realizácia2

Čo treba realizovať: špecifikácia (požiadaviek)Ako realizovať: návrh (design)Samotná realizácia: implementácia (lat. implere – splnenie,naplnenie)Medzi špecifikáciou a návrhom sa často vyčleňuje analýzaTypické fázy – lepšie povedané aktivity – realizáciesoftvérového projektu, ale platné aj širšie

2Často sa hovorí „riešiť projekt“. Predstavy sa však neriešia, ale realizujú.8 / 31

Page 9: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumProjekt

Iné aktivity v realizácii projektu

Po implementácii sa ako zvláštna aktivita vyčleňujú ajtestovanie a integráciaV širšom zmysle ako posledná (a často najnáročnejšia)vystupuje aj údržba (maintenance)Budeme pracovať so zjednodušenou predstavou realizácieprojektu: špecifikácia – návrh – implementácia

9 / 31

Page 10: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumProjekt

Vodopádový model

Idealizovaná predstava: projekt sa „zleje“ hladko cez všetkyaktivity

Špecifikácia

Implementácia

Návrh

Ak proces takto aj prebehne, zákazník zistí, že nedostal to, čopožadovalV praxi sa už pri analýze špecifikácie naráža na problémy:

neúplnosť (podšpecifikácia, angl. underspecification)nejednoznačnosťnekonzistentnosť (rozporuplnosť)prešpecifikácia (angl. overspecification) 10 / 31

Page 11: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumProjekt

Neúplnosť špecifikácie

Neúplnosť môže znamenať nedopovedanosť – dá sa zistiť uzákazníkaŠpecifikácia je však neúplná aj vzhľadom na to, čo zákazník nakonci bude chcieť maťPredstavy zákazníka sa meniaHovorí sa, že zákazník nevie, čo chceToto je vnútorný problém špecifikácie ako takej: nedá savytvoriť úplná špecifikácia pred realizáciou

11 / 31

Page 12: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumProjekt

Iteračný a inkrementálny prístup

Špecifikácia

Implementácia

Návrh

Iterácia n

Špecifikácia

Implementácia

Návrh

Iterácia 2

Špecifikácia

Implementácia

Návrh

Iterácia 1

12 / 31

Page 13: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumProjekt

Iterácia a inkrement

Iterácia (lat. iterum – znovu) predstavuje jeden prechod vrealizácii projektuVýsledkom iterácie je inkrement (prírastok; lat. increscere –narasť)Pred každou iteráciou je príležitosť zmeniť požiadavkyPo každej iterácii vzniká určitý produkt – tendencia je, aby bolfunkčnýZákazník po každej iterácií vidí a potenciálne môže vyskúšaťprodukt – zmenou požiadaviek riadi jeho vývojKvalita realizácie projektu závisí od ľudí

13 / 31

Page 14: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumĽudia

Ľudia

14 / 31

Page 15: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumĽudia

Ľudia. . .

Robia chyby a učia sa na nichŤažko znášajú monotónnu a jednotvárnu prácuRadi pracujú na zaujímavých veciachChápu len rozumne blízke termínyPrispôsobujú sa mechanizmom vyhodnocovania ich prácePotrebujú osobný kontakt a bezprostrednú komunikáciu sinými ľuďmiPotrebujú vidieť výsledky svojej práceNemajú radi vonkajšie riadenie

15 / 31

Page 16: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumĽudia

Ľudia a projekty

Klasický prístup k realizácii projektov alebo organizovanejvýrobe vôbec neberie do úvahy prirodzené ľudské vlastnostiAlebo predsa áno: snaží sa ich potlačiť a zvíťaziť nad nimiNiekedy sa to podarí, ale to je Pyrrhovo víťazstvo: výsledkomje skupina poslušných – a demotivovaných – pracovníkov, ktorísvoju prácu prispôsobili spôsobu hodnoteniaVolá sa to manažmentJe možné sa tomu vyhnúť a ťažiť z ľudských vlastností?

16 / 31

Page 17: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Scrum

17 / 31

Page 18: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Scrum

Scrum je rámec (angl. framework) pre realizáciu projektovScrum nie je (ucelená) metódaZaručuje však, že sa práca sústredí na najdôležitejšie veciVychádza z prirodzených ľudských vlastností

18 / 31

Page 19: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Roly v Scrume

Team – tímScrumMasterProduct owner – vlastník výrobku

19 / 31

Page 20: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Vlastník výrobku

Vlastník výrobku zastupuje zákazníkov a inýchzainteresovaných (angl. stakeholders)Môže mať svoj vlastný tímZodpovedný je za výrobok ako taký a návrat investície (angl.return on investment, ROI)Interpretuje a vysvetľuje požiadavkyUdržiava product backlog

20 / 31

Page 21: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Tím

3–7 členovČlenovia tímu nemajú striktne vymedzený určitý typ práceTím sa riadi sámTím určuje koľko práce zoberie do jedného šprintu (angl.sprint; predstavuje iteráciu)Záznam o tom je v sprint backlogu – zoznamu vybranýchpoložiek z vrchu product backlogu rozpísaných do úloh (angl.task)Túto prácu má dokončiť a výsledkom je vždy potenciálneodovzdateľný výrobok (inkrement)Po niekoľkých iteráciách sa hodnota práce ustáli – označuje saako rýchlosť (velocity)Tím pracuje v normálnej pracovnej dobeSleduje koľko práce zostáva v šprinte a ako ubúda – burndownchart

21 / 31

Page 22: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

ScrumMaster

ScrumMaster pomáha tímu odstrániť prekážkyScrumMaster chráni tím pred mimoprojektovými požiadavkami– niekedy prichádzajú aj priamo od vlastníka výrobkuScrumMaster nikdy nezasahuje do práce tímuPrácu tímu nikto nekontroluje – základ vybudovania dôveryTím môže vyhodiť ScrumMastera

22 / 31

Page 23: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Schéma Scrumu

Jeff Sutherland’s Scrum Handbook, Scrum Training Institute Press, 2010.33http://jeffsutherland.com/scrumhandbook.pdf

23 / 31

Page 24: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Chyba

Odhalenie chyby sa v Scrume vníma mimoriadne pozitívne: akopríležitosť pre zdokonaľovanieOdstránenie chýb sa neodkladá – produkt sa neodovzdáva svedomím, že sú v ňom chybyTím sa z chyby snaží poučiť – a patrične upraví proces (spätnáväzba, angl. feedback)

24 / 31

Page 25: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Kontakt a komunikácia

Vo všeobecnosti sa dá komunikovať aj prostredníctvomdokumentácieProblém je, že ľudia majú tendenciu veľa dokumentovať, alenikto to nečíta (write only documentation) – produkuje sa týmodpadScrum je založený na priamej komunikácii, rýchlej a účinnejDokumentácia sa využíva na zaznamenanie veci, ktoré trebapamätaťBezprostredná komunikácia umožňuje pružnú a koordinovanúreakciu tímu

25 / 31

Page 26: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Plánovanie

Product backlog – zoznam ešte nespracovaných položiekPrioritu položiek stanovuje vlastník výrobkuOdhad času potrebného pre jednotlivé položky je preplánovanie kľúčovýJe ťažké čas vyjadriť absolútne – odhad v Scrume je pretorelatívny: položky sú ohodnotené bodmiPlanning poker4

Tím z vrchu product backlogu vyberá počet položiek, ktoré simyslí, že zvládne v čase jedného šprintuJeden beh trvá 2–4 týždne (stanovené dopredu a počas behunemenné) – najlepšie je mať rovnaké trvanie všetkých šprintov

4http://www.crisp.se/bocker-och-produkter/planning-poker

26 / 31

Page 27: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Každodenné stretnutia

Daily ScrumNa začiatku pracovného dňaHovoria len členovia tímuKaždý člen povie:

Čo robil včeraČo bude robiť dnesAké prekážky mu bránia v práci (angl. impediments)

Nediskutuje saNič nebráni členom tímu, aby prediskutovali veci behom dňa –aj so ScrumMasterom

27 / 31

Page 28: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Kontinuálne prehodnocovanie procesu

Scrum sa bráni výrobe nepotrebných vecí – odpaduKontinuálne odstraňovanie prekážokRetrospektíva a posúdenie šprintuNepoužívajú sa metriky vyhodnocovania produktivity – všetkoje viditeľné (okrem toho, ich použitie vedie k prispôsobeniupráce spôsobu jej vyhodnocovania)

28 / 31

Page 29: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumScrum

Pôvod a zázemie Scrumu

Jeff Sutherland5

Názov z rugby analógie Takeuchiho a Nonaku6

Scrum pramení z prístupu niektorých japonských spoločností –vzorom je ToyotaVýklad filozofie Scrumu sa často opiera o japonskúterminológiu: muri – muda – mura, kaizen, sensei. . .Scrum však nie je podmienený japonskou kultúrou – založenýje na všeobecnej ľudskej povaheAgilný prístup (angl. agile)Scrum Alliance7

Organizačné vzory85http://jeffsutherland.com/scrumhandbook.pdf

6H. Takeuchi and I. Nonaka. The New New Product Development Game. Harvard Business Review,1986. http://www.sao.corvallis.or.us/drupal/files/TheNewNewProductDevelopmentGame.pdf

7http://www.scrumalliance.org/

8J. O. Coplien and N. B. Harrison. Organizational Patterns of Agile Software Development.Prentice Hall, 2004.

29 / 31

Page 30: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumSumarizácia

Sumarizácia

30 / 31

Page 31: Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf · Prednáška10: Technológiaaľudia: Scrum Technológie Technológieavýroba Masovávýroba

Prednáška 10: Technológia a ľudia: ScrumSumarizácia

Sumarizácia

Pokrok vedie k čoraz väčšej automatizáciiĽudská kreativita je však kľúčová a nenahraditeľnáTechnológie majú slúžiť ľuďom, nie naopakProjektová práca môže byť organizovaná tak, abyzohľadňovala prirodzené ľudské vlastnosti v prospech výsledkuNa tomto základe je postavený Scrum ako rámec pre realizáciuprojektov

31 / 31