Upload
barnaby123
View
225
Download
0
Embed Size (px)
Citation preview
8/7/2019 Adopting Agile Pragmatically 4Aug2010
1/26
1
Be agile in Adopting Agile
1
2010/08/04
av e ersPrincipal
Consultant
An iterative and incremental (evolutionary) approach An iterative and incremental (evolutionary) approach performed in ahighly collaborative manner with just the right amount of ceremony
An iterative and incremental (evolutionary) approach performed in ahighly collaborative manner with just the right amount of ceremony toproduce high quality software
An iterative and incremental (evolutionary) approach performed in ahighly collaborative manner with just the right amount of ceremony toproduce high quality software in a cost effective and timely manner
An iterative and incremental (evolutionary) approach performed in ahighly collaborative manner with just the right amount of ceremony toproduce high quality software in a cost effective and timely manner whichmeets the changing needs of its stakeholders.
An iterative and incremental (evolutionary) approach performed in ahighly collaborative manner
What is Agile? Its Adaptability
22010/08/04
Must see the Eiffel tower andspend 4 days in Monaco
Went up the Eiffel tower2 days in Monaco was enough
In charge? Value?
8/7/2019 Adopting Agile Pragmatically 4Aug2010
2/26
2
Agile is people driven; its driven by principles of people leadership not projectmanagement.
Its not something you can change overnight. Tools are a means to achieve it. Itrequires lot of un-learning before learning these new agile principles.
Some Quotations
It requires management commitment and support otherwise it cannot survive.
It did not last long Project Control took over
It's relevant to remember that there are different Agile Methods available, each ofthem fitting different purposes
Agile assumes that the company wants a long term software development effortnot a short term project
2010/08/04 3
By putting an agile faade on top of traditional strategies, we managed to derailthe productivity improvement potential of actual agile techniques.
Most organizations do not realize that agile needs to be highly customized to thenature of the team and the project.
Playing to winGrady Booch Software development is a team sport
Yes, but compare a Relay team to a Rugby team
I will run as fast as I can
I will try as smooth a handover as
I will play my role as best I can
4
possible
Its a whole new ball game!
8/7/2019 Adopting Agile Pragmatically 4Aug2010
3/26
3
Which Statement is true?
Agile is Deador
Agile is now Mainstream
Or Both Agile is dead because its now mainstream
2010/08/04 5
Janusz Gorycki
Third-party research suggests
"Thirty-five percent of .respondentshave projects or pilots underway, and
only 12 percent do not see a fitfor Agile
Agile has gone Mainstream analyst community
Have you adoptedany Agile techniques?
even w er a op onprocesses in their organizations.
The fact that 88 percent of theseorganizations (one-third of which have
over 10,000 employees) are using orevaluating Agile processes proves that
Agile processes have truly hit themainstream."
No35%No35% Yes
65%Yes65%
6
Source: Ambler Agile Adoption Rate Surveyof over 4200 Dr. Dobbs subscribers
- Excerpt from And the Agile Survey SaysAgile Journal
6
8/7/2019 Adopting Agile Pragmatically 4Aug2010
4/26
4
52%
54%
Stakeholder involvement
Waterfall culture
Organizational Complexity: What challenges has your organization
encountered while adopting agile approaches?
31%
32%
32%
33%
Specialization
C&C Culture
Lack of Trust
T&E
Copyright 2009 Scott W. Ambler www.ambysoft.com/surveys/
14%
15%
29%
Mgmt Resistance
Stakeholder Resistance
Other visions
7
47%
59%
No Training
Rigid Culture
What reasons does your organization have for not adopting agileapproaches to development? Top 10 of 14
14%
19%
20%
23%
Process Frameworks
Regulatory
Org. Distribution
Geo. Distribution
.
Copyright 2009 Scott W. Ambler www.ambysoft.com/surveys/
13%
14%
14%
Domain Complexity
No Stkhlder Support
Tech. Complexity
8
8/7/2019 Adopting Agile Pragmatically 4Aug2010
5/26
5
WeValue: Over:Individuals and
interactionsProcesses and
tools
The Agile Manifesto
WorkingSoftware
Customercollaboration
ComprehensiveDocumentation
ContractNegotiation
While there is value in the items on the right,
we value the items on the left more.
9
Responding tochange
Following a Plan
We
Value: Individuals andinteractions
The Agile Manifesto
WorkingSoftware
Customercollaboration
10
Responding tochange
8/7/2019 Adopting Agile Pragmatically 4Aug2010
6/26
6
WeValue: Over:Individuals and
interactions
The Agile Manifesto
Processes andtools
WorkingSoftware
Customercollaboration
ComprehensiveDocumentation
ContractNegotiation
Agile is not a
methodology,its a set ofValues andPrinciples
While there is value in the items on the right,
we value the items on the left more.
11
Responding tochange
Following a Plan
We
Value: Over:Individuals andinteractions
processes andtools
Its Driving Force is:
WorkingSoftware
ComprehensiveDocumentation
Customercollaboration
ContractNegotiationVALUE
While there is value in the items on the right,
we value the items on the left more.
12
Responding tochange
Following a Plan
8/7/2019 Adopting Agile Pragmatically 4Aug2010
7/26
7
Traditional Practices
Big Upfront (BUF) Requirements
In Detail
Si ned off
Big Upfront Planning
In Detail
Fixed Price
Early
The Plan
Silo Team organisation
2010/08/04 13
Requires Cultural Change
VALUEPLAN
Not Easy
Needs Time Must be Demonstrated
Requires:
Another quote:I finally figured something out.Agile development is a culture,not a process Josh
We will deliver value to thebusiness at a good ROI
2010/08/04 14
Belief and
Perseverance
You have made the right decision
To make the decision right
8/7/2019 Adopting Agile Pragmatically 4Aug2010
8/26
8
Its not Agile Practices, but Agile Adoptionthat Fails
have found to be the case is that agilepractices don't fail, rather the variations onagile adoption fail. Jean Tabaka
2010/08/04 15
Its NOT about becoming Agile in your SoftwareDevelopment just adopting an Agile methodology
Agile for Agile sake?
Its about becoming more efficient / productive inyour software Development and delivering value to
the business by Adopting good practices, many of which (old and new)
have been highlighted by Agile Methodologies
16
CurrentWay
AgileMethodology
Scaling Ceiling
Adopting Good Practices
8/7/2019 Adopting Agile Pragmatically 4Aug2010
9/26
9
Why agile development? Because it works!
18
8/7/2019 Adopting Agile Pragmatically 4Aug2010
10/26
10
Traditional Practices
Big Upfront (BUF) Requirements
In Detail
Si ned off
Big Upfront Planning
In Detail
Fixed Price
Early
Silo Team organisation
2010/08/04 19
Face-to-face Discussions
BusinessNeed
Product
Requirements
OpenUPUse CasesScenarios
SupplementarySpecifications
ScrumUser Stories(place holders)
ProductBacklog
The BA
20
Detailed asappropriate
Discussions
Can discussions replacedocumentation?
Document, its a ContinuousNegotiation
8/7/2019 Adopting Agile Pragmatically 4Aug2010
11/26
11
Traditional Practices
Big Upfront (BUF) Requirements
In Detail
Si ned off
Big Upfront Planning
In Detail
Fixed Price
Early
omman an on ro anagemen Silo Team organisation
2010/08/04 21
A Date is not just a Date
It has a Probability
Now Future
2010/08/04 22
8/7/2019 Adopting Agile Pragmatically 4Aug2010
12/26
12
Every type of work is governed by an Horizon of Predictability.Any plan that extends beyond this horizon of predictability isbound to fail. Agile work uses an explicit learning cycle tied in
Plan to Learn
change.
Project Plan (months)
IterationPlan(weeks)
23
Predictability?Level of detail?
Dates, Scope, Satisfaction Can Not be
Accurately Pre-determined and Then Fixed
8/7/2019 Adopting Agile Pragmatically 4Aug2010
13/26
13
Traditional Practices
Big Upfront (BUF) Requirements
In Detail
Si ned off
Big Upfront Planning
In Detail
Fixed Price
Early
omman an on ro anagemen Silo Team organisation
2010/08/04 25
Cost Estimate Fidelity
4X Project End
Over-estimated
rinCosttoCom
pleteEstimat
0 ActualEstimate
-Err
X/4
26
8/7/2019 Adopting Agile Pragmatically 4Aug2010
14/26
14
Whats Negotiable and Whats Not?
Fixed /-
Functionality
Traditional
Time Cost
Agile
Variable /Negotiable
Plan Driven
Time Cost
Value Driven
Functionality
Whats the best value
ua y
1 - 27
I can get for my time andmoney?
we run n o rou e
What percentage of systems / applicationsare never or rarely used?
But
Traditional Practices
Big Upfront (BUF) Requirements
In Detail
Si ned off
Big Upfront Planning
In Detail
Fixed Price
Early
Silo Team organisation
2010/08/04 28
8/7/2019 Adopting Agile Pragmatically 4Aug2010
15/26
15
Whole Team Practice
The Whole Team practice describes how adevelopment team organizes itself to enable it to workeffectively.
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
Everyone works together closely
Team takes Responsibility for outcome
29
Traditional Practices
Big Upfront (BUF) Requirements
In Detail
Si ned off
Big Upfront Planning
In Detail
Fixed Price
Early
Silo Team organisation
2010/08/04 30
8/7/2019 Adopting Agile Pragmatically 4Aug2010
16/26
16
Playing to win
Silo Whole Team
I will run as fast as I can
I will try as smooth a handover aspossible
I will play my role as best I can
If you are in trouble I will help
31
Its a whole new ball game!
Well how do we Adopt Agile?
We be Pragmatic
2010/08/04 32
8/7/2019 Adopting Agile Pragmatically 4Aug2010
17/26
17
Practise Agile in Adopting Agile Practices
CurrentEnvironment
New AgileMethodology
Big Bang
New AgileMethodology
Boom
CurrentEnvironment
New AgilePractice
New AgileNew A ile
New AgilePractice
Iterative / Incremental
Re-Engineering?
2010/08/04 33
Practice
Business ProcessImprovement (BPI)
Is appropriate, of value to us
TransparencyCollaboration
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
The project velocity is measured
Move people around
Fix XP when it breaks
34
8/7/2019 Adopting Agile Pragmatically 4Aug2010
18/26
18
XP Practices (2) Designing
Simplicity
Choose a system metaphor
Use CRC cards for design sessions
Testing
All code must have unittests
All code must pass all unit
Create spike solutions to reduce risk
Non functionality is added early
Refactor whenever and where ever possible
Coding
The customer is always available
Code must be written to agreed standards
Code the unit test first
es s e ore can ereleased
When a bug is found testsare created
Acceptance tests are runoften and the score ispublished
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
Do retrospectives at the end of eachsprint
Find impediments to the team and fix
Organisation
Have teams be organized ascross-functional teams
Managementthem
Have the team figure out how toimprove the teams process
Planning Do planning at beginning of iteration
Do release planning at the start of theproject
Have a manager / projectmanager / scrum masterfacilitate improving the teams
process Development
Finish building what wasstarted coding in an iteration
Get feedback from customers
36
- ,time-boxed regardless of length)
Have some daily method of finding outwhat people are doing and seeingtheir impediments
at least at the end of theiteration
8/7/2019 Adopting Agile Pragmatically 4Aug2010
19/26
19
OpenUP Practices Management Practices
Iterative Development
Risk-Value Lifecycle
Whole Team
Team Change Management
Technical Practices
Concurrent Testing
Continuous Integration
Evolutionar Architecture
37
Evolutionary Design
Shared Vision
Test Driven Development
Use Case Driven Development
Which Practices? Our Work Item List
We need to examine the various practices that we couldadopt and decide which of them will be appropriate inour organisation.
We need to carefully consider the uniqueness of ourorganisation and the projects we undertake to decidewhich practices will fit in, and will help us in achievingthe goals we have identified.
The major areas that we must consider are:
Our organizations culture
2010/08/04 38
Our customers and how they prefer to interact with us
The types of projects we do
The tools and processes that we currently use
The strengths and weaknesses of our software-related staff
8/7/2019 Adopting Agile Pragmatically 4Aug2010
20/26
20
AgileTraditional
Some
Agility is a Spectrum
Waterfall
RUP
OpenUP
Scrum
39
XP Need acombination
MCIFMeasured CapabilityImprovement Framework
Agility is Relative
Organizational DriversTeam Size
Geographical DistributionOrganization Distribution
Mature or existing projects 50+ developers
Waterfall
, ,
Maturing projects Multi-platform Growing in complexity Remote or offshore work Greater need for
coordination and handoffs
Complex, multi-platform applications Distributed teams Need for scalability, reproducibility,
and traceability
MCIF
Technical and RegulatoryDrivers
ComplianceGovernance
Application complexity
Small team New projects Simple application Co-located Minimal need for documentation
40
8/7/2019 Adopting Agile Pragmatically 4Aug2010
21/26
8/7/2019 Adopting Agile Pragmatically 4Aug2010
22/26
22
Agile Islands
Organisation(Business) Non-agile
A ile software teams are not sustainable for ver lon if the are
Agile Area
agile
2010/08/04 43
islands in a sea of waterfall projects. The presence of Agile teamscreates a new and incompatible dynamic within a waterfall company.Agile adoption programmes conducted without a thoroughunderstanding of this dynamic will continue to have a very highmortality rate, especially in larger organisations. Adam Finden
So, When are we Agile?1. Working software Agile teams produce working software on a regular basis,
typically in the context of short, stable, time-boxed iterations.
2. Active stakeholder participation
Important aspects ofthese criteria:
FlexibilityAdaptability
Agile teams work closely with their stakeholders, ideally on a daily basis.
3. Regression testing Agile teams do, at a minimum, continuous developer regression testing.
Disciplined agile teams take a Test-Driven Development (TDD) approach.
4. Organization Agile teams are self-organizing, and disciplined agile teams work within an
appropriate governance framework at a sustainable pace.
g e eams are a so cross- unc ona w o e eams, w enoug peop e w eappropriate skills to address the goals of the team.
5. Improvement Agile teams regularly reflect on, and
disciplined teams also measure, how they work together and then act to improve ontheir findings in a timely manner.
2010 Rational Whitepaper Scaling Agile
An Executive Guide by Scott Ambler 44
8/7/2019 Adopting Agile Pragmatically 4Aug2010
23/26
8/7/2019 Adopting Agile Pragmatically 4Aug2010
24/26
24
Todays message
AgileTraditional
MethodiologiesTraditional RUP OpenUP SCRUM XP
Appropriate Agile Practices
now e ge
Skill
2010/08/04 47
TRUSTTransparent Collaborative
Behaviour
Some Reasons for Failure
Ineffective use of the retrospective
Inability to get everyone in the planning meetings
Failure to pay attention to the infrastructure required
Bad ScrumMasters
Product Owner is Consistently Unavailable or There are
Too Many Owners Who Disagree Reverting to Form
Teams Lacking Authority and Decision-Making Ability
Not Having an Onsite Evangelist for Remote Locations
A Culture that Does Not Support Learning
Denial is Embraced Instead of the Brutal Truth
2010/08/04 48
8/7/2019 Adopting Agile Pragmatically 4Aug2010
25/26
25
Which Statement is true?
Agile is Dead
Agile is now Mainstream
2010/08/04 49
Improvements do not come withoutchangeThere is nothing more difficult to carry out nor more doubtful of success
nor more dangerous to handle than to initiate a new order of things;for the reformer has enemies in all those who profit by the old order,and only lukewarm defenders in all those who would profit by the neworder; this arisin partl from the incredulit of mankind who does nottruly believe in anything new until they actually have experience of it."
Niccolo Machiavelli 1469-1527
Adopting new process and tools requires well-designed strategy and plan
Changes how people collaboratein softwaredevelopment teams
Behavioral and or anizational chan emust be
The Kotter Framework - a well-known frameworkfor introducing change to an organization
The eight-stage process
1. Establishing a sense of urgency
introduced in a planned fashion
Without appropriate guidance and the rightpeople and the right strategyteams andorganizations often fail to adopt the process andtools effectively
Must be attacked more like organizational change,less like a technology upgrade
.
3. Developing a vision and strategy
4. Communicate the change vision
5. Empowering broad-based action
6. Generating short-term wins
7. Consolidating gains and producing more change
8. Anchoring new approaches in the culture
8/7/2019 Adopting Agile Pragmatically 4Aug2010
26/26
Summary
organization or project has transitioned to
effective agile delivery is the trend in the costof change. This measure of the adaptabilityinherent in software releases is a key indicator ofthe flexibility required to continuously navigate
uncertainties and steer projects toward success.
The honest treatment of uncertainty is thefoundation of todays best practices
When are we Agile?
Agilist: Agile is more about doing development in iterations,working code, customer feedback, adapting to changes rather thanpicking and choosing few practices and calling yourself agile.
Traditional methodologies incorporate rigidity Do this because the process says we must
Beware Trojan Rigidity
We do not do use cases in agile projects
2010/08/04 52
Sander Hoogendoorn