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 ! 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 ! 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 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