The document compares predictive and agile software development approaches. It outlines that predictive approaches rely on upfront planning and strict adherence to plans, which can be unrealistic given the inherent uncertainties in software projects. Agile approaches separate estimates from execution, focus on frequent delivery of working software, and emphasize adapting to changes and feedback. While myths exist that agile means no planning, documentation, commitments, processes, or roles like project managers, when applied properly agile can dramatically improve an organization's ability to deliver working software.
2. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Better Software Delivery
• Get working software to market faster
• Optimize resources
• Improve predictability of delivery
• Satisfy customer needs
• Improve delivery capability
3. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Software Development Circa 1994
Technology is a key driver for business strategies
But most business weren’t very successful at it
4. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
The Predictive Approach
To improve software delivery we need to:
• Standardize processes
• Optimize resource utilization
• Perform Rigorous up-front design
• Produce Comprehensive documentation
• Get commitment to a definitive Scope, Cost and
Schedule
• Enforce strict adherence to the detailed plan
5. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Predictive Approach
Underlying Assumptions
Scope
• All requirements are
knowable initially
• Requirements can be
documented completely
up front to guide
development
• Change requests provide
sufficient flexibility to
new and/or clarified
needs
Variation
• Tasks required to
deliver requirements can
be precisely known and
estimated
• Tasks must start and
finish according to the
predictive schedule
6. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Predictive Approach:
Underlying Assumptions
Process
• Software engineering is
linear in nature
• Manufacturing-centric
practices apply directly
to software engineering
7. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Agile Manifesto
We are uncovering better ways of developing software
by doing it and helping others do it.
Through this work we have come to value:
• Individuals and interactions over process and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.
9. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Get to Market Faster
Predictive Approach
• The best way to finish projects faster is to dictate that all tasks
be finished on time
Flaw
• Variation from estimates is natural
Agile
• Separate estimates from execution. Promote Road Runner behavior.
10. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Optimize Resource Utilization
Predictive Approach
• The highest ROI depends on maximum resource utilization
Flaw
• Software development is not linear in nature – Optimizing resources
doesn’t improve cycle time, it creates WIP and lost knowledge.
Agile
• Focus on finishing and flow of work
11. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Predictive Approach
• Planning every detail up-front results in stable projects
Flaw
• You don’t know where you are until you deliver things.
Agile
• Frequent delivery of tested, deployable solutions provides the best
learning and predictability (you can trim the tail)
Business Value GrowingKnowledgeGrowing
(risk reduction)
500
1,000
1,500
2,000
2,500
Cost Value
$ink
Improve Predictability
12. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Satisfy Customer Needs
Predictive Approach
• Study the problem until you know everything
Flaw
• We can not have perfect (even reliable) up front knowledge of all
tasks, how to do them, how long they will take, or what challenges
we will face.
Agile
• Get started early delivering value and get customer feedback
13. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Improved Capability
Predictive Approach
• Rigorous adherence to work standards, hand-offs, and detailed “how” based
process
Flaw
• Every team, product, and situation is different with different needs and
strengths
Agile
• Engaged, fully capable, self organizing teams that are continually assessing
their performance and applying situation specific strategies, processes and
practices
14. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Better ways of developing software
Agile Methods deliver on
the promise:
• Get to market faster
• Optimize resources
• Improve predictability
• Satisfy customer needs
• Improve delivery
capability
Because Agile is designed
to deal with these
realities:
• Inevitable uncertainty
in scope
• Natural variation from
estimated task effort
• Non-linear nature of
software engineering
16. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
No Planning
Origins
• Comprehensive detailed
planning is not realistic
• Treating estimates as
commitments destroys moral
and value
Agile Approach
• Identify major outcomes,
milestones & dependencies
• Plan & prioritize backlog
iteratively
• Establish context & simple
policies
17. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
No Documentation
Origin
• Detailed up front spec’s are
wrong in retrospect
• Perfect documentation
provides little customer value
but results in delays and
rework
Agile Approach
• Document high level, stable
concepts
• Just in time detail
• Rich forms of communication
• Focus on long lived doc’s that
support adoption and
achieving value
18. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
No Commitments
Origin
• Tasks cannot be defined,
much less estimated, up
front
• Committing to tasks does not
ensure the project is on
track
Agile Approach
• Estimate the big project by
order of magnitude
• Commit at the sprint level
• Demonstrate predictable
delivery of working software
Commit
at OOM
Commit
to PO Pull work -
Commit to
Team
19. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
No Process
Origin
• Detailed process is different
from task to task
• And difficult & wasteful to pre-
determine & enforce
• Teams know the most about the
task in the moment
Agile Process
• Establish standards & policy
• Establish competencies within
teams
• Teams self-organize armed with
most current understanding
• Automate repetitive processes
20. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
No PM, BA, QA
Origin
• Scrum does not specify PM, BA,
QA
• Agile started with small teams
where a Product Owner
embodied these functions
Agile Approach
• These competencies still exist
either on the team or
coordinated by the Product
Owner
• Larger org’s require a PO team
PM
BA
QA
PO
DEV
DBA
UI
Product
Owner
Team
Development
Team
22. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
How do you know you’re Agile?
The question is not are you Agile
Where are you on the Agile scale?
• Balance predictive and Agile methods where appropriate
to optimize your organizations ability to deliver value
23. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
Summary
• Agile arose in response to problems with predictive
planning
• Balance predictive planning and Agile execution to
achieve these goals of software delivery
– Get working software to market faster
– Optimize resources
– Improve predictability of delivery
– Satisfy customer needs
– Improve delivery capability
• When applied responsibly and purposefully, the
appropriate Agile efforts will dramatically improve the
ability to deliver software.
24. Strategically Aligned
Throughput Focused
Human Powered
http://www.synaptus.com
QUESTIONS?
Dennis Stevens
President, Synaptus
Enabling the Agile
Enterprise
www.synaptus.com
www.dennisstevens.com
Hinweis der Redaktion
To get to these business benefits, some realities must be acknowledged.
At some level in the project these begin to become inaccurate.
Manufacturing has different departments
Research, Engineering, Planning, Execution
Software engineering includes all disciplines concurrently
Interestingly, planning takes place before engineering in SD in stark contrast to manufacturing.
This is written in response to the prevailing Predictive approach. The focus on process and tools, comprehensive documentation, contract negotiation, and following a plan results in value destroying behavior.
Being able to predict how long the project will take is much easier than predicting how long each activity will take.
Driving to work
How long does will it take to fix the bugs we haven’t found yet in the code that hasn’t been written yet from the specifications that haven’t been finalized yet.
Parkinson’s law, Student Syndrome, Murphy’s Law
Gains are lost and losses accumulate.
Optimizing resource utilization increases WIP and creates delays (leads to rework, re-learning, and quality issues)
First off, with all the planning and analysis you do today, how often do you deliver exactly what you expected, when you expected, at the cost you planned? If you are hitting it consistently you have too much buffer in your plans.
If you are frequently delivering end to end slices of value – you will understand where you are, you will be delivering value sooner, and you can make better decisions earlier.
I was in a Steering Committee meeting for a large agricultural manufacturer that bends metal and paints it green. We were 20% of the way into the schedule of the project and I reported a delay. I was asked how I knew. I told them we had done our risk spikes and buil5 out 15% of the scope and had identified where there would be more work and where our technical risks had manifested. I was told “”see, this agile doesn’t work! We never have this type of problem until we are 80-90% of the way through our other projects.”
How long will it take to fix in the bugs you find in the tests you haven’t run on the code you haven’t written to meet the specifications that are still ambiguous? And be precise because you will be held accountable to it.
Again, software is not a linear process. It is a collaborative process – so a strict hand-offs aren’t as useful as richer methods of communication like conversations, prototypes, and frequent reviews of working product. Additionally, the team is in the best position to make the decisions that will optimize quality and fit. Finally, teams that stay together over time – rather than project teams that are torn apart or individuals that are matrixed into many teams per project is problematic.
Are an overreaction to challenges presented by predictive approaches. When the predictive approach is removed, it must be replaced with the appropriate enabling Agile approach.
Agile principle: responding to change over following a plan
Plan & prioritize backlog – Means high value, high risk first as shown earlier.
Reference agile triangle, work within cost and schedule scope will emerge.
Working software over comprehensive documentation
Separate Planning from management of execution. Learn from history, what we call yesterday’s weather.
There are commitments being made and met all the time in the project. In fact, there is more commitment and visibility than on a regular project.
Working with PMI Agile CoP
Helping to explain the body of experience for
Balancing Agile and predictive methods