Agile Demystified Cesario Ramos © AgiliX Agile Development Consulting © AgiliX Agile Development Consulting • The idea behind the Agile Manifesto • Why do we do.

Download Report

Transcript Agile Demystified Cesario Ramos © AgiliX Agile Development Consulting © AgiliX Agile Development Consulting • The idea behind the Agile Manifesto • Why do we do.

Agile Demystified
Cesario Ramos
© AgiliX Agile Development Consulting
© AgiliX Agile Development Consulting
• The idea behind the Agile
Manifesto
• Why do we do these things?
• What about engineering principles?
© AgiliX Agile Development Consulting
© AgiliX Agile Development Consulting
© AgiliX Agile Development Consulting
Respond To Change
© AgiliX Agile Development Consulting
• Promise the
business
– Respond to
change
– To stop whining
– Skills
– Technologies
– Process
– Soft enough!
© AgiliX Agile Development Consulting
© AgiliX Agile Development Consulting
At the start they say ‘it will take us 10
months’
© AgiliX Agile Development Consulting
Then they disappear from view!
doing something, not clear what…
then pop up after 8 months and say
there might be some delay!!!
© AgiliX Agile Development Consulting
© AgiliX Agile Development Consulting
One month before the deadline they
pop up again….
and ‘we need 3 more months to finish’
© AgiliX Agile Development Consulting
© AgiliX Agile Development Consulting
So finally in month 13 the testing can begin

Plan shows it should be finished in a month!
…but issues are discovered
© AgiliX Agile Development Consulting
Promises of Working
software are not enough
© AgiliX Agile Development Consulting
Working software means…
• The business gets working software
every month!
– Could be put into actual use
– It has real value, could be validated on
customers.
– Proves that there is actual progress
© AgiliX Agile Development Consulting
• IT no longer asking for trust but
provides evidence.
• Goes on month after month after
month
– stops when the business decides there
is enough value added!
© AgiliX Agile Development Consulting
In order to do this
Scrum
the business has to
do some things in
return
© AgiliX Agile Development Consulting
OFTEN Face to Face feedback!!
© AgiliX Agile Development Consulting
Do NOT ‘HELP’ IT by telling how to do things…
© AgiliX Agile Development Consulting
• The idea behind the Agile Manifesto
• Why do we do these things?
• What about engineering principles?
© AgiliX Agile Development Consulting
Production vs. Product
development
What are characteristics of production
and product development?
What does it mean for the approach?
Designator | author | April 06, 2009 |
© AgiliX Agile Development Consulting
• Origins in Lean manufacturing
since 1950’s
• High quality, high productivity
and low cost
• Highly successful
© AgiliX Agile Development Consulting
The New New Product Development Game
• Hirotaka Takeuchi
• Ikujiro Nonaka
Harvard Business Review, 1986.
© AgiliX Agile Development Consulting
© AgiliX Agile Development Consulting
Complex Adaptive System
A Complex Adaptive System (CAS) is a dynamic
network of many agents acting in parallel,
constantly acting and reacting to what the other
agents are doing.
The control of a CAS tends to
be highly dispersed and
decentralized.
John H. Holland
© AgiliX Agile Development Consulting
Lean concepts
© AgiliX Agile Development Consulting
VALUE
VALUE STREAM
PERFECTION
PULL
FLOW
© AgiliX Agile Development Consulting
Defects
Delay
Hand-offs
Task Switching
Overproduction
Relearning
Inventory
© AgiliX Agile Development Consulting
How can we eliminate it?
•
•
•
•
•
Partially done work
–
–
Divide work into small batches
Limit WIP
Extra Features
–
Do NOT construct a signed list of everything upfront
Hand Offs
–
Face-to-face communication, cross functional teams
Delays
–
Cross functional teams, regular and short feedback cycles
Defects
–
Inspect to prevent defects, move testing to the front
© AgiliX Agile Development Consulting
Some evidence for agility
© AgiliX Agile Development Consulting
Overproduction of features
Jim Johnson. The Standish Group International Inc. 2002
© AgiliX Agile Development Consulting
Origins of defects
Logic/Design
28%
Documentation
2%
Human
5%
Environment
5%
Data
6%
Interface
6%
Others
7%
Requirements Errors
41%
Tom Gilb. 2002
© AgiliX Agile Development Consulting
What can we do about it?
© AgiliX Agile Development Consulting
Prioritized, refined and written down in
collaboration between business and development
© AgiliX Agile Development Consulting
Could be good enough to gain 80% of the benefits
© AgiliX Agile Development Consulting
Implemented and accepted throughout the project
© AgiliX Agile Development Consulting
• The idea behind the Agile Manifesto
• Why do we do these things?
• What about engineering
principles?
© AgiliX Agile Development Consulting
[en.wiktionary.org]
•
•
Any apparently useless activity which, by allowing you to overcome
intermediate difficulties, allows you to solve a larger problem.
–
I was doing a bit of yak shaving this morning, and it looks like it
might have paid off.
The actually useless activity you do that appears important when you
are consciously or unconsciously procrastinating about a larger
problem.
–
I thought I'd get more work done if I just fixed a problem with my
.emacs file, but then I spent the whole afternoon yak shaving.
© AgiliX Agile Development Consulting
Verification
• STOP discussing things with minimal facts….
• Kent Beck: No discussion should take longer than
30 minutes without writing/looking at some code
to verify stuff.
Programmers + Code
>
Programmers + Time
© AgiliX Agile Development Consulting
Continuously improving
the
feedback speed!
© AgiliX Agile Development Consulting
Fast Feedback
• Getting the architecture right first…. Then we can
add feature by feature easily right…?
Hmmm… what if when implementing the first
feature it proves that the infrastructure is wrong?
• We build a couple of features and then refactor
ending up with the architecture.
– Generalize to remove duplication
– Building exactly and only what is needed!!!
© AgiliX Agile Development Consulting
Fast Feedback
• Automatic Tests
– Let the computer provide us feedback
• Peer Reviews
– Let your peer provide you with feedback
– Spread knowledge
• Take the first bullet
– Refactor to the Open Closed
© AgiliX Agile Development Consulting
?
© AgiliX Agile Development Consulting
Agile Demystified
Cesario Ramos
© AgiliX Agile Development Consulting