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

Preview:

DESCRIPTION

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

Citation preview

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ą

Ačiū

Vaidas Adomauskasv.adomauskas@gmail.com

http://scrum.agile.lt

Mob. Tel.: 860038860

Let’s Scrum!Let’s Scrum!

Recommended