kas nėra agile: arba kas stabdo vadovus rimtai svarstyti agile metodų naudojimą
DESCRIPTION
Atidarymo pranešimas konferencijoje Lietuvos Agile Diena. Keynote presented at Lithuanian Agile Day conferenceTRANSCRIPT
Kas nėra Agile:Kas nėra Agile:arba kas stabdo vadovus rimtai svarstyti Agile metodų arba kas stabdo vadovus rimtai svarstyti Agile metodų
naudojimąnaudojimą
Vaidas Adomauskas2011-05-11
Vaidas Adomauskas
Blogas: http://scrum.agile.lt Twitter: @adomauskas SlideShare: http://www.slideshare.net/vaidasa Facebook:
http://www.facebook.com/pages/Scrum-ir-Agile-Lietuvoje/108539285840760
Agile naudaAgile nauda Agile mitaiAgile mitai
ChaosasChaosas
Nėra planavimoNėra planavimo
Nėra dokumentacijosNėra dokumentacijos
Tik mažoms komandomsTik mažoms komandoms
AgileAgile
AgileAgilewww.agilemanifesto.org
Mes atrandame geresnius būdus kurti programinę įrangą patys ją kurdami ir padėdami kitiems ją kurti.
Vasario 11-13, 2001
Snowbird slidinėjimo kurortas, Utah
http://agilemanifesto.org/
AgileAgile
Lean
XP Scrum TDD
Kanban
Continuous Integration
Pair
programming
Refactoring
MetodaiMetodai PraktikosPraktikos
... ...
Scrum
Ekstremalus programavimas (XP)
12 Praktikų The Planning Game Small releases Metaphor Simple design Continues Testing Refactoring Pair programming Collective code ownership Continuous integration 40 hour week On-site customer Coding standards
SprintPlanningmeeting
Daily Scrum
Sprint Review
Sprintbacklog
Productbacklog
TDD
Pair programming
Refactoring
Simpledesign
Coding standard
SustainablePace
Metaphor
Continuous Integration
Collective ownership
Whole team
Planning game
Small releases
Customer tests
Burndownchart
Productowner
Team
ScrumMaster
Scrum
XP
Kanban
Vizualizuok darbo procesą Limituok pradėtą darbą (WIP – work in progress)
Matuok ir optimizuok tėkmę
Kiti Agile metodai
Feature Driven Development (FDD) Agile Modeling Crystal Agile Unified Process (AUP) Dynamic Systems Development
Method (DSDM) …
Agile nėra procesasAgile nėra procesas
“Agile, tai tiesiog kai visi daro viską (chaosas, o ne procesas)!”
Concert: chaos from the top
Reikalavimai > dizainas > programavimas
Integravimas ir testavimas
?
Procesas ar chaosas?
Iteracija 1
Pilnai pabaigtas (done)
paleidžiamas (shipable)
produkto prieaugis (increment)
Iteracija 2
Iteracijos 3 - …
Procesas ar chaosas?
Agile yra procesas kurti nuolat priaugantį
produktą!
Agile neturi planavimoAgile neturi planavimo
„Jei nieko neplanuoji, tai tu Agile!“
Pamišę programuotojai (extreme!!!)
Kompanijos planas – roadmap (projektų portfelis)
Projekto planas – projekto užduočių sąrašas
Projekto statusas – diegimo deginimo kreivė (Scrum)
Projekto statusas – laikas iki diegimo (Kanban)
24 dienos iki diegimo
48 dienos iki diegimo
Iteracijos planas – iteracijos užduočių sąrašas
Iteracijos statusas – iteracijos deginimo kreivė
Kasdienis planavimas – stovintis susirinkimas
Agile reikalauja savalaikio ir teisingo detalumo
planavimo (just in time)!
Agile neturi dokumentacijosAgile neturi dokumentacijos
“Agile, tai jokios dokumentacijos!”
Tradicinė dokumentacija
Pradžioje projekto Reikalavimai:
“Surašykit VISKĄ ką galite sugalvoti. Bet koks reikalavimų keitimas ateityje jums kainuos LABAI daug”
Dizainas / architektūra: “Programuotojai NEMOKA kurti
architektūros”
Einamoji dokumentacija: PM: “Apsisaugosime kai ieškos
kaltų”
Agile dokumentacija
Viso projekto metu Iteracijos pabaigos kriterijaus
dalis Reikalavimai: vartotojų istorijos Diagramos: UI / dizainas /
architektūra Vartotojo gidas
Dokumentuoja visa komanda “Ką mums reikia žinoti kai grįšim
taisyti/keisti?”
Kompanijos planas – roadmap (projektų portfelis)
Adform roadmap
Projekto planas – projekto užduočių sąrašas
Adform produktų užduočių sąrašai
Iteracijos planas – iteracijos užduočių sąrašas
Adform techninė dokumentacija
Techninės diagramos
Techniniai aprašymai
Vartotojo gidas sistemoje / doc / pdf
Agile reikalauja savalaikės ir teisingo detalumo
dokumentacijos (just in time)!
Agile tik “mažiems”Agile tik “mažiems”
„Agile metodai tinka tik mažoms kompanijoms, komandoms, projektams!“
Kur daugiau komandų?
Industrial Tutorials 2010 conference. “Software Development processes from Microsoft perspective” – Tautvydas Dagys (Microsoft Lithuania)
Microsoft – Visual Studio 2008
Agile Easter Europe 2010 Conference. “It’s Not About Working Software - First Build the Right Thing” – Mary Poppendieck
IBM – WebSphere®
Management and Planning Tools, Reporting, BI Tools
Middleware, Databases, DataWarehouses, BI Back End
Ad Serving and Web Analytics Front End
InternetInternet
Publisher WebPublisher Web Advertiser WebAdvertiser Web Search EngineSearch Engine
BannerBanner
BannerBanner
Page
Searched keywordClickClick ClickClick
Impressions, clicks,
other transactions
Impressions, clicks,
other transactionsImpressions, clicks,
other transactions
Impressions, clicks,
other transactions
Browsing Tracking
Transactions
Text AdText AdLanding
PageLanding
Page
Page
…….
IN: Request or Event
OUT: Content
Agencies Publishers Creative AgenciesAdvertisers Operators Partners
Struktūra – komandos ir rolės
Chief Product Owner
Chief Product Owner
Scrum CoachScrum Coach
ArchitectsArchitects
>50 techninių darbuotojų 8 stabilios Scrum komandos
Produkto valdymas
Išryškintos prioritetinės sritys
Atskiras skyrius nuo gamybos
Dirba KARTU su komandomis
http://scrum.agile.lt/agilescrum-projektas-su-keliomis-komandomis-192.html
Projektas su keliomis komandomis(1)
Planas:
Realybė:
http://scrum.agile.lt/agilescrum-projektas-su-keliomis-komandomis-192.html
Veikia:
Projektas su keliomis komandomis (2)
Scrum’ų Scrum’as
Funkcijų planavimui Retrospektyvų retrospektyvoms
Agile metodai veikia ir dideliems!
Kas svarbiausia žinoti Kas svarbiausia žinoti vadovamsvadovams
Kas yra Agile!
Agile organizacijoje
Sausis
Balandis
Padalinkite organizaciją
Padalinkite produktą
Padalinkite laiką
Optimizuokite pagal verslo vertę
Nuolat optimizuokiteprocesą
$
$$$
Burndown
Unplanned items
Notchecked out Done! :o)
Write f ailing test
DAO
DB design
I ntegr test
Migration tool
Write f ailing test
GUI spec
Tapestry spikeI mpl.
migrat ion
2d
Code
cleanup
Deposit
2d1d 0.5d1d
2d
8d
1d2d
2d
BackofficeLogin
BackofficeUser admin
Write f ailing test
3d
2d
1d2d
I mpl GUI
1dI ntegr. with
J Boss2d
Write f ailing test
3d
I mpl GUI
6d
Clarif y require-ments
2d
GUI design (CSS)
1d
Fix memory leak(J I RA 125)2d
Sales support
3d Write whitepaper
4d
SPRINT GOAL: Beta-ready release!
Next
WithdrawPerf testWithdraw
checked out
Write f ailing test
Kurkite nuolat priaugantį produktą