Professional Documents
Culture Documents
D id Peters
David P t
Principal
Consultant
2010/08/04
1
“Must see the Eiffel tower and “Went up the Eiffel tower
spend 4 days in Monaco” 2 days in Monaco was enough”
In charge? Value?
2010/08/04 2
1
Some Quotations
“Agile is people driven; it’s driven by principles of people leadership not project
management.”
“It’s not something you can change overnight. Tools are a means to achieve it. It
requires lot of un-learning before learning these new agile principles.”
“It's relevant to remember that there are different Agile Methods available, each of
them fitting different purposes”
“Agile assumes that the company wants a long term software development effort
not a short term p
project”
j
“Most organizations do not realize that agile needs to be highly customized to the
nature of the team and the project.”
2010/08/04 3
Playing to win
Grady Booch – “Software development is a team sport”
I will try
y as smooth a handover as If you are in trouble I will help
possible
2
Which Statement is true?
Agile is Dead
or
Or Both
– Agile is dead because it’s now mainstream
Janusz Gorycki
2010/08/04 5
- Excerpt from “And the Agile Survey Says…” Source: Ambler ‘Agile Adoption Rate Survey’
Agile Journal of over 4200 Dr. Dobb’s subscribers
6 6
3
Organizational Complexity: What challenges has your organization
encountered while adopting agile approaches?
Waterfall culture 54%
T&E 33%
Specialization 31%
What reasons does your organization have for not adopting agile
approaches to development? Top 10 of 14
Rigid Culture 59%
No Training 47%
No Mgmt
Mgmt. Support 33%
Geo. Distribution 23%
Org. Distribution 20%
Regulatory 19%
Process Frameworks 14%
Tech. Complexity 14%
No Stkhlder Support 14%
Domain Complexity 13%
4
The Agile Manifesto
We
Value: Individuals and Over: Processes and
interactions tools
Working Comprehensive
Software Documentation
Customer Contract
collaboration Negotiation
Responding to
Following a Plan
change
Working
Software
Customer
collaboration
Responding to
change
10
5
The Agile Manifesto
We
Value: Individuals and Over: Processes and
interactions tools
Working Comprehensive
Software
Agile is not a Documentation
methodology,
it’s a set of
Customer Contract
collaboration
Values and Negotiation
Principles
Responding to
Following a Plan
change
Working Comprehensive
Software Documentation
Customer
VALUE Contract
collaboration Negotiation
Responding to
Following a Plan
change
6
Traditional Practices
Big Upfront (BUF) Requirements
InDetail
Signed off
In Detail
“Fixed” Price
The Plan
Early
2010/08/04 13
PLAN VALUE
We will deliver value to the
Not Easy business at a good ROI
2010/08/04 14
7
It’s not Agile Practices, but Agile Adoption
that Fails
2010/08/04 15
Scaling Ceiling
Agile Adopting Good Practices
Methodology
Current
Way
16
8
Why agile development? Because it works!
18
9
Traditional Practices
Big Upfront (BUF) Requirements
InDetail
Signed off
2010/08/04 19
Face-to-face Discussions
Product
Business
Need
The BA
Requirements
Scrum OpenUP
Product User Stories Use Cases Supplementary
Backlog (place holders) Scenarios Specifications
10
Traditional Practices
Big Upfront (BUF) Requirements
InDetail
Signed off
Command
C d anddC
Control
t lM Managementt
Silo Team organisation
2010/08/04 21
Now Future
2010/08/04 22
11
Plan to Learn
Every type of work is governed by an Horizon of Predictability.
Any plan that extends beyond this horizon of predictability is
bound to fail. Agile work uses an explicit learning cycle tied in
with the planning of work to accommodate this inevitable
change.
Iteration
Plan
(weeks)
Predictability?
Level of detail?
23
12
Traditional Practices
Big Upfront (BUF) Requirements
InDetail
Signed off
2010/08/04 25
Over-estimated
Estimate
0 Actual
Under estimated
Under-estimated
X/4
26
13
What’s Negotiable and What’s Not?
Traditional Agile
Plan Driven
Variable /
Negotiable Functionality
Time Cost
1 - 27
Traditional Practices
Big Upfront (BUF) Requirements
InDetail
Signed off
2010/08/04 28
14
Whole Team Practice
The Whole Team practice describes how a
development team organizes itself to enable it to work
effectively.
Everyone has a sense of belonging on the team
Team includes everyone required to build the system
Everyone contributes any way that they can
Team is self organizing With Leadership
Team maintains a sustainable pace
Everyone works together closely
Team takes Responsibility for outcome
29
Traditional Practices
Big Upfront (BUF) Requirements
InDetail
Signed off
2010/08/04 30
15
Playing to win
Silo Whole Team
Yeah
Yeah……OK????
OK????
2010/08/04 32
16
Practise Agile in Adopting Agile Practices
Big Bang
New Agile New Agile
Current
Boom
Methodology Methodology
Environment
Remember Business
Re-Engineering?
Iterative / Incremental
New Agile
Practice New Agile
Practice
Current
Environment
New Agile
Practice New Agile
Practice
Transparency
Collaboration
Is appropriate, of value to us Business Process
Improvement (BPI)
2010/08/04 33
XP Practices (1)
Planning
User Stories are written
Release planning creates the release schedule
Make frequent small releases
The project is divided into iterations
Iteration planning starts each iteration
Managing
Give the team a dedicated open work space
Set a sustainable pace
A stand up meeting starts each day
The project velocity is measured
Move people around
Fix XP when it breaks
34
17
XP Practices (2)
Designing Testing
Simplicity All code must have unit
Choose a system metaphor tests
Use CRC cards for design sessions All code must pass all unit
Create spike solutions to reduce risk
t t before
tests b f it can be
b
released
Non functionality is added early
When a bug is found tests
Refactor whenever and where ever possible
are created
Coding Acceptance tests are run
The customer is always available often and the score is
Code must be written to agreed standards published
Code the unit test first
All production code is pair programmed
Only one pair integrates code at a time
Integrate often
Set up a dedicated integration computer
Use collective ownership
35
Scrum Practices
Continuous Improvement Organisation
Do retrospectives at the end of each Have teams be organized as
sprint cross-functional teams
Find impediments to the team and fix Management
them Have a manager / project
Have the team figure out how to manager / scrum master
improve the team’s process facilitate improving the team’s
Planning process
Do planning at beginning of iteration
Development
Finish building what was
Do release planning at the start of the
project started coding in an iteration
Get feedback from customers
Build in iterations (1 -6
6 weeks
weeks, but
time-boxed regardless of length) at least at the end of the
iteration
Have some daily method of finding out
what people are doing and seeing
their impediments
36
18
OpenUP Practices
Management Practices
Iterative Development
Risk-Value Lifecycle
Release Planning
Whole Team
Team Change Management
Technical Practices
Concurrent Testing
Continuous Integration
Evolutionaryy Architecture
Evolutionary Design
Shared Vision
Test Driven Development
Use Case Driven Development
37
2010/08/04 38
19
Agility is a Spectrum
Agile
Traditional
Some
Methodologies:
Waterfall
RUP
OpenUP
Scrum
XP
Need a
combination
MCIF
Measured Capability
Improvement Framework
39
Agility is Relative
Waterfall
Organizational Drivers
Team Size
Geographical Distribution Mature or existing projects
Organization Distribution 50+ developers
Entrenched process,
process people,
people policy C
Complex,
l multi-platform
lti l tf applications
li ti
Distributed teams
Need for scalability, reproducibility,
and traceability
Maturing projects
Multi-platform
Growing in complexity
Remote or offshore work MCIF
Greater need for
coordination and handoffs
Small team
New projects Technical and Regulatory
Simple application
Drivers
Co-located Compliance
Minimal need for documentation Governance
Application complexity
40
20
Agile Scaling Factors
Compliance requirement Enterprise discipline
Low risk Critical, Project Enterprise
Audited focus focus
Agile
Development
Application complexity Organization distribution
Simple,
(outsourcing, partnerships)
Complex,
single In-house Third party
multi-platform
platform
41
Retrospectives 39%
www.ambysoft.com/surveys/
21
Agile Islands
Organisation
(Business) Non-agile
Agile Area
agile
“Agile
Agile software teams are not sustainable for very long if they are
islands in a sea of waterfall projects. The presence of Agile teams
creates a new and incompatible dynamic within a waterfall company.
Agile adoption programmes conducted without a thorough
understanding of this dynamic will continue to have a very high
mortality rate, especially in larger organisations. – Adam Finden
2010/08/04 43
22
In Summary
Adopting Agile is not easy
Should be implemented as an Initiative in its own
right
i ht – is
i also
l a jjourney
Should be done iteratively/incrementally
Is not just an island – it has impact on and is
impacted by other parts of the business
Requires cultural change
Each environment has its own set of challenges
Is worthwhile undertaking
2010/08/04 45
Questions?
2010/08/04 46
23
Today’s message
Agile
Traditional
K
Knowledge
l d
Methodiologies
Traditional RUP OpenUP SCRUM XP
Skill
Appropriate Agile Practices
TRUST
Transparent Collaborative
Behaviour
2010/08/04 47
2010/08/04 48
24
Which Statement is true?
Agile is Dead
2010/08/04 49
Adopting new process and tools requires well- The Kotter Framework - a well-known framework
designed strategy and plan for introducing change to an organization
Changes how people collaborate in software The eight-stage process
development teams 1. Establishing a sense of urgency
Behavioral and organizational change must be 2 Creating the guiding coalition
2.
introduced in a planned fashion 3. Developing a vision and strategy
Without appropriate guidance and the right 4. Communicate the change vision
people and the right strategy teams and
5. Empowering broad-based action
organizations often fail to adopt the process and
tools effectively 6. Generating short-term wins
7. Consolidating gains and producing more change
Must be attacked more like organizational change,
less like a technology upgrade 8. Anchoring new approaches in the culture
25
Summary
The primary metric for demonstrating that an
organization or project has transitioned to
effective agile delivery is the trend in the cost
of change. This measure of the adaptability
inherent in software releases is a key indicator of
the flexibility
y required
q to continuously
y navigate
g
uncertainties and steer projects toward success.
The honest treatment of uncertainty is the
foundation of today’s best practices
Sander Hoogendoorn
2010/08/04 52
26