Get Ready for Agile Methods: How to manage constant and rapid change in IT projects
1. Get Ready for
Agile Methods!
How to manage constant and
rapid change in IT projects
Dr Dimitris Dranidis
2. Presentation outline
Traditional methodologies
Problems
Agile methods
Extreme Programming
SCRUM
Conclusions
Get Ready for Agile Methods * D Dranidis * CITY College 2
3. Driving forces…
“Deliver quickly.
Change quickly.
Change often.
These three driving forces compel us to
rethink traditional software engineering
practices.”
-- Jim Highsmith
Get Ready for Agile Methods * D Dranidis * CITY College 3
6. Characteristics of the
Waterfall development model
Heavy documentation
Every phase delivers a
complete document
Late product delivery
Big-bang approach
No code is written before the Coding phase
Late feedback – low customer involvement
Customer is involved at the beginning and at the
end of the project.
Get Ready for Agile Methods * D Dranidis * CITY College 6
7. The problems
Business environment changes at
increasing pace.
Unpredictability of requirements
Traditional methodologies fail to satisfy
environment changes due to:
Resistance to change
Change increases cost
Conformance to an initial plan
Get Ready for Agile Methods * D Dranidis * CITY College 7
8. Cost of change
Late discovery of
design defects
Changing
requirements
Result:
costly over-runs
and, often,
project
cancellation.
Waterfall tries to avoid change by freezing requirements
(contracts)
Get Ready for Agile Methods * D Dranidis * CITY College 8
9. Risk
In a waterfall process, you don’t know if you
have a problem until late in the lifecycle.
Risk is very high
until you see some
results
Get Ready for Agile Methods * D Dranidis * CITY College 9
10. Customer feedback was late!
Get Ready for Agile Methods * D Dranidis * CITY College 10
11. Following plans when feedback is
absent
With feedback
Without feedback
Get Ready for Agile Methods * D Dranidis * CITY College 11
12. How can we deal with…?
Continuous change?
Change is inevitable!
Unpredictable requirements?
High risks?
Get Ready for Agile Methods * D Dranidis * CITY College 12
14. Agile methods
Agile = flexible, adaptable
Embrace change!
Try to reduce cost of change
Focus on
customer satisfaction (and feedback)
rather than conformance to a plan
Early product delivery
Get Ready for Agile Methods * D Dranidis * CITY College 14
15. Agile methods value more…
Individuals and interactions
over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotiation
Responding to change
over following a plan
Get Ready for Agile Methods * D Dranidis * CITY College 15
16. Common characteristic of all agile methods:
Iterative process
Development is broken
down in short iterations
Every iteration
repeats a “small Waterfall”
Delivers some functionality
Incremental approach
Iterations are time-boxed:
No extensions of deadlines
There is a product even if
the project is cancelled
Get Ready for Agile Methods * D Dranidis * CITY College 16
18. SCRUM
Software development process for small teams
(max 9) and small projects (few months)
Very simple, only very few principles and rules
Emphasis on agile project management practices
Toyota uses it since the early 1990s
Get Ready for Agile Methods * D Dranidis * CITY College 18
19. SCRUM process overview
Iterative
Incremental
Time-boxed
Get Ready for Agile Methods * D Dranidis * CITY College 19
20. Initial planning phase
Establish vision,
budget
Initial Product
Backlog
List of identified,
prioritized features
Prepared by the
customer
Get Ready for Agile Methods * D Dranidis * CITY College 20
21. Sprints - iterations
15-30 day iterations
Sprint planning
Sprint
Daily Scrum meetings
Sprint review
Get Ready for Agile Methods * D Dranidis * CITY College 21
22. Sprint planning
Spring backlog
List of features to be
implemented in the
current Sprint
The most important
features from the
Product Backlog
Expanded to list of
tasks by team
Get Ready for Agile Methods * D Dranidis * CITY College 22
23. SCRUM - Sprints
The team is left alone and produces the best
software possible
No changes are allowed during a sprint
Anything can change before and after
Daily SCRUM meetings
Get Ready for Agile Methods * D Dranidis * CITY College 23
24. Daily SCRUM meetings
15 – 30 minutes stand-up
meetings
at the same place at the same
time every work day
Questions to be answered by
each team member:
What have you done since the last scrum meeting?
What obstacles stand in the way?
What do you plan on doing between now and the next scrum
meeting?
Management’s role:
remove any obstacles and to supply all necessary resources.
Get Ready for Agile Methods * D Dranidis * CITY College 24
25. Sprint review
At the end of a sprint:
Meeting with all stakeholders
Product demonstration
Anything can be changed
Continue?
Get Ready for Agile Methods * D Dranidis * CITY College 25
26. SCRUM closure phase
Completes product
development
Operational deployment
Documentation
Get Ready for Agile Methods * D Dranidis * CITY College 26
27. SCRUM Roles:
Product owner (Customer)
Responsible for creating and
prioritizing the Product Backlog
Chooses goals for the next
Sprint
Reviews the system after the
Sprint
Get Ready for Agile Methods * D Dranidis * CITY College 27
28. SCRUM Roles:
Scrum Team (developers)
Expand the Sprint Backlog to
Tasks
Work on the Sprint Backlog
tasks
Develop the system
Daily meetings
Get Ready for Agile Methods * D Dranidis * CITY College 28
29. SCRUM Roles:
Scrum Master (Project Manager)
Ensures Scrum practices
are followed
Mediator between
management and team
Removes obstacles
Conducts Sprint review
Get Ready for Agile Methods * D Dranidis * CITY College 29
30. SCRUM Logs:
Product Backlog
Kept by the Product
owner (Customer)
List of identified,
prioritized tasks
Drives team activity
Updated and prioritized
before each sprint
Checked in each meeting
Get Ready for Agile Methods * D Dranidis * CITY College 30
31. SCRUM Logs:
Product Backlog
Get Ready for Agile Methods * D Dranidis * CITY College 31
32. SCRUM Logs:
Sprint Backlog
List of tasks to be
completed by the Scrum
Team in the current
Sprint.
Tasks in the range of 4-
16 hours
Estimates are updated
daily!
Total estimated time
calculated
Get Ready for Agile Methods * D Dranidis * CITY College 32
33. SCRUM Logs:
Sprint Burn-down graph
Remaining Actual Ideal
estimated
time to
complete
all tasks
Get Ready for Agile Methods * D Dranidis * CITY College 33
34. SCRUM Practices:
Project management ..
Self-directed teams
No guidance from management or Scrum Master
Don’t add to iteration
Nothing changes during a sprint
Scrum Master firewall
Team is not interrupted by anyone
Scrum Master removes obstacles
Decision in one hour
Decisions for removing blocks are taken immediately
Bad decisions are better than no decisions
Blocks removed in one day
Get Ready for Agile Methods * D Dranidis * CITY College 34
35. SCRUM Practices:
Project management ..
Chickens and Pigs
In a SCRUM meeting only the SCRUM Team may talk (the
pigs)
Everybody else (the chickens) can attend silently
Get Ready for Agile Methods * D Dranidis * CITY College 35
36. Other SCRUM practices
Small teams
Ideally 7 members
Larger projects can be multiple teams
Common room
Daily Build
Get Ready for Agile Methods * D Dranidis * CITY College 36
37. SCRUM…. the name?
A scrum is a team
pack in Rugby
Everybody in the pack
acts together with
everyone else to
move the ball down
the field
Get Ready for Agile Methods * D Dranidis * CITY College 37
39. Four Variables ...
Control variables of software development
Cost
Available budget
Time
Project duration
Quality
Product quality
Scope
Product features
Get Ready for Agile Methods * D Dranidis * CITY College 39
40. Four Variables ...
It is impossible to control all four
variables
Customers can choose to control
any 3 of the variables
Developers pick the resultant value
of the 4th variable
Get Ready for Agile Methods * D Dranidis * CITY College 40
41. Four Variables ...
All variables should be visible to customer
Scope is the best variable to control
Fix cost, time and quality
Adjust scope correspondingly
If there is no time to complete the whole
project remove some functionality
(customer chooses)
Get Ready for Agile Methods * D Dranidis * CITY College 41
42. XP Practices
XP is based on the
extreme application of
12 practices that
support each other.
Get Ready for Agile Methods * D Dranidis * CITY College 42
43. 12 XP Practices
Get Ready for Agile Methods * D Dranidis * CITY College 43
44. XP Practices:
Planning Game .....
Pieces: user stories
Requirements on index cards
Written by the customer
Get Ready for Agile Methods * D Dranidis * CITY College 44
45. XP Practices:
Planning Game .....
Players: customer & developer
Customer
decides priorities
(Business value)
Developer
estimates effort
Value and Risk first!
Get Ready for Agile Methods * D Dranidis * CITY College 45
46. XP Practices:
Planning Game .....
Iteration planning (before each iteration)
Time-boxed: 2-3 weeks long
Customer selects “user stories” fitting current
iteration
Developers break user stories in tasks
Get Ready for Agile Methods * D Dranidis * CITY College 46
47. XP Practices:
Planning Game .....
Inside the iteration
No new “user stories” are added
Completeness is measured in terms of
completed “user stories”
Get Ready for Agile Methods * D Dranidis * CITY College 47
48. XP Practices:
Planning Game …..
End of iteration
Iteration ends at the pre-specified date
Even if not all user stories were
implemented
Estimations are evaluated and readjusted for
next iterations
Get Ready for Agile Methods * D Dranidis * CITY College 48
49. XP Practices:
Frequent Releases
A release cycle is usually up to
3 months
A release cycle consists of
iterations up to 3 weeks
In each iteration the selected
user stories are implemented
Each user story is split in
programming tasks of 1-3 days
small and frequent releases
provide frequent feedback from
the customer
Get Ready for Agile Methods * D Dranidis * CITY College 49
50. XP Practices:
Pair programming ..
Two programmers sit
together in front of a
workstation
one enters code
one reviews the code and
thinks
“Pair programming is a dialog
between two people trying to
simultaneously program and
understand how to program
better”, Kent Beck
Continuous quality
inspection!
Get Ready for Agile Methods * D Dranidis * CITY College 50
51. XP Practices:
Pair programming ..
Pairs change continuously (few times in a day)
every programmer knows all the aspects of the
system
a programmer can be easily replaced in the middle of
the project
Ensures continuous code inspection
Costs 10-15% more than stand-alone
programming but….
Code is simpler (fewer LOC) with less defects (15%)
Get Ready for Agile Methods * D Dranidis * CITY College 51
52. XP Practices:
On-site customer
The customer must always be available to
answer questions
resolve ambiguities
set priorities
review the product
Customer is considered part of the team
Continuous feedback!
Get Ready for Agile Methods * D Dranidis * CITY College 52
54. Requirements for the success of
agile methods
Collaborative environment
People-centered organizations
Small to medium sized teams
(avg. 9 persons)
Common open workplace
Commitment
Customer commitment
Management commitment
Developers commitment
Get Ready for Agile Methods * D Dranidis * CITY College 54
55. Wrap-up
Agile methodologies in a fast changing
world!
Embrace change!
The people factor
Trust your team!
User involvement
Involve the customer!
Useful practices even in a traditional
development process
Get Ready for Agile Methods * D Dranidis * CITY College 55
56. Thank you!
“It is not the strongest of the
species that survives, nor
the most intelligent that
survives. It is the one that is
the most adaptable to
change.”
Charles Darwin
Get Ready for Agile Methods * D Dranidis * CITY College 56
57. About me…
Senior Lecturer
Computer Science Dept
CITY College, International Faculty of the University of Sheffield
Programme director of the
MSc in Software Engineering & Telecommunications
Leader of the "Software Engineering & Service-Oriented
Technologies" research group, research interests:
service-oriented computing, model-based testing, object-oriented
analysis and design, formal methods, software engineering education,
agile software development methodologies, and artificial intelligence.
http://www.city.academic.gr/csd/dranidis/
Get Ready for Agile Methods * D Dranidis * CITY College 57
58. Experience in software project
management
>10 years of management of >50 short (6-9
pms) software projects
Industrial Group Projects
Teams of undergraduate and postgraduate
students developing software for the industry
Plenty of successes and failures
http://invent.city.academic.gr/
Get Ready for Agile Methods * D Dranidis * CITY College 58