kas nėra agile: arba kas stabdo vadovus rimtai svarstyti agile metodų naudojimą

60
Kas nėra Agile: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą metodų naudojimą Vaidas Adomauskas 2011-05-11

Upload: vaidas-adomauskas

Post on 06-May-2015

1.906 views

Category:

Technology


4 download

DESCRIPTION

Atidarymo pranešimas konferencijoje Lietuvos Agile Diena. Keynote presented at Lithuanian Agile Day conference

TRANSCRIPT

Page 1: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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

Page 2: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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

Page 3: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile naudaAgile nauda Agile mitaiAgile mitai

ChaosasChaosas

Nėra planavimoNėra planavimo

Nėra dokumentacijosNėra dokumentacijos

Tik mažoms komandomsTik mažoms komandoms

Page 4: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

AgileAgile

Page 5: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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/

Page 6: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

AgileAgile

Lean

XP Scrum TDD

Kanban

Continuous Integration

Pair

programming

Refactoring

MetodaiMetodai PraktikosPraktikos

... ...

Page 7: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Scrum

Page 8: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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

Page 9: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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

Page 10: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Kanban

Vizualizuok darbo procesą Limituok pradėtą darbą (WIP – work in progress)

Matuok ir optimizuok tėkmę

Page 11: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Kiti Agile metodai

Feature Driven Development (FDD) Agile Modeling Crystal Agile Unified Process (AUP) Dynamic Systems Development

Method (DSDM) …

Page 12: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile nėra procesasAgile nėra procesas

“Agile, tai tiesiog kai visi daro viską (chaosas, o ne procesas)!”

Page 13: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Concert: chaos from the top

Page 14: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą
Page 15: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą
Page 16: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Reikalavimai > dizainas > programavimas

Page 17: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Integravimas ir testavimas

?

Page 18: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Procesas ar chaosas?

Page 19: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Iteracija 1

Pilnai pabaigtas (done)

paleidžiamas (shipable)

produkto prieaugis (increment)

Page 20: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Iteracija 2

Page 21: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Iteracijos 3 - …

Page 22: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Procesas ar chaosas?

Page 23: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile yra procesas kurti nuolat priaugantį

produktą!

Page 24: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile neturi planavimoAgile neturi planavimo

„Jei nieko neplanuoji, tai tu Agile!“

Page 25: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Pamišę programuotojai (extreme!!!)

Page 26: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Kompanijos planas – roadmap (projektų portfelis)

Page 27: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Projekto planas – projekto užduočių sąrašas

Page 28: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Projekto statusas – diegimo deginimo kreivė (Scrum)

Page 29: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Projekto statusas – laikas iki diegimo (Kanban)

24 dienos iki diegimo

48 dienos iki diegimo

Page 30: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Iteracijos planas – iteracijos užduočių sąrašas

Page 31: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Iteracijos statusas – iteracijos deginimo kreivė

Page 32: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Kasdienis planavimas – stovintis susirinkimas

Page 33: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile reikalauja savalaikio ir teisingo detalumo

planavimo (just in time)!

Page 34: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile neturi dokumentacijosAgile neturi dokumentacijos

“Agile, tai jokios dokumentacijos!”

Page 35: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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ų”

Page 36: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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?”

Page 37: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą
Page 38: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Kompanijos planas – roadmap (projektų portfelis)

Page 39: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Adform roadmap

Page 40: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Projekto planas – projekto užduočių sąrašas

Page 41: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Adform produktų užduočių sąrašai

Page 42: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Iteracijos planas – iteracijos užduočių sąrašas

Page 43: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Adform techninė dokumentacija

Techninės diagramos

Techniniai aprašymai

Vartotojo gidas sistemoje / doc / pdf

Page 44: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile reikalauja savalaikės ir teisingo detalumo

dokumentacijos (just in time)!

Page 45: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile tik “mažiems”Agile tik “mažiems”

„Agile metodai tinka tik mažoms kompanijoms, komandoms, projektams!“

Page 46: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Kur daugiau komandų?

Page 47: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Industrial Tutorials 2010 conference. “Software Development processes from Microsoft perspective” – Tautvydas Dagys (Microsoft Lithuania)

Microsoft – Visual Studio 2008

Page 48: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile Easter Europe 2010 Conference. “It’s Not About Working Software - First Build the Right Thing” – Mary Poppendieck

IBM – WebSphere®

Page 49: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą
Page 50: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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

Page 51: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Struktūra – komandos ir rolės

Chief Product Owner

Chief Product Owner

Scrum CoachScrum Coach

ArchitectsArchitects

>50 techninių darbuotojų 8 stabilios Scrum komandos

Page 52: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Produkto valdymas

Išryškintos prioritetinės sritys

Atskiras skyrius nuo gamybos

Dirba KARTU su komandomis

Page 53: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

http://scrum.agile.lt/agilescrum-projektas-su-keliomis-komandomis-192.html

Projektas su keliomis komandomis(1)

Planas:

Realybė:

Page 54: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

http://scrum.agile.lt/agilescrum-projektas-su-keliomis-komandomis-192.html

Veikia:

Projektas su keliomis komandomis (2)

Page 55: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Scrum’ų Scrum’as

Funkcijų planavimui Retrospektyvų retrospektyvoms

Page 56: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Agile metodai veikia ir dideliems!

Page 57: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Kas svarbiausia žinoti Kas svarbiausia žinoti vadovamsvadovams

Kas yra Agile!

Page 58: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą
Page 59: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

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ą

Page 60: Kas nėra Agile: arba kas stabdo vadovus rimtai svarstyti Agile metodų naudojimą

Ačiū

Vaidas [email protected]

http://scrum.agile.lt

Mob. Tel.: 860038860

Let’s Scrum!Let’s Scrum!