Agile methods: An unexpected journey Diane Strode PhD

Agile methods: An unexpected
journey
Diane Strode PhD
Faculty of Business and Information Technology
Whitireia Polytechnic
Victoria Business School
Victoria University of Wellington
Overview
• Motivation
• Pre-history, agile methods in 2000, adaptation,
optimal environments, adoption, governance...agile
software development today
• References and resources
2
Motivation...teaching
• Project management to future PMs
– A project manager coordinates and controls software
projects
– Gantt charts, PERT charts
• Analysis and design to future IT BAs
– Analyse, then design, then code, then test, AND document
• Programming to future developers
– Testing – separation of concerns
– Meeting specifications
So what’s new in this
area – Ahhh...agile
methods
3
Primary sources
• Doctor of Philosophy (Information Systems) 2012
– A theory of coordination in agile software development
projects
• Master of Information Sciences (Information
Systems) 2005
– The agile methods: An analytical comparison of five agile
methods and an investigation of their target environment
• 15 individual software development projects
4
Agile pre-history
• 17 practitioners decided to meet at Snowbird in USA,
2001
– Based on their experiences, they rejected waterfall processes
and traditional project management practices 
“heavyweight methodologies”
– All working on individual “lightweight” methodologies based
on their experience in development teams
• Discussed and agreed on a manifesto
5
http://agilemanifesto.org
6
7
Focus on
business value of
software
No detailed upfront
requirement specification
Frequent demos
and feedback /
Frequent releases
to production
Very close customer
contact
8
Focus on
business value of
software
No detailed upfront
requirement specification
Support the team
Trust the team
Co-location
Frequent demos
and feedback /
Frequent releases
to production
Very close customer
contact
No last minute rush /
burnout
9
Focus on
business value of
software
No detailed upfront
requirement specification
Support the team
Trust the team
Co-locate
Completed
functionality
No last minute rush /
burnout
Frequent demos
and feedback /
Frequent releases
to production
Very close customer
contact
Design and quality
No gold plating
Self-organising
Continuous process
improvement 10
Acronym
DSDM
2
Agile Method
Dynamic Systems Development
method
Crystal methods
Crystal
Cockburn (1998)
Cockburn (2002)
3
Extreme Programming
XP
Beck (1999), Beck (2000) 1st Edition
Beck and Andres (2005) 2nd Edition
4
Adaptive Software Development
ASD
Highsmith (2000)
5
Scrum
Scrum
6
Feature Driven Development
FDD
Beedle, Devos, Sharon, Schwaber, &
Sutherland (1999)
Schwaber & Beedle (2002)
Palmer & Felsing (2002)
7
Lean Development
LD
Charette (2002)
Poppendiek & Poppendiek (2003)
8
EVO
EVO
Gilb (2005)
9
AgileUP
AUP
Ambler (2008)
First published on-line 2005
1
Source
DSDM (Dynamic Systems Development
Method, Version 2, 1995), Stapleton (1997)
11
Purpose
• Scrum –for project management of iterative projects
• XP –software development practices for high-change
environments
• DSDM - a framework for iterative projects
• Crystal methods - for designing a methodology
12
Agile Software Development
XP
...
Lean
DSDM
Agile
Methods
FDD
Crystal
Scrum
ASD
13
Scrum
One-month “Sprints”
or repeated cycles of
activity
14
XP – Extreme Programming
Iterations of 1-4
weeks
15
Agile practices
16
Agile software development
• Each agile method consists of a set of practices
• Initially the belief was that a method should be
adopted in its entirety
• In projects, practices are “cherry picked” or
tailored
• So if you use any method, any combination of
methods, or one or more agile practices, you
can say you are doing…
Agile software development
17
Agile method combinations
• XP + Scrum
• XP provides software development techniques
+ Scrum provides management practices
18
Commonalities – 5 agile methods
•
•
•
•
•
•
•
•
All published between 1995 – 2002 in USA and UK
Developed by practitioners (not academics)
Project manager and developer perspective
Incremental development
Iterative development - 1 month iterations optimal
Suitable for projects undergoing constant change
Active user involvement
Feedback (from testing, from users) and learning
19
Commonalities – 5 agile methods cont’d.
•
•
•
•
•
Teamwork and empowered teams
Communication between all stakeholders is critical
Small teams of 3-10 programmers is optimal
Frequent meetings, daily is optimal
Working software is the main product of
development
• Modelling techniques are not mandated
• Minimise documentation
20
When should you use an agile method?
• Research study...
Nine projects, different types of organisation,
different types of product, questionnaire
Calculated agile method usage
Looked at correlation between agile method usage
and factors in the development environment
21
When should you use an agile method?
• Began with a definition of success
• Success is when a project is using all of the practices
from their selected method
– e.g. if using XP then you are using all XP practices 100% of
the time
22
Research design
• First, developed a list of factors that various authors believe
are necessary for successful agile software development - 31
• Then, isolated all practices from five agile methods (XP,
Scrum, ASD, Crystal, DSDM) – 45
• Studied correlation between environmental factors and
adoption of practices
23
Research design
• Questionnaire
– Included questions to assess use of 31 environment factors
– Included a randomised list of 45 practices from five agile methods
– Completed by nine experienced project leaders
• Interview
– Each project leader was interviewed to ensure consistency of
understanding about the various practices
24
The projects
Project
Method
Org type
Org size
Type of system
Alpha
XP
P
100-150
Control system
Beta
XP
SOE
150-200
Information presentation
Delta
XP/ Scrum
G
13000-14000
Web development
Zeta
DSDM
P
300
DSS/MIS
Theta
RUP/XP
P
1400-1500
MIS
Iota
RUP
G
600
Transaction processing
Rho
Ad hoc
G
4500-5000
MIS
Tau
Ad hoc
P
5-10
Shrink wrapped software
Chi
Ad hoc
G
300-400
MIS
Key
G – Government department or fully government funded organisation
SOE – State Owned Enterprise
P – Privately owned company
DSS – Decision Support System
MIS – Management Information System
25
Organisational factors investigated
• Organisation factors
– social interaction is trustful, collaborative, competent…
• Domain factors
– Internet application domains, gaming, inventory …
• Technological factors
– automated testing, object-oriented technology…
• Project factors
– time pressure, requirements stability…
• People factors
– CRACK customers, experienced developers…
Collaborative, Representative,
Authorised, Committed,
Knowledgeable
26
Agile method usage
Project 
Alpha
Beta
Delta
Delta
Theta
Zeta
Iota
Tau
Chi
Rho
Development
method
used
XP
XP
XP
Scrum
XP
Scrum
XP
RUP
DSDM
RUP
Ad
hoc
Ad
hoc
Ad
hoc
Compared with
XP
XP
XP
Scrum
XP
DSDM
XP
XP
XP
XP
96%
56%
67%
67%
63%
94%
40%
54%
30%
18%
Agile method
usage
Result: Certain organisational factors correlate with higher usage of agile practices
Key
Blue area shows non-agile projects
All non-agile projects were assessed against XP
27
Agile method usage
Project 
Alpha
Beta
Delta
Delta
Theta
Zeta
Iota
Tau
Chi
Rho
Development
method
used
XP
XP
XP
Scrum
XP
Scrum
XP
RUP
DSDM
RUP
Ad
hoc
Ad
hoc
Ad
hoc
Compared with
XP
XP
XP
Scrum
XP
DSDM
XP
XP
XP
XP
96%
56%
67%
67%
63%
94%
40%
54%
30%
18%
Agile method
usage
Result: An agile project can tailor their agile method so much that it is the same as using
ad hoc development (no method)
Key
Blue area shows non-agile projects
All non-agile projects were assessed against XP
28
Typical result
The team members are actively involved in
decision making (Q34)
120.00
Agile usage %
100.00
80.00
60.00
40.00
20.00
0.00
0
1
2
3
4
5
6
Extent
Scatter plot of organisation enables empowerment of people Q34.
Spearman’s Rho, 2 tailed, 0.05 significance level
29
Target environment for agile methods
• Organisation
– Values feedback and learning. Social interaction in the organisation is
trustful, collaborative, and competent
– Values teamwork, is flexible and participative, and encourages social
interaction. The project manager acts as a facilitator
– Enables empowerment of people
– Is results oriented
– Is based on loyalty and mutual trust and commitment
– The management style is that of leadership and collaboration
– Leadership in the organisation is entrepreneurial, innovative, and risk
taking
• Project
– Projects undergoing constant change
30
• Is this generalisable, or cause and effect?
- No • Sample too small, as usual, further studies needed!
Keep in mind that you might have fewer problems
using an agile method if these factors are present in
your organisation or project
31
Implications
• Many practices work well together, so…
• If you change the method too much you loose some
advantages, however…
• If you don’t change the method you may need to
change your organisation; this can be difficult,
painful, and sometimes impossible.
32
Agile software development impact...
• Organisation
– Structure – peoples’ roles – manager, project manager, business analyst,
developer, tester....
– Culture – command & control  self-organisation
– Human resource practice – rewards, individual  team, skill sets
– Customer involvement
– Contract negotiation
• Software project
–
–
–
–
System quality - negotiable
Learn as you go/ incremental delivery
Software for communication (but it’s still star of the show)
Co-located & cross-functional teams (can understand and do each others work)
• Technical practices
– Test driven development , Continuous integration, Refactoring
33
IT governance and agile projects
• Are compatible, but not seamlessly compatible
• Depends on the organisation’s ability to be flexible in their
implementation of governance processes...
“Agile thought leaders have not provided much clear or detailed guidance
about scaling Agile practices to the enterprise level, where many governance
issues are ready to pounce. To make Agile work within enterprise
governance, managing the people issues first is critical. Next, organizations
must apply a common-sense approach to processes, enabling transitioning
teams to manage demand and deliver efficiently without adding layers of
bureaucracy. In addition, organizations should use tools to provide the
transparency necessary to ensure that demand is prioritized and selected
based on the value the finished product will deliver to the organization.”
Forrester Research July 2012
34
Technical
requirements
Conflict in the need to
meet governance
requirements with the
agile team’s focus on only
delivering business value
to their client
Functional
requirements
Governance
requirements
Stories (work tasks) for
processing by the agile team
35
Agile today
• Coaches and coaching
– Internal and external (consultants)
• Certification
–
–
–
–
–
Certified IC Agile Professional (Alistair Cockburn)
Certified ScrumMaster and Scrum practitioner certifications
DSDM foundation/practitioner
PMIs Agile Certified Practitioner certification
Agile Project Management Certification (integrates with PRINCE2!) –
APMG examination institute
• Agile encroachment
– IIBA - Agile extension integrated into the BABOK
– Agile and PMBOK – remain incompatible on many fronts
– Agile and SWEBOK – remain incompatible on many fronts
36
http://www.eweek.com/developer/agile-developers-needed-demand-outpaces-supplystudy/
Development
positions
37
Adoption rates
• Wide variation in reported adoption rates world wide
– 14% (Dyba & Dingsoyr, 2008) – an academic report
– 35% (West & Grant, 2010) – a Forrester research report
– 69% (Ambler, 2009) – an agile guru’s report
• Indisputable - agile software development - has
grown in popularity in the last 12 years
• Advocated as one of the top ten “best practices” of
IT project management (Nelson, 2007)
38
Further information…
• APN
– Agile Professionals Network
– Not-for-profit
– Monthly meetings in Wellington with seminars from
industry on success and issues with agile software
development
– http://www.agileprofessionals.net/
39
Resources
• Doctor of Philosophy (Information Systems) 2012
– A theory of coordination in agile software development projects
• Master of Information Sciences (Information Systems) 2005
– The agile methods: An analytical comparison of five agile methods
and an investigation of their target environment
• Please contact me if you would like copies of any of the resources
mentioned in this seminar
• [email protected]
• My research site
• https://sites.google.com/site/dianestrodepublic/
40
Agile methods: An
unexpected journey