Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf ·...
Transcript of Predná ka 10: Technológia a ludia: Scrum - 3mm Metódy a ...vranic/mps/p/p_old/p10.pdf ·...
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
Prednáška 10: Technológia a ľudia: Scrum
Obsah prednášky
1 Technológie
2 Projekt
3 Ľudia
4 Scrum
2 / 31
Prednáška 10: Technológia a ľudia: ScrumTechnológie
Technológie
3 / 31
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
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
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
Prednáška 10: Technológia a ľudia: ScrumProjekt
Projekt
7 / 31
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
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
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
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
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
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
Prednáška 10: Technológia a ľudia: ScrumĽudia
Ľudia
14 / 31
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
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
Prednáška 10: Technológia a ľudia: ScrumScrum
Scrum
17 / 31
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
Prednáška 10: Technológia a ľudia: ScrumScrum
Roly v Scrume
Team – tímScrumMasterProduct owner – vlastník výrobku
19 / 31
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
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
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
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
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
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
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
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
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
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
Prednáška 10: Technológia a ľudia: ScrumSumarizácia
Sumarizácia
30 / 31
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