Realus Scrum naudojimas imonese (2010-06-29_07-01)

Preview:

DESCRIPTION

Realus Scrum naudojimas įmonėse: teorija, praktinė patirtis iš 2 kompanijų, sunkumai, rekomendacijos. Prezentacija pristatyta Lietuvos .NET vartotojų grupei Vilniuje ir Kaune. Pirmoji dalis: Agile/Scrum teorija. Antroji dalis: mano praktinė Scrum diegimo ir naudojimo patirtis dviejose kompanijose (Lavasoft ir Adform).

Citation preview

Vaidas Adomauskas

2010-06-29 ir 2010-07-01

Realus Scrum naudojimas įmonėse: teorija, praktinė patirtis iš 2 kompanijų, sunkumai, rekomendacijos

Darbotvarkė

Susipažinsime ;)Teorija

StatistikaAgileScrum

PraktikaLavasoftAdform

Anglų-Lietuvių vertimas yra sunku

Susipažinkime ;)

Apie mane (1)

VU MIF - Programų sistemų inžinerija (bakalauras)

3 metai MIF SAPirmininkas (organizacijos valdymas)Renginių organizavimas (MIDI)Mokymai

IT University of Gothenburg – Master in Software Engineering and Management (magistras)

Critical Chain Project Management (CCPM, TOC)Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles (http://gupea.ub.gu.se/dspace/bitstream/2077/10457/1/gupea_2077_10457_1.pdf)

Apie mane (2)

AB Lavasoft (Ad-Aware)Agile/Scrum ”Pionierius”Pakeičiau procesą: iš JFDI į Scrum (~25 žm, 4 komandos)Agile Development Practices 2008 (http://www.sqe.com/ConferenceArchive/AgileDevPractices2008/)

Scandinavian Development Conference 2009 (http://www.scandevconf.se/)

Adform (www.adform.com)Projektų vadovas (Scrum Master/Product Owner)Agile/Scrum ”Pionierius”Įdiegėme Scrum (>40 žm, 7 komandos)Scrum Master Certification (Ken Schwaber, Paris) (http://www.scrumalliance.org/generate_public_certificate/80593/A4/csm)

http://scrum.agile.lt

Kas jus?

Agile/Scrum:GirdėjęŽino daugNaudoja(o)

Pareigos:AnalitikasArchitektasProgramuotojasTestuotojasProjektų vadovaskita..

Statistika

Funkcionalumo naudojimas

Sėkmingi projektai

Tradicinis projektas

35% reikalavimų keičiasi... 64% funkcionalumo niekada arba retai naudojami... 32% sėkmingų projektų...

PPlanavimas

SStabilizavimas

VVystymas

Scrum projektas

P P V SP V P V P V

Agile ir tradiciniai projektai

http://www.scrumalliance.org (Scrum mokymų žemėlapis)

Klausimai?

Judrumo (Agile) manifestashttp://agilemanifesto.org

Judrumo (Agile) manifestas

...mes vertiname:

Žmones ir jų bendravimą

labiau nei

procesą ir įrankius

http://agilemanifesto.org/

Judrumo (Agile) manifestas

...mes vertiname:

Veikiančią programinę

įrangą

labiau nei

išsamią

dokumentaciją

http://agilemanifesto.org/

Judrumo (Agile) manifestas

...mes vertiname:

Bendradarbiavimą su klientu

labiau nei

derybas dėl

kontraktų

http://agilemanifesto.org/

Judrumo (Agile) manifestas

...mes vertiname:

Reagavimą į pokyčius

labiau nei

plano sekimą

http://agilemanifesto.org/

Metodai ir praktikos

Agile metodaiExtreme programming (XP)Feature Driven Development (FDD)Open Unified Process (OpenUP)ScrumLean software development…

Agile praktikosTest Driven Development (TDD)Behavior Driven Development (BDD)Continuous IntegrationPair ProgrammingPlanning poker…

http://en.wikipedia.org/wiki/Agile_software_development

Klausimai?

Scrum

Scrum istorija

Scrum

Scrum yra sistema (framework) kurti sudėtingiems produktamsScrum neaprašo konkrečių metodų ar technikųScrum nėra “sidabrinė kulka (silver bullet)”Scrum yra įrankis, kuris išryškina ką reikia tobulinti, kuriant kokybišką ir greitai atsiperkančią programinę įrangą.

Scrum komanda (1)

Moralas: vištos negali sakyti kiaulėms KAIP padaryti darbą

Kiaulės: Scrum komandaVištos: visi kiti (vadovai, departamentų vadovai, klientai ir t.t.)

Scrum komanda (2)

Scrum meistras (Scrum Master)

Produkto šeimininkas (Product Owner)

Komanda

Scrum procesas

Paleidimo planavimas

Produkto užduočių sąrašas

SprintaiSprinto planavimasKasdienis Scrum

Sprinto deginimo kreivė

Sprinto peržiūraSprinto retrospektyva

Paleidimas

Pabaigta (Done)

Visiškai “pabaigtas” prieaugis (increment) turi atliktą:

analizę dizainąperrašymą (refactoring) kodo rašymądokumentaciją testavimą paleidimądemonstravimą

Klausimai?

Fosbury Flop – istorija apie šuolį į aukštį

Tradicinis šuolis į aukštį iki 19681968 Meksiko olimpiada – Dick Fosbury (aukso medalis)Nuo 1972 tik 2 medaliai buvo laimėti nenaudojant “Fosbury Flop”Bet, net 1980 olimpiadoje ne visi naudojo “Fosbury Flop”...

Keistis sunku...

http://en.wikipedia.org/wiki/Dick_Fosbury

ScrumButs…

<Mes naudojam Scrum, bet><mes turime unikalias aplinkybes><taigi mes turėjome pakeisti Scrum, kad jis veiktų čia>

http://www.motionbox.com/videos/0a99deb71f13e2ca87

“Agile development is like teenage sex. Everyone says they're doing it, but only 10% are. And those who are -- ARE DOING IT WRONG.” - The

Hacker Chick Blog

“If you’re not having fun, you’re not doing it right!”- Joseph Pelrine, CST and Social Complexity Scientist

Klausimai?

Praktika

.

www.lavasoft.com

Lavasoft is the maker of Ad-Aware, the world's most popular anti-malware software

with over 350 million downloads

.

Biuras: Švedija, GotenburgasDydis: ~60 darbuotojų (~30% produkto vystymui) + nuotolinė komanda Šri Lankoje (5 darb.)Rinka: JAV, plėtimasis į Aziją ir EuropąProduktai:

Ad-Aware ~300.000 parsisiųstų kopijų per savaitę iš www.download.com

Anksčiau virš 500.000, Nr1 www.download.com

Kiti saugumo/privatumo produktai

Ad-Aware produkto šeima

Atnaujinimų, licenzijavimo, naujienų,

automatinės virusų analizės serveriai

Lavasoft evoliucija (1)

Darom kas šiandien dega (vadovybei, pardavėjams)Užduotis skirsto programuotojų vadovasTestuoja programuotojai (su virusų analitikais)Kuriamas testavimo skyrius

Paleisto produkto kokybė neatitinka lūkesčių

Lavasoft evoliucija (2)

Produkto funkcionalumas dokumentuojamasIškeliami naujos produkto versijos tikslaiĮkuriama projektinė struktūra (projektų vadovas)Funkcionalumas padalinamas iteracijoms (1 mėn)Sprendžiama dalis techninės skolos

Paleistas produktas išpildė tikslusir kokybės lūkesčius

Lavasoft evoliucija (3)

4 Scrum tarpfunkcinės komandos (~25 darbuotojai)Produktų užduočių sąrašai (Product Backlogs)Produkto valdyba (visų skyrių vadovai)Paleidimo (release) tikslai ir tema

Paleistas produktas: atitiko tikslus, kokybė aukščiausia bet kada buvusi

4 Scrum komandos

Produkto vystymo (vėliau skilo į dvi)0,5 Scrum Meistras/Produkto šeimininkas1 UI dizaineris/analitikas2 UI programuotojai 6 programuotojai2,5 kokybės užtikrinimo specialistai

Virusų aptikimo “variklio” (4 programuotojai)Automatinės virusų analizės sistemos vystymo

2 programuotojai1 virusų analitikas, Scrum Meistras/Produkto šeimininkas

Verslo versijos vystymo (nuotolinė komanda Šri Lankoje)

0,5 Produkto šeimininkas0,5 projektų vadovė / Scrum Meistrė4 programuotojai1 testuotojas

Naudos (valdymas)

Prognozuojami produkto paleidimai (releases)Produkto kokybė grįžo (kartu ir santykiai su partneriais)Baigėsi “kaltų ieškojimai” po paleidimųVisi skyriai dirba kartu (paleidimo tikslai ir tema)Daugiau resursų skiriama esminiam funkcionalumui

Naudos (vykdymas)

Produkto dalis žino visa komandaKryptingai mažinama produkto techninė skola (technical debt)Įgyvendinamos geros techninės praktikos:

Buildbot (http://buildbot.net)Nuolatinis integravimas (Continues Integration)Kasdieniai kompiliavimai (Daily Builds)

Automatizuotas testavimas(Automated Unit tests, Functionality tests)

Automatizuoti procesai:Atnaujinimų paleidimas (updates releases)Instaliacinio paketo kūrimasVertimų integracija“rebrand’ų” kūrimas

Išmoktos pamokos

Darbuotojų mokymai prieš pokytį yra svarbuYra žmonių, kurie nesugebės dirbti pagal ScrumVadovybei reikia parduoti produkto užduočių sąrašo valdymą, ne Scrum procesąSėdėjimas kartu (kuo arčiau) yra labai svarbuProgramuotojus reikia versti dirbti komandojeOptimaliausia komanda 7 (+-2) žmonės

Klausimai?

www.adform.com

Interneto reklamos planavimo, valdymo, apskaitos ir optimizacijos sistema

Your partner in digital marketing

Management and Planning Tools, Reporting, BI Tools

Middleware, Databases, DataWarehouses, BI Back End

Ad Serving and Web Analytics Front End

Internet

Publisher Web Advertiser Web Search Engine

Banner

Banner

Page

Searched keywordClick Click

Impressions, clicks,

other transactionsImpressions, clicks,

other transactions

Browsing Tracking

Transactions

Text AdLanding

Page

Page

…….

IN: Request or Event OUT: Content

Agencies Publishers Creative AgenciesAdvertisers Operators Partners

Your partner in digital marketing

Verslo modelis: SaaS, el. paslaugosRinka: Danija - Skandinavija – Europa - Azija 6 produktai – posistemėsGamyba: Lietuva

> 40 darbuotojų gamybos skyriuje7 komandos SCRUM!

Adform evoliucija (1)

Adform evoliucija (2)

Adform evoliucija (3)

Adform evoliucija (4)

Mokymai apie Scrum/AgileVadovybeiTechniniams departamentamsKitiems skyriams (trafficking, sales)

Pilotinis projektasSvarbus kompanijai projektas8 žmonės2 mėnesiai

Scrum Master sertifikacijos

Adform evoliucija (5)

Scrum įgyvendinimas: Rollout komanda

Komandoje: Dev, Arch, Test, IT, HRDienos mokymų/planavimo sesija

Scrum įgyvendinimas:reikalavimų valdymas

6 produkto užduočių sąrašai (pagal sistemos sritis)

Scrum įgyvendinimas:komandos

7 tarpfunkcinės komandos (po 6-8 specialistus)

4 Scrum meistrai (projektų vadovai ir gamybos vadovas)3-4 produktų šeimininkai (analitikai)

Komandos persodintos kad būtų kuo arčiauSprintai 2 savaičių ir sinchronizuotiPrieš pradedant – mokymai/diskusija

Scrum įgyvendinimas:įrankiai

Naudos (valdymas)

Aiškūs reikalavimų prioritetaiAiški ir paprasta naujų funkcijų patekimo į produkto užduočių sąrašus tvarkaAiškūs kompanijos resursų “butelio kakliukai”Prognozuojamas sistemos kūrimo greitisIšnyko “amžini” projektaiTobulėja produkto valdymo organizacija

Naudos (vykdymas)

Programuotojai netrukdomi kasdieniais klausimais/pasikeitimaisSistemos dalis žino visa komandaDažni ir stabilūs paleidimai (releases)Kryptingai gerinamas sistemos kodas (refactoring)Įgyvendinamos geros techninės praktikos:

Team City (http://www.jetbrains.com/teamcity/)Nuolatinis integravimas (Continues Integration)Kasdieniai kompiliavimai (Daily Builds)

Automatizuotas testavimas (Automated Unit tests,Functionality tests)

Iššūkiai

Negalimas Command & Control vadovavimasSpecialistai prisiima sprendimų atsakomybęSpecialistai imasi “ne savų” užduočių, jei to reikiaRealistiškas vertinimas ir sąžiningas statuso žymėjimasLabai plačios ir rimtos Product Owner atsakomybėsStambių užduočių skaidymas po 2 savaitesNegalima keisti apimties 2 savaitesSunku apibrėžti “DONE”, dar sunkiau padarytiFunkcionalumas liečiantis kelias komandas

Vadovų užduotys

Keičiama darbuotojų vertinimo sistemaPatarimai, 360 vertinimai ir karjeros planavimas asmeniškaiPremijavimas komandoms

Tobulinamos veiklos metrikosMetų plano (roadmap) vykdymasSprinto sekimas

% nepadaryto darbo# planuotų įgyvendinti funkcijų# planuotų paleisti (release) funkcijų# paleistų (released) funkcijų

Klausimai?

Rekomendacijos: nuo ko pradėti

http://scrum.blogas.lt/nuo-ko-pradeti-agilescrum-kompanijoje-136.html

Pasiruošimas

Išsiaiškinkite pokyčio tikslą:Kodėl norite keistisKo sieksite

Supraskite kaip ir kodėl naujas procesas veiks:

Knygos, blogai, straipsniaiVideo konferencijosKonferencijos/SertifikacijosIšorinė pagalba

Rezultatas: Agile/Scrum “pionierius”

Neužtrukit!

Pradžia (komandos nariui)

Suburkite tarp-funkcinę komandąPasiskirstykit rolesSutarkit su vadovais (nepardavinėkite Scrum):

Užduotys prioretizuotosLeisti pabaigti

Susėskite kartuApsibrėžkit

Sprinto ilgįPabaigtą kriterijų (Done)

Pirmyn!

Įgyvendinimas

Problemos – jos visada buvo tik slėpėsiTikėkitėsPripažinkiteSpręskite

Diekite geras Agile technines praktikasPatikėkite kad investicija į kokybę atsipirksVieną po kitos

Sprinto retrospektyvos – tobulėjimo įrankis

Saugokitės – seni įpročiai patyliukais nori grįžti

Klausimai?

Nuorodos (1)

http://scrum.agile.lt – mano blogas apie Scrum

http://www.agilealliance.org – Agile

http://www.scrumalliance.org – Scrum

http://www.poppendieck.com – Lean

http://www.pragprog.com – The Pragmatic Bookshelf

http://www.joelonsoftware.com - Joel Spolsky blog

Knygos (1)

Knygos (2)

Knygos (3)

Ačiū

Vaidas Adomauskasv.adomauskas@gmail.com

http://scrum.agile.ltMob. Tel.: 860038860

Facebook, Skype, LinkedIn…

Let’s Scrum!

Recommended