• Ei tuloksia

A g ile So ftw a re D e v e lo p m e n t

N/A
N/A
Info
Lataa
Protected

Academic year: 2024

Jaa "A g ile So ftw a re D e v e lo p m e n t"

Copied!
6
0
0

Kokoteksti

(1)

A g il e So ftw a re D e v e lo p m e n t T -1 10 .6 13 0 S y st em s E n g in ee rin g in Da ta C o m m u n ic a tio n s So ft w a re P 2 9 .9 .2 0 11 K ri st ia n R a u tia in en , A a lt o U n iv er sit y

A g e n d a • A g ile So ft w a re D e ve lo p me n t Ba si cs • e X tr e me Pro g ra mm in g (XP) • Sc ru m • 1 0 W a ys to F a il w h e n G o in g A g ile

29.9.20112Kristian Rautiainen

A g il e So ftw a re D e v e lo p m e n t B a s ic s

29.9.20113Kristian Rautiainen

A g il e s o ftw a re d e v e lo p m e n t

•Structured and disciplined, fast-paced Iterative and Incremental Development (IID) –NOT “build-and-fix” or “hack away” •

Pa cka g e s e x ist in g g o o d so ft w a re e n g in e e ri n g p ra ct ice s

–Nothing new, except the underlying philosophy and the combination of practices •Embraces change rather than controls it –Suitable for extremely turbulent environments •Focuses on delivering business value in frequent increments –Customer/User involvement paramount •Can’t be used in all projects! –E.g. small teams recommended •More information: –http://www.agilealliance.org/ 29.9.2011 4Kristian Rautiainen

A g il e Ma n ife s to

•Signed by authors of ASD, XP, Scrum, Crystal, FDD, DSDM, and ”pragmatic programming” + some others in Feb 2001 •Agree at the first level –need to respond to change •Agree at the second level (Agile Manifesto) –individuals and interactionsover processes and tools –working softwareover comprehensive documentation –customer collaborationover contract negotiation –responding to changeover following a plan •Agree at the third level –12 more detailed statements (Principles) •Don’t agree at the fourth level –detailed project tactics 29.9.2011 5Kristian Rautiainen 6

Pr in c ip le s o f th e A g il e A ll ia n c e

•Satisfy the customer through early and continuous delivery of valuable software •Agile processes harness change for the customer’s competitive advantage •Deliver working software frequently •Working software is the primary measure of progress •Agile processes promote sustainable development at a constant pace •Business people and developers must work together daily •Build projects around motivated individuals, give them support and trust them to get the job done

•The most efficient and effective way of conveying information is face-to-face conversation •Attention to technical excellence and good design enhances agility •Simplicity--the art of maximizing the amount of work NOT done--is essential •The best architectures, requirements, and designs emerge from self- organizing teams •At regular intervals the team tunes and adjusts its behavior to become more effective 29.9.2011Kristian Rautiainen

(2)

A g il e p ro c e s s m o d e ls • Pro vi d e t h e “p ro je ct t a c ti c s”

A se t o f sp e ci fi c va lu e s, p ri n ci p le s, a n d p ra ct ice s • M a n y m o d e ls h a ve b e e n p ro p o se d

e Xt re m e Pro g ra m mi n g (XP)

A d a p ti ve So ft w a re D e ve lo p m e n t (A SD )

R a p id A p p lica ti o n D e ve lo p m e n t (R A D )

D yn a m ic So lu ti o n D e live ry Mo d e l (D SD M)

Scru m

C ryst a l

F e a tu re -D ri ve n D e ve lo p m e n t (F D D )

L e a n D e ve lo p m e n t (L D )

.. . • Mo st a g ile p ro ce ss mo d e ls e mp lo y ti m e p a c in g

29.9.20117Kristian Rautiainen

T h e c o n c e p t o f ti m e p a c in g • T ime p a c in g re fe rs t o

C re a ti n g a r h yt h m f o r p ro d u ct d e ve lo p m e n t b y ti me b o x in g d e ve lo p m e n t w o rk

•The schedule is fixed •The scope is flexible (prioritization needed)

• T ime p a c in g ca n b e d o n e o n se ve ra l ti me h o ri z o n s

T ime h o ri zo n = p la n n in g t ime h o ri zo n , i. e . th e l e n g th o f th e t ime b o x

L o n g -t e rm g o a ls a re sp lit i n to sh o rt -t e rm su b g o a ls

T h is p ro vi d e s

•visible progress on shorter time horizons by reaching the sub goals •flexibility to reflect on and change plans and goals in the control points based on visible and concrete progress 29.9.20118Kristian Rautiainen

A g il e p h il o s o p h y a n d ti m e h o ri zo n s

29.9.20119

Product Backlog Release Backlog Iteration Backlog

Release Backlog

planned scope for release allocated into Iteration BacklogIteration Backlog

parts chosen and allocated into consists of tasks that are needed to implement the allocated backlog items Every idea, feature, bug, etc. considered for the product is kept in

Go ve rna nce

Prog ress sta tu s

Progress status of the tasks of an Iteration checked in Daily Heartbeat meetings Progress of a Release checked in Iteration Demo

Roles: 1 Product Owner 1 Team 1 Coach Kristian Rautiainen

Sw e e t s p o ts o f a g il e s o ftw a re d e v e lo p m e n t

3 -8 p e o p le i n o n e ro o m

–Information moves the fastest face-to-face •

O n si te e x p e rt u se r

–Minimized time for feedback of the solution –Possibility to ask questions immediately à fastest response time •

O n e -mo n th (m a x ) it e ra ti o n s

–Feedback of the product and the process –Today’s “industry standard” is 2-week iterations •

S u p p o rt in g i n fra st ru ct u re /t e ch n o lo g y in p la ce

–Continuous Integration environment with automatic build process –Fully automated regression tests •Confidence to changing and improving the system 29.9.2011 10Kristian Rautiainen

C o m p a ri n g p ro c e s s m o d e ls

29.9.2011 11

Specification Design Implementation Test Sequential Iterative & Incremental (IID) eXtreme Programming (XP)

Time

Kristian Rautiainen

e Xtr e m e Pr o g ra m m in g (XP) (B a s e d o n th e o ri g in a l b o o k b y K e n t B e c k )

29.9.2011 12Kristian Rautiainen
(3)

XP V a lu e s (1 /2 )

•Communication –Lack of it is the reason for most problems –Punishment from bad news kills it –XP employs practices that keep programmers, customers and managers communicating

•Simplicity –What is the simplest thing that could possibly work? –General vs. simple design •anticipatory design assumes more work today saves work later –YAGNI •low rate of changes –anticipatory design •high rate of changes –refactoring and continuous design –A simple solution is easier to understand 29.9.201113Kristian Rautiainen

XP V a lu e s (2 /2 )

•Feedback –Concrete feedback about the state of the system –Scale of minutes or days •unit tests, quality of stories (requirements), progress of tasks –Scale of weeks or months •acceptance tests, schedule, system in production •Courage –Changing the system –Throwing code away –Pair programming 29.9.201114Kristian Rautiainen

XP Pr in c ip le s

•Fundamental principles –rapid feedback •critical for learning –assume simplicity •treat every problem as if it can be solved with simplicity –incremental change •series of smallest changes that make a difference –embracing change •best strategy preserves most options while actually solving your most pressing problem –quality work •excellent quality •nobody likes doing a bad job

•Sec

o n d a ry p ri n c ip le s

–teach learning –small initial investment –play to win –concrete experiments –open, honest communication –work with people’s instincts, not against them –accepted responsibility –local adaptation –travel light –honest measurement 29.9.201115Kristian Rautiainen

XP Pr a c ti c e s • Pra c ti ce s

–planning game –small releases –test driven development –continuous integration –system metaphor –simple design –refactoring –pair programming –collective code ownership –coding standard –whole team (on-site customer) –sustainable pace 29.9.2011 16Kristian Rautiainen

XP Pr o c e s s

29.9.2011 17Kristian Rautiainen

Sc ru m

29.9.2011 18Kristian Rautiainen
(4)

Sc ru m Pr o c e s s O v e rv ie w

29.9.201119Kristian Rautiainen

Sc ru m r o le s – Pr o d u c t O w n e r (PO )

•Represents the interests of everyone with a stake in the project/product •Creates the project’s ROI objectives and release plans •Manages and controls the Product Backlog (PBL) –Ensures that the PBL is visible to everyone –Sets priorities for the items in the PBL –For PO to succeed, everyone must respect his/her decisions –Works with others to estimate items in backlog (for total effort) –Participates in Sprint Planning Meeting (and Sprint Review) –Participates in re-scoping or re-prioritizing the sprint •PBL –PBL is an evolving, prioritized queue of business and technical functionality that needs to be developed into a system –PBL emerges from many sources •Marketing, Sales, R&D, Support, ... 29.9.201120Kristian Rautiainen

Sc ru m r o le s – Sc ru m Ma s te r • A g ile co a ch – Ma s te r o f th e Scru m p ro c e s s a n d p ra c ti ce s – C o a c h e s th e t e a m me m b e rs • F a ci lit a to r/ imp e d ime n t re m o ve r – Sh ie ld s th e t e a m fro m o u tsi d e i n te rr u p ti o n s – H e lp s re mo ve i mp e d im e n ts

29.9.201121Kristian Rautiainen

Sc ru m r o le s – D e v e lo p m e n t te a m • R e sp o n si b le f o r re a lizi n g t h e PO ’s vi si o n f o r th e p ro d u ct – T h e t e a m ma k e s t h e t e ch n ica l ch o ic e s a n d d e live rs w o rk in g so ft w a re t o d e mo a t th e e n d o f S p ri n ts

•Shared responsibility

• Se lf -o rg a n ize d a n d e m p o w e re d – T h e t e a m ch o o s e s i ts w a ys o f w o rk in g – N o a p p o in te d t e a m le a d e rs , le a d e rs e me rg e f o r d if fe re n t si tu a ti o n s

29.9.2011 22Kristian Rautiainen

1 0 W a y s to F a il w h e n g o in g A g il e

29.9.2011 23Kristian Rautiainen

C e re m o n y W ith o u t U n d e rs ta n d in g • D o in g e ve ryt h in g a s b e fo re , b u t ca lli n g i t A g ile – N e w t e rmi n o lo g y, b u t sa me ro u ti n e s – E .g . W e e kl y me e ti n g => w e e k ly S cr u m. ..

•...or Daily Scrum that lasts as long as a weekly meeting

• F a lla cy o f a llo w in g f e a tu re cre e p d u ri n g i te ra ti o n s – ”b e c a u s e w e ’re su p p o s e d t o b e a g ile ”

29.9.2011 24Kristian Rautiainen
(5)

U n d e re s ti m a ti n g T ra n s iti o n Effo rt a n d T im e • O rg a n isa ti o n a l ch a n g e o r p ro ce ss imp ro ve me n t is a lw a ys ch a lle n g in g a n d t a ke s a l o t o f ti me – ”T h is a g ile t h in g d o e s n ’t w o rk fo r u s. W e t ri e d i t fo r a co u p le o f mo n th s, b u t. .. ” – F a lla c y o f n o t ri s ki n g so me t im e n o w i n o rd e r to w in a l o t o f ti m e in t h e f u tu re

•Transition to Agile slows down productive work for an unknown

p e ri o d o f ti me

–Business representatives tend to be impatient... 29.9.201125Kristian Rautiainen

T h ro w in g A w a y Ex is ti n g G o o d Pr a c ti c e s • ”L e t’ s st a rt f ro m scra tch w it h t h is A g ile t h in g ” • ”W e u se d t o o b se rve u se rs to e lici t re q u ire me n ts. N o w w e i n vi te t h e m to i te ra ti o n d e mo s in st e a d ” • ”So me th in g t h a t w o rks fo r u s is n o t co n si d e re d A g ile . W e h a ve t o t h ro w i t a w a y. ”

29.9.201126Kristian Rautiainen

C u ltu ra l C o n fl ic ts • Pro je ct ma n a g e r => S cru m Ma st e r – Y o u o ft e n se e t h is ro le t ra n s it io n i n co mp a n ie s

Bu t th e d if fe re n ce s in t h e ro le s ca u se t ro u b le a n d co n fu si o n

•(technical) project manager => (technical) product owner is actually an easier transformation

• Bre a ki n g d o w n ”si lo s” – C re a ti n g t ru ly cr o s s -f u n ct io n a l te a ms is a b ig ch a lle n g e .. .

•...but without them lots of effort for coordination is needed 29.9.201127Kristian Rautiainen

C h a ll e n g in g R o le s • Pro d u ct O w n e r – N e e d I sa y mo re .. .? • Emp o w e re d , se lf -o rg a n ise d t e a m – ”Sa y w h a t? ” – A t ra n s it io n f ro m a ”c le a r ro le s a n d re sp o n s ib ili ti e s + a p ro je c t ma n a g e r to t e ll u s w h a t to d o ” to se lf -o rg a n ise d i s ro c ke t sc ie n ce a n d a h u g e st e p f o r mo s t p e o p le • A l o t o f co a ch in g a n d su p p o rt i s n e e d e d f o r th e r o le tr a n si ti o n s (a lso f o r to p -l e ve l ma n a g e rs! )

29.9.2011 28Kristian Rautiainen

L a c k in g C o m p e te n c e • G e tt in g ri d o f th e d if fi cu lt p ra ct ice s b e ca u se t h e y ta ke to o mu ch t ime t o l e a rn – ”T e st -D ri v e n D e ve lo p m e n t (T D D ) w a s re a lly h a rd t o u n d e rs ta n d a n d l e a rn , so w e st o p p e d d o in g i t” – Y o u n e e d t o u n d e rs ta n d t h e t ra d e -o ff s a n d u n d e rl yi n g a s su mp ti o n s , o th e rw ise yo u e n d u p i n t o ta l a d -h o c ra cy • W o rki n g a t h ig h ve lo ci ty re q u ire s h ig h d isci p lin e a n d ski lls + g o o d -q u a lit y so ft w a re – W o rk o n b u ild in g co mp e te n ce t o t h e p e o p le , it w ill a lw a ys p a y o ff

29.9.2011 29Kristian Rautiainen

Mi n im a l Pl a n s = Mi n im a l Pl a n n in g • F a lla cy o f p la n n in g o n ly in R e le a se o r It e ra ti o n p la n n in g se ssi o n s – ”I j u st sa w t h e d e mo . N o w I n e e d t ime t o f ig u re o u t w h a t y o u sh o u ld d o n e xt ” – Pl a n n in g sh o u ld b e ma d e ”c o n ti n u o u s ly ” in a ro lli n g w a ve fa sh io n

•Requirements refinement (Agile Product Management)* •

5 % w o rksh o p s (a ka st o ry t ime ) h a ve n o t b e e n a ro u n d i n mo s t

companies (not for long, anyhow) 29.9.2011 30

*K. Vlaanderen, S. Jansen, and S. Brinkkemper,The agile requirements refinery: applying scrum principles to software product management,in Proc. 3rd International Workshop on Software Product Management, 2009. Kristian Rautiainen

(6)

Em e rg in g a rc h ite c tu re = n o u p fr o n t a rc h ite c tu ra l w o rk • W o rki n g i n sh o rt i te ra ti o n s ma y co mp ro mi se t h e a rch it e ct u re – ”T h e b e s t a rch it e ct u re s e me rg e ”

•Sure thing, as long as you have the best people

– ”J u s t e n o u g h a rci te c tu re ”

•How do you know how much is enough?

– ”W e h a ve t h e se 1 0 t e a ms w o rk in g o n t h e re le a s e o f th is p ro d u c t”

•”Architectural runway” is a must

• A rch it e ct u ra l w o rk is ch a lle n g in g n o ma tt e r w h a t yo u ca ll th e d e ve lo p me n t p ro ce ss!

29.9.201131Kristian Rautiainen

A n y o n e Se e n th e O n s ite Ex p e rt U s e r? • W o rki n g w it h a si mp le b a ckl o g ma y ca u se l o si n g si g h t o f th e ”Bi g Pi ct u re ” – Mo st b a ck lo g s o n ly co n ta in v a g u e o n e -l in e rs , n o t e v e n p ro p e r u s e r st o ri e s – If t h e o n s it e e xp e rt i s n o t th e re t o e xp la in t h in g s , th e e n d re su lt mi g h t b e co mp le te ly o ff t a rg e t

•The positive thing is that we know it pretty fast, but it is still waste

– H o w mu ch e x p la n a ti o n s sh o u ld b e w ri tt e n ?

29.9.201132Kristian Rautiainen

A g il e O n ly C o n c e rn s R & D • A ft e r a ll, t h e Pro d u ct O w n e r is p a rt o f th e t e a m a n d i s re sp o n si b le f o r a ll ”t h a t o th e r st u ff ” – St ill , a g ile (a n d l e a n e s p e c ia lly ) d o e s ch a n g e t h e w a y e v e ryb o d y sh o u ld b e t h in k in g a b o u t d e ve lo p in g so ft w a re • A g ile re q u ire m e n ts (= b a ckl o g s, st o ri e s, . .. ) me a n t h a t Bu si n e ss re p re se n ta ti ve s n e e d t o w o rk in n e w w a ys to o ! • C u st o m e rs st ill w a n t d e ta ile d p la n s a n d co n tr a ct s! – Bu si n e s s/ s a le s re p re s e n ta ti v e s f o rc e t h e t e a ms to p ro d u c e d e ta ile d p la n s u p fro n t – W h o t ra in s th e cu s to m e rs?

29.9.201133Kristian Rautiainen

Q u e s ti o n s o r c o m m e n ts ?

29.9.2011 34Kristian Rautiainen

Viittaukset