1. CERN - European Organization for Nuclear Research
GS Department - Administrative Information Services
Agile Software Development
using Scrum
Derek Mathieson
Group Leader
Administrative Information Services
CERN - Geneva, Switzerland
2. Speaker Background
Currently:
- Group Leader of AIS since January 2010
Previously:
- Section Leader EDH (2000)
- Software Developer at CERN (1994)
- Software Developer at SSC in Texas (1992)
- CERN Fellow (1990)
- CERN Technical Student (1989)
- Software Developer (1986)
CERN
GS-AIS
3. Agenda
What is Agile?
The Agile Manifesto
Agile Methods
SCRUM
SCRUM @ CERN
CERN
GS-AIS
5. What is Agile?
Agile:
- Having the faculty of quick motion; nimble,
active, ready. (Oxford English Dictionary)
Agile software development:
- A group of software development
methodologies based on iterative and
incremental development, where
requirements and solutions evolve through
collaboration between self-organizing,
cross-functional teams.
CERN (Wikipedia)
GS-AIS
6. Waterfall Model
Requirements
Design
Implementation
Verification
Maintenance
Time
CERN
GS-AIS
7. Spiral Model
Cumulative cost
1.Determine Progress 2. Identify and
objectives resolve risks
Requirements Operational
Rev iew plan Prototype 1 Prototype 2 Prototype
Concept of Concept of
operation requirements Detailed
Requirements Draft
design
Development Verification Code
plan & Validation
Integration
Test plan Verification
& Validation
Test
Implementation
4. Plan the Release
next iteration 3. Development
CERN and Test
GS-AIS
8. Iterative Development
Regular releases to customer
- „Time-boxing‟
- Normally 2 - 6 weeks
Adjust design as the project progresses
Requirements Analysis & Design
Implementation
Initia
Planni ent
Evaluation Testing
CERN
GS-AIS
10. The Iron Triangle
Traditional Scope
Development
Agile
Development
Quality Schedule
CERN
GS-AIS
11. The Agile Manifesto (2001)
1. Early and continuous delivery of valuable software
2. Welcome Change
3. Deliver Often
4. Customers and developers must work together
5. Best possible people, tools and workplace
6. Emphasis on face-to-face communication
7. Working software is the best measure of progress
8. Constant sustainable progress
9. Focus on technical excellence and good design
10. Simplicity
11. Self-organizing teams
12. Regular reflection on improvements
CERN
GS-AIS
12. The 4 Agile Values
Individuals and interactions
over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotiation
Responding to change
over following a plan
CERN
GS-AIS
20. What is SCRUM?
Scrum is a framework for iterative,
incremental development using cross-
functional, self-managing teams. It is
built on industry best practices, lean
thinking, and empirical process control.
Ken Schwaber, 2006
co-creator of SCRUM
CERN
GS-AIS
21. Method Comparison
Waterfall Spiral Iterative Scrum
Defined processes Required Required Required Planning & Closure only
Final product Determined Fixed during Set during Set during project
during planning planning project
Determined Partially Set during
Project cost Set during project
during planning variable project
Determined Partially Set during
Completion date Set during project
during planning variable project
Responsiveness to Planning At end of each
Planning only Throughout
environment primarily iteration
Team flexibility, Unlimited during
Limited - cookbook approach
creativity iterations
Training prior to project
Knowledge transfer Teamwork during project
Probability of Low Medium low Medium
High
success
Jeff Sutherland, „The Scrum Papers’ 2010
co-creator of SCRUM
CERN
GS-AIS
24. EDH Statistics
14,500 active users
25k Documents/month
60k Signatures/month
25,000 3.00
60,000
Documents per month Distinct Users per month 2.50
20,000
Signatures per month Ratio Signatures/Document
50,000
2.00
40,000
15,000
1.50
30,000
10,000
1.00
20,000
5,000
0.50
10,000
- - 0.00
CERN
GS-AIS
25. EDH Development Team
4 Staff
2 Project Associates
2 Fellows
2 Students (9 month contract)
1.8 million lines of code
~1000 3rd line support calls/year
CERN
GS-AIS
26. EDH Development B.C.
B C. re SCRUM
- Constant Developer Interruptions
• Low efficiency
- Delivery was often late
• Poor estimation - many unknowns
- Scope Creep
• Specification constantly changing
• Everything is Free
• Some features never used
CERN
GS-AIS
29. The Product Owner
Typically a Product Manager, Internal
Customer, etc.
Responsible for:
- Providing and maintain a prioritised
“Product Backlog”
- Responsive to questions during a sprint
CERN
GS-AIS
30. The Product Backlog
A list of all desired work on the project
- Usually a combination of
• story-based work:
“let user search and replace”
• task-based work:
“improve exception handling”
Prioritised by the Product Owner
- Priority should be (ideally) based on
“Business Value”
“Cost” assigned by the Scrum Team
CERN
GS-AIS
31. The Scrum Team
Teams are self-organising
Cross-functional
- QA, Programmers, UI Designers, Technical
Writers, etc.
Assign Cost to each Item on the Product
Backlog
Commit to the “Sprint Goal”
CERN
GS-AIS
32. The “Sprint”
Fixed “Time-Box” (we chose 2 weeks)
Product is designed, coded, and tested
during the sprint
Daily Scrum Meetings
Produce demonstratable, working, new
functionality.
CERN
GS-AIS
33. The Scrum Master
Responsible for enacting Scrum values and
practices (The Process)
Main job is to remove obstacles which affect
the team
Typical obstacles could be:
- My ____ broke and I need a new one.
- I still haven't got the software I ordered.
- I need help debugging a problem with ____.
- I'm struggling to learn ____ and would like help.
- The GL has asked me to work on something else
"for a day or two."
CERN
GS-AIS
34. The Sprint Planning Meeting
Attended by:
• Product Owner, Scrum Master, Scrum Team, and
any interested and appropriate management or
customer representatives.
Product Owner describes the highest
priority features to the team.
Collectively the Scrum Team and the
Product Owner define a “Sprint Goal”
CERN
GS-AIS
35. The Sprint Goal
A short “theme” for the sprint:
“Create Reports.”
“Create Working Form.”
“Implement Workflow.”
“Implement Bulk Emailing.”
The SCRUM Team commit to this goal.
CERN
GS-AIS
36. The Daily Scrum
Anyone Invited
Led by Scrum Master
15 minutes, every day
Not for problem solving
Three questions:
1.What did you do yesterday
2.What will you do today?
3.What obstacles are in your way?
CERN
GS-AIS
38. The Sprint Review Meeting
Team presents what it accomplished
during the sprint
Typically takes the form of a demo of
new features or underlying architecture
Participants
- Management
- Product Owner
- Other engineers
-…
CERN
GS-AIS
39. Release Sprint
Release
Sprint 1 Sprint 2 Sprint 3
Sprint
Concentrate on preparing for production:
- No new features
- Last minute bugs, typos, layout issues, etc.
- Translation (if not done already)
- Desktop Icons
- Communication, Bulletin Articles, etc.
CERN
GS-AIS
40. Scrum- value driven not plan driven
Empower lean teams to deliver more software
earlier with higher quality.
Demonstrate working features to the customer
early and often so the customer can inspect
progress and prioritize change.
Deliver exactly what the client wants by
directly involving the customer in the
development process.
Provide maximum business value to the
customer by responding to changing priorities
in real time.
Jeff Sutherland, 2007
CERN
GS-AIS co-creator of SCRUM
41. SCRUM in Industry
The most profitable software product
ever created (Google Adwords) is
powered by Scrum.
The most productive large project with
over a million lines of code (SirsiDynix)
used a ... Scrum implementation.
Jeff Sutherland, 2010
co-creator of SCRUM
CERN
GS-AIS
42. SCRUM in Industry
No, Organizations using
31% Yes, Agile methods
69%
Agile Adoption Survey, March 2008
No, 24%
Yes,
76%
CERN State of the IT Union Survey, July 2009
GS-AIS
43. Visible benefits of SCRUM
Time-Boxed:
- Maximum investment known up-front
Tackle most valuable features first
Focus on working, tested, documented
product features
CERN
GS-AIS
44. Conclusions
Product Owner:
- Active Participant
- Can “see” product evolve
- Know the cost of each feature
- Good Product Owners can be hard to find
CERN
GS-AIS
45. Conclusions
Team:
- Work closely with Product Owner
- Know the “Value” of each Feature
- Known Start and End of Project
- Efficient, highly focused development
- Strong Team Spirit
CERN
GS-AIS
46. Why SCRUM?
What I wanted:
- Manage Product Requirements
- Provide Visibility to Clients
- Better manage developer time
- A more repeatable development process
What developers wanted:
- Something „light‟
- Task management
- Communication
CERN
GS-AIS
47. What did we adapt?
2 week Sprint
Release Sprint
Not everyone „SCRUMs‟
- Full time support staff
- Technology
(Almost) Everyone does support too
Some people have several roles
CERN
GS-AIS
48. Implementation Barriers
Some clients insist all features must be
in final product
Scope
Daily S ion
Poor P
- Not fi
- Does Pick
Two
- More
Quality Schedule
CERN
GS-AIS
49. Lessons Learned
Be careful of the choice of Product
Owner
Use tools to simplify admin
- Excel, whiteboards, ScrumWorks, JIRA, …
CERN
GS-AIS
55. Does it Increase Productivity?
Probably…
Did it make development work easier?
Yes…
- Communication is better
- Estimates are better
- Planning is easier
- Customers are happier
CERN
GS-AIS
57. Yes… but…
“I like writing software, but I don‟t like
doing the other development stuff which
we are not forced to do here.”
SCRUM lets you:
- Focus on valuable development
Use tools to minimise admin
CERN
GS-AIS
58. Yes… but…
“It might help, but we have multiple
projects per person.”
So do we…
- It‟s simpler to have only one, but sometime
schedules don‟t allow…
- Time-boxing helps to reduce parallel
activities.
CERN
GS-AIS
60. Yes… but…
“Our clients won‟t agree”
Tricky one…
- SCRUM needs Client commitment
- SCRUM exposes the cost of features
- SCRUM makes the client choose
In return they get:
- Transparency
- License to change their minds
- Met deadlines
CERN
GS-AIS
61. Yes… but…
“I like X from Scrum, but not Y, I might
try X.”
Do X!
CERN
GS-AIS
62. Yes… but…
“You are trying to get us to work more
for less! No way!”
SCRUM lets you:
- Focus on useful work
CERN
GS-AIS
63. Yes… but…
“Our project X is special and not
industry so we don‟t need a process.”
CERN
GS-AIS