Scrum @ Seznam.cz Tomáš Pergler pruh www.seznam.cz … najdu tam, co neznám ! pes2008_lupa_rgb www.seznam.cz … najdu tam, co neznám ! O mě •Tomáš Pergler •V Seznamu od roku 2003 •Product/Project manager –Email, prihlasovani –neprimo Homepage, komunity, hry, horoskopy •Certified Scrum Master • • www.seznam.cz … najdu tam, co neznám ! Obsah přednášky •Jak funguje Scrum –role –fáze (meetingy) –vstupy / artefakty • •Jak děláme Scrum v Seznam.cz –Praha – Brno na dálku –Jak reportujeme dál –Projekty i maintenance www.seznam.cz … najdu tam, co neznám ! Co je SCRUM? •Scrum je iterativní způsob vývoje softwaru • •Druh projektového řízení, často spojován s agilním vývojem softwaru • •Přestože se často píše velkými písmeny není to zkratka • •Název je odvozen od rugby • • www.seznam.cz … najdu tam, co neznám ! Scrum scrum.jpg www.seznam.cz … najdu tam, co neznám ! Agilní manifest •Individuals and interactions over processes and tools • •Working software over comprehensive documentation • •Customer collaboration over contract negotiation • •Responding to change over following a plan www.seznam.cz … najdu tam, co neznám ! Scrum in Seznam Date Event Details Q1 2009 1 PM started Experience from the past April 2009 SUN, Zuzi Basic ideas to managers May 2009 First projects Scrum and XP from the trenches June 2009 1st CSM in Seznam October 2009 Succesful project Reason to spread and continue Scrum on various project It works, but we feel there is space to improve March 2010 Group for Scrum future July 2010 Results from the Scrum group September Deal with managers and coaches what to train in the company www.seznam.cz … najdu tam, co neznám ! Scrum in Seznam Date Event Details Q4 2010 SCRUM Trainings From the top 2011 SCRUM 2.0 J Dedicated „powerful“ certified SMs, more time for POs, developers; experience with velocity changes www.seznam.cz … najdu tam, co neznám ! SCRUM průběh tazzy_princip.jpg www.seznam.cz … najdu tam, co neznám ! Role ve scrumu •Scrum Master •-zajišťuje, že probíhá všechno jak má •-neměl by být součástí týmu (programovat) • •Product Owner •-reprezentuje zákazníka (u nás firmu), vytváří backlog •-vyjasňuje týmu co a jak se má vyrobit • •Tým •-klíčoví lidé, kteří se účastní výroby (programátoři) www.seznam.cz … najdu tam, co neznám ! Backlog •soupis všeho, co se musí vyrobit J • •skládá se z user stories •každá story má určenou prioritu •každá story má odhad v bodech •každá story má definováno jak poznáme, že je hotovo • •Sprint backlog – co se má vyrobit ve sprintu • www.seznam.cz … najdu tam, co neznám ! Sprint Backlog - realita backlog_sprint.jpg www.seznam.cz … najdu tam, co neznám ! Odhadování •odhaduje se náročnost stories •naceňuje se v bodech • •čísla pro bodování se používají z upravené Fibonacciho posloupnosti F(n+1) = F(n) + F(n−1) • •v Seznamu, dost často používáme stejně odhadování na MD (a pak nám vychází, že se den práce za den nestihne J) www.seznam.cz … najdu tam, co neznám ! Odhadování = planning poker tazzy_karty.jpg www.seznam.cz … najdu tam, co neznám ! Sprint •Sprint je časově určené období (obvykle 2-3týdny), ve kterém se vyrábí určená část product backlogu •Během sprintu probíhají fáze: –Plánování 1 –Plánování 2 –Výroba J - standup denně –Demo –Retrospektiva – – – – – – www.seznam.cz … najdu tam, co neznám ! Plánování 1 •Účastní se Tým, ScrumMaster, ProductOwner • •ProductOwner vysvětlí co je cílem vybraných stories • •Cílem ProductOwnera je mít toho za „své peníze“ co nejvíc, úkolem ScrumMastera je ohlídat, že se Tým zaváže pouze k tomu co zvládnou vyrobit www.seznam.cz … najdu tam, co neznám ! Plánování 1 •Na konci tohoto meetingu existuje závazek, které stories tým dodá na konci sprintu •Je velký rozdíl mezi: –závazat se k 19 bodům a stihnout 20 (tedy něco navíc) –závazat se k 21 bodů a stihnout 20 (tedy nestihli jsme co jsme slíbili) •Závazek se dělá dle Velocity www.seznam.cz … najdu tam, co neznám ! Velocity •„výkonnost“ týmu • •Jedná se o zkušenost z předchozích sprintů • •„pokud mám k dispozici stejný tým, je pravděpodobné, že za stejné časové období vyrobíme stejně bodů jako v minulém sprintu“ www.seznam.cz … najdu tam, co neznám ! Burndown burndown.JPG www.seznam.cz … najdu tam, co neznám ! Plánování 2 •Účastní se Tým a ScrumMaster •Cílem je prodiskutovat „design“ aplikace • •Na konci meetingu Tým ví, jak vyrobí stories v probíhajícím sprintu •Proběhne rozpad stories na tasky, tedy na konkrétní úkoly, které je třeba udělat, aby byla story hotová (na některých projektech odhadujeme tasky a sčítáme) www.seznam.cz … najdu tam, co neznám ! Tabule tabule.jpg www.seznam.cz … najdu tam, co neznám ! Tabule realita scrumboard.jpg www.seznam.cz … najdu tam, co neznám ! Standup •Probíhá denně •Účastní se Tým a SM •Na standupu se stojí J •Začíná v pravidelný čas a přesně •Každý z týmu řekne: –Co dělal od posledního standupu –Co bude dělat do dalšího standupu –Jaké jsou překážky, které mu brání ve výrobě •Neměl by přesáhnout 15min, obvykle bývá kratší •Přesouvají se hotové tasky/stories do done www.seznam.cz … najdu tam, co neznám ! Standup standup.jpg www.seznam.cz … najdu tam, co neznám ! Standup tazzy_vtip.jpg www.seznam.cz … najdu tam, co neznám ! Burndown burndown.JPG www.seznam.cz … najdu tam, co neznám ! Burndown burndown_2.JPG www.seznam.cz … najdu tam, co neznám ! Standup (v sedě) přes video standup_video.JPG www.seznam.cz … najdu tam, co neznám ! Demo •Demo je meeting, kde Tým ukáže PO, co vyrobili během uplynulého sprintu •PO tak pravidelně vidí jak bude produkt vypadat a má šanci dělat včas úpravy •Tím, že se pravidelně předvádí nehrozí, že nám na konec zbude příliš mnoho věcí k doladění •Může se zúčastnit kdokoliv, je to prostor ve firmě sdílet informace, co se kde děje www.seznam.cz … najdu tam, co neznám ! Demo na dálku •Videokonference • •Sdílená plocha promítaná na projektor • •Na projektoru: –prezentace s obsahem dema –předvádění konkrétních stories – www.seznam.cz … najdu tam, co neznám ! Retrospektiva •„ohlédnutí“ za předchozím sprintem •„Co šlo dobře?“ (vlevo) •„Co může jít líp?“ (vpravo) •Každý člen týmu včetně SM napíše alespoň jednu věc k oběma tématům •Dobré věci si stojí za to udržet •Co může jít líp se rovnou vymyslí jak, zapíše a během následujícího sprintu se alespoň jedna věc zlepší www.seznam.cz … najdu tam, co neznám ! Pevný cyklus Pořadí sprintu plán (pátek) start (pondělí) demo (středa) Předpokládané cíle Sprint #3 24.7.2009 27.7.2009 12.8.2009 Sprint #4 17.8.2009 18.8.2009 2.9.2009 Sprint #5 4.9.2009 7.9.2009 23.9.2009 Sprint #6 25.9.2009 28.9.2009 14.10.2009 spuštění bety Sprint #7 16.10.2009 19.10.2009 4.11.2009 doladění a spuštění ostrého provozu www.seznam.cz … najdu tam, co neznám ! Zvedli jsme informovanost •Posíláme informace emailem: –Plán sprintu –Obsah dema –Zhodnocení uplynulého sprintu a stav v rámci projektu •Demo – veřejné, může přijít kdokoliv •Na tzv. Středním mlýnu řešíme meziprojektové vlivy •Pravidelně vidíme hotové věci (podle povahy můžeme nasadit) a můžeme reagovat – www.seznam.cz … najdu tam, co neznám ! Zvedli jsme výkonost •Zvedli jsme výkonost týmů (spolupráce,na věci se nezapomíná a dělají se včas) • •Protože se pravidelně dělá demo, přichází se dřív na chyby • •Víme co děláme – nedělají se věci které už nejsou aktuální •Ve všem je pořádek J