Beruflich Dokumente
Kultur Dokumente
com
Agile Adoption:
CONTENTS INCLUDE:
n
About this Agile Adoption Refcard
n
Four Strategies to Reduce Cost
Reducing Cost
n
The Practices
n
How to adopt Agile Practices Successfully
n
Whats Next
References and more...
By Gemba Systems
n
Build Less
Automated Automated Evocative
Developer Tests Acceptance Tests
Simple Design
Document It has been shown that we build many more
features than are actually used. In fact,
Backlog
we can see in Figure 2, only about 20%
of functionality we build is used often or
always. More than 60% of all functionality
Cross -Functional Self-Organizing
Team Team
Retrospective Iteration Done State built in software is rarely or never used!
Less Effective
Continuous
Integration Get More Refcardz
(They’re free!)
You will be able to use this Refcard to get 50,000 ft view of
what will be involved to reduce the cost of developing your
systems. n Authoritative content
Designed for developers
Agile Adoption
One way to reduce the cost of software is to find a way not when it eventually happens we can make significant savings.
to build the unused functionality. There are several Agile One of the strongest points of Agile
practices that help you get to that point. development is that its practices
enable you to roll with the punches
and change your software as the
business world changes.
16 %
The four strategies above: maintain the theory of the code,
Sometimes
19 % build less, paying less for maintenance and being able to react
Used to change are not independent.
Rarely
Used 13 %
Often Used The practices
7% Evolutionary Design
Always Evolutionary Design
Used
45 %
Never Simple Design
Used
Automated
Functionality Usage Developer Tests
Refactoring
Figure 2: Most functionality built is never used.
Pay Less for Bug Fixes Evolutionary design is the simple design practice done
continuously. Start off with a simple design and change that
Typically, anywhere between 60%-90% of software design only when a new requirement cannot be met by the
n
Definitio
existing design.
cost goes into the maintenance phase. That is,
most of our money goes into keeping the software
alive and useful for our clients after the initial
build. Practices that help us reduce the cost of
Evolutionary design reduces the cost by focusing on always
software maintenance will significantly affect the building less. This, in turn, directly affects the cost of change
overall cost of the software product or system. drastically.
Simple Design
Easy to
understand
Simple Design
Easier to Automated
change Refactoring
Developer Tests
Figure 3: Maintain the theory of the code helps reducing the cost of making design If a decision between coding a design for today’s requirements
changes and fixing bugs. Building less enables better understanding and helps to and a general design to accommodate for tomorrow’s
understand the theory of the code for a change because there is less to change requirements needs to be made, the former is a simple design.
n
Definitio
Simple design meets the requirements for the current iteration
and no more.
Pay Less for Changes
The only thing constant in today’s software market is change.
If we can embrace change, plan for it, and reduce its cost
Simple design reduces cost because you build less code to meet Evocative Document
the requirements and you maintain less code afterwards. Simple
designs are easier to build, understand, and maintain.
Evocative documents are documents that evoke memories,
conversations, and situations that are shared by those who wrote
the document. They are more meaningful and representative of a
n
Definitio
team’s understanding of the system than traditional documents.
Simple design should only be used when your team also is writing
automated developer tests and refactoring. A simple design is
fine as long as you can change it to meet future requirements.
Evocative documents help by accurately representing the
team’s internal model of the software and allowing that model
to be handed down from master to apprentice. The better
understanding of the system over time also reduces the
maintenance cost of the system over time because appropriate
changes reduce the deterioration of the software.
Refactoring
Current documentation isn’t working – as a document is passed
from one person to another much of the context and value is
Refactoring lost, and as a result, the maintenance team’s understanding of
the codebase constantly deteriorates. This is resulting in the
calcification of your software system.
{required in a team
environment}
Automated Developer Tests The remaining practices also help reduce the cost of software
Automated developer tests are a set of tests that are written development. Because of the limited size of the refcard, we will
and maintained by developers to reduce the cost of finding only summarize them below.
and fixing defects—thereby improving code quality—and to
n
Definitio
enable the change of the design as requirements are addressed
incrementally.
Done State The done state is a definition agreed upon by the entire team of
what constitutes the completion of a requirement. The closer the
done state is to deployable software, the better it is because it
You are on a development team that has decided to adopt forces the team to resolve all hidden issues early and thus reduces
iterations and simple design and will need to evolve your design cost.
as new requirements are taken into consideration. Or you are on
a distributed team. The lack of both face-to-face communication Cross-functional Team The cross-functional team is one that has the necessary expertise
and constant feedback is causing an increase in bugs and a among its members to take a requirement from its initial concept to
slowdown in development. a fully deployed and tested piece of software within one iteration.
A requirement can be taken off of the backlog, elaborated and
developed, tested, deployed.
Self-organizing Team A self-organizing team is in charge of its own fate. Management stepping-stone to reaching the state where both issues are
gives the team goals to achieve and the team members are addressed.
responsible for driving towards those goals and achieving them. A
self-organizing team recognizes and responds to changes in their
environment and in their knowledge as they learn. A self-organizing This is supported anecdotally by increasing reports of failed
team is frequently a cross functional team as well.
Agile projects that do not deliver on promised results. They
Retrospective The Retrospective is a meeting held at the end of a major cycle - adopt many of the soft practices such as Iteration, but steer
iteration or release - to gather and analyze data about that cycle
and decide on future actions to improve the team’s environment away from the technically difficult practices such as Automated
and process. A retrospective is about evaluating the people, their
interactions, and the tools they use. Developer Tests, Refactoring, and Done State. They never
Continuous Integration Continuous integration reduces the total time it takes to build a
reach the “well-oiled” state.
software system by catching errors early and often. Errors caught
early cost significantly less to fix when caught later. It leverages both So the lesson here is make sure that on your journey to adopt
automated acceptance tests and automated developer tests to give
frequent feedback to the team and to pay a much smaller price for Agile practices that improve time to market (or any other
fixing a defect. business value for that matter), your team will need to become
User Story A user story is an evocative document for requirements. A user “well-oiled” to see significant, sustained improvement. And
story is a very high level description of the requirement to be
built –it usually fits on a 3 x 5 index card – and is a “promise for a that means you should plan on adopting the difficult technical
conversation” later between the person carrying out the Customer practices for sustainability.
Part of Team practice and the implementers.
Note: Based on 504 responses from 452 companies Choosing a Practice to Adopt
Source: Bain Analysis
Choosing a practice comes down to finding the highest value
Figure 4: The Alignment Trap (from Avoiding the Alignment Trap in Information
Technology, Shpilberg, D. et al, MIT Sloan Management Review, Fall 20078.) practice that will fit into your context. Figure 1 will guide you
References
Derby, E., and Larson, D., Agile Retrospectives: Making Good Teams x x
Great, Raliegh: Pragmatic Bookshelf, 2006.
Larman, C., and Vodde, B., Scaling Lean and Agile Development, x x x
Boston: Addison-Wesley, 2009
Senge, P., The Fifth Discipline: The Art and Practice of The Learning x
Organization, NY: Currency 2006.
Bro
ugh
t to
you
by...
es JasonM
simple, short, and to the point.”
ired
Insp e
by th
D By
ntin
ued oesn
’t ha
ve to
Download Now
q
y a re uest
TS bilit es
Upcoming Titles Most Popular
req e.
ndle tcom
EN
of R
le a
NT onsi sm
ay ha hand l ou an
CO R esp in ject le to entia hen
Cha
f . pot .W
in o d le ob bject be ab ble tern ethod
m
sp cts is an ents
n
e. d
be a e
Com reter se t of obje runtim ndled
ed at eing ha
im p lem ks to se e passe de to
b co
Refcardz.com
n
U se ec
rp n n A
min uag
es e ch should ats until arent
Inte Whe
JavaFX Spring Configuration
er t b ng ntim it p
tor det la pe
no e e ru or if s re ore
a rd
...
n
uest som d th ption proces e no m
Itera tor ore req
n A g in metho
dm
ce e e ar
dia ndlin e ex ack th
n
a ther
Me rver d an the n ha rown in ndle th ll st until
JSF 2.0 jQuery Selectors
re f c
tho e to ptio th
Exce ion is sm to ha up th tered or
e ca
n
Ob
se Me NS renc ral
plate refe listed in
le pt ni ed un avio
TER mp exce mecha n pass enco . Beh
n
Te m
PAT ick s Exa s a he n is to
ject
a qu s, a k. W
ha ptio st
ct- Ob
Maven Windows Powershell
stac e exce e reque
it
IG N e s
tte rn b je call
vid le O le th nd th
DES
! V is
P a m d
esig
n of F rns: Ele clu worl uch
D a n g e rn in
re a l c ts s D
This al 23 G Patt h patte and a obje enting AN
Java Performance Tuning Netbeans IDE JavaEditor
c
n , c t M M
ef
orig
in esig Eac tion stru ple
m
CO nd
kD re. rma con ir im
ma
boo Softwa om
re R
la a e e ( low
ex p n d larg cute is al
atio can be . +exe . Th ch
DZone, Inc.
s su
Cre ey form jects an o
bject nship
t th d to rate ob s, d as ed rela
tio
Get
a s e m
orith ts.
te
th U
ispa
ea as
te m .
e r ns: y d a lg c to be tr bject b
sys tt man ge obje ive
r it o
l Pa ing lly
ana
Stru
ctu
ra
s be
twe
e n
s: U
sed
to m
s be
twe
e n
an
R ece
sa
ue st
req ndled in
al low aditiona
tr
varia
nt or
d er s.
tion.
2222 Sedwick Rd Suite 101 ISBN-13: 978-1-934238-58-5
cture ern ilitie at c psu
late e ha
to b llbacks
. or in voca
stru
ral
Patt respo
d
nsib
tion
ship
s th
pose
Enca quest
the
re
ueui
ng an
d ca nalit
nctio led at va
y.
riant
times
ct ha
ndlin
g th
e in
ssin e
g
Durham, NC 27713 ISBN-10: 1-934238-58-9
avio , an rela Pur
as q k fu obje roce b
Beh nships c t b e llbac be hand ed. the us p lity to
can
50795
ca no
obje
m na ed
ed to need d fro ro y ne
tio that You ne s need sts is couple ynch nctio
rela with e as the fu ut an is
hips itho
919.678.0300
st que
n
e th
D e als n s Reque y of re ld be de ci litat pattern ssing w tation articul
it ar
pe: latio
or fa
e. Use
n
ou d en p
m A hist ker
sh ce
ed to mman for pro implem ents its ting.
S c o n ti s re ty p e hen vo us
n
co ec
clas
W in y al m
ject ed at ru
to el the p
Pro The wid ueue actu d imple ex
b h are utilizing a job q of the ue is
O w it C s ue ue
ang als ueue s. By to ge
iven owled at is en rface th
que eq
Abst tory
C C
Fac
B
State
t
r eigh
$7.95
pte y
teg
makers. DZone offers something for everyone, including news, Ada Flyw Stra od
Sponsorship Opportunities
z
S S
ter B Meth
w. d
ge rpre plate
S
Brid B
Inte Tem
B
r r
e to or
ww
Itera it
tutorials, cheatsheets, blogs, feature articles, source code and more. Build
sales@dzone.com
V is
C B r B
in o
f
ty diato ral
Cha nsibili Me avio
B o B
to Beh
Resp men
te
B
Me Ob
ject
9 781934 238585
ILIT posi or
Com NSIB ess
PO succ
S
RES
Copyright © 2009 DZone, Inc. AllHArights
C
IN
>>
F
O reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, Version 1.0
ace
photocopying, or otherwise, without prior written permission
terf r
<<in andle )
of the publisher. Reference: Soa Governance, Todd Biske, Packt Publishing October 2008
H (
uest
le req
+h and
2
nt ler
Clie and
teH