Implementing SCRUM – Workshop
About SCRUM
SCRUM
appears simple, yet has practices that deeply influence the work experience and
that capture key adaptive and agile qualities. Scrum’s distinctive emphasis
among the methods is it’s strong promotion of self directed teams, daily team
measurement and avoidance of prescriptive processes. SCRUM practices are
founded on the Agile principles (see annexure). Some of the key agile practices
include;
·
Self directed and self organizing teams
·
No external addition of work to an
iteration, once chosen
·
Daily stand up meetings, with special
questions
·
30 calendar day iterations
·
Demo to external stakeholders at the
end of each iteration
·
For each iteration, client-driven,
adaptive planning
The SCRUM process overview
Scrum hangs all of it's practices on an iterative,
incremental process skeleton. Scrum's skeleton is shown in the diagram above.
The lower circle represents an iteration of development activities that occur,
one after another. The output of each iteration is an increment of the product.
The upper circle represents the daily inspection that occurs during the
iteration, in which the individual team members meet to inspect each other's
activities and make appropriate adaptations. Driving the iteration is a list of
requirements. This cycle repeats until the project is no longer funded.
The skeleton operates this way: At the start of an
iteration, the team reviews what it must do. It then selects what it believes
it can turn into an increment of potentially shippable functionality by the end
of the iteration. The team is then left alone to make it's best effort for the
rest of the iteration. At the end of the iteration, the team presents the
increment of functionality it built so that the stakeholders can inspect the
functionality and timely adaptations to the project can be made.
Some Organizations using SCRUM
Microsoft, Sun, Sammy Studios, Siemens, Philips, BBC, IBM,
SAIC, Ariba, Federal Reserve Bank, HP, Medtronics, Motorola, Valtech, IDX, Primavera,
Yahoo, Conchango, Bentley systems, CapitalOne, Federal reserve bank, Clear
channel, Xerox, Nokia, Novell
The business case
Organizations using SCRUM
methodology have reported productivity gains to the tune of 50% to 100% (on the
very conservative side)
The key SCRUM glossary
Product backlog
|
All features of the product
|
Release backlog
|
A subset of the product backlog, targeted at the next
production quality release
|
Sprint backlog
|
Tasks for the iteration. Granularity 4-16 hours
|
Sprint
|
Iteration of 30 days duration
|
Daily scrum meeting
|
Daily stand up meetings
|
Team introspections
|
Reflect and improve upon the learnings
|
The product owner
|
The product owner is responsible for representing the
interests of every one with a stake in the project and it's resulting system.
|
Teams
|
The team is responsible for developing functionality
|
Scrum Master
|
The Scrum Master is responsible for the scrum process, for
teaching scrm to everyone involved in the project, for implementing scrum so
that it fits within an organization's culture and still deliver the expected
benefits, and for ensuring that every one follows scrum rules and practices
|
Scrum and other agile processes have several defining moments when a key participant really "gets it." When these occur, I know that everything is going well and that the expected benefits will result. These flashes of insight include:
- The customer realizes that it's OK to proceed without all of the requirements being defined.
- The customer sees a product increment demonstrated at the end of each of the several sprints. He realizes that his involvement was important and had an immediate, tangible result. He also realizes that the project will be successful and deliver something he wants and needs.
- A team member trusts that someone will help when problems occur. After identifying an impediment or problem during a daily Scrum, either the Scrum Master or a fellow team member provides immediate help.
- The IT manager senses teamwork in progress after walking through an open area where scrumming is taking place. The buzz, energy and focus are palpable.
- The project manager realizes that she doesn't have to police the staff.
- The team realizes that no one is going to tell them what to do.
- We presented agile concepts and overviewed Scrum and XP.
- The customer described the business domain.
- We explained the product backlog, sprint planning and sprints concepts.
- The team members introduced themselves.
- The customer and team defined a product backlog (a prioritized requirements list) with enough work to drive the team for several months of sprints.
- The customer and team brainstormed about how much functionality the team could build in the next sprint.
- The team defined the sprint backlog (their collective tasks) for the next sprint to turn the selected product backlog into working functionality.
- We presented daily Scrum, end of sprint, sprint signature and management topics.
- We explained XP practices and described how they work with Scrum.
- The project team began the first sprint.
Experiencing Agile -
Please Read annexure A and B
Our Methodology of
implementing SCRUM
The main goal of this program is to ensure effective
implementation of the SCRUM methodology, resulting in business advantages.
Since SCRUM is not highly prescriptive, reading
and class room training alone will not help for it's effective
implementation. The model we propose,
include a two day workshop and 10 days on site support of a Certifed Scrum
Master, who will work along with the teams, in implementing SCRUM.
Phase –
1 - Duration 1 day
Session -1 Understanding the SCRUM
framework
1.
Adaptive Vs Predictive
2.
When to go agile
3.
Agile manifesto
4.
Key Agile principles
5.
Key agile methodologies overview
6.
Key
SCRUM practices awareness
a)
Product backlog
b)
Release backlog
c)
Wide band Delphi
– estimation
d)
Sprint planning & sprint backlogs
e)
Backlog graph
f)
Roles and responsibilities
g)
Daily stand up meetings
h)
Team introspection
Session -2
- Experiencing SCRUM - Case
study based exercises
1.
Sprint planning meeting
2.
User stories and story points
3.
Estimate using wide band Delphi
4.
Triangulation
5.
Requirements prioritization
6.
Release planning
7.
Sprint planning
8.
Burn down chart
9.
Stand up meetings
10.
Team self organization based on imposed
constraints
Phase – 2
Session-3 – Follow up program (duration 1 day, 30 days after session 2)
The focus of this session is to facilitate
right implementation of scrum. This is optional and at the same time, highly
recommended if the organization is implementing scrum. All the participants
should have attended sessions 1 and 2, and should have at least one SPRINT
experience.
1) Scrum
implementation assessment
2) Retrospective
meeting for the real life scrum implementation done by the participants
3) Action
planning
Professional service
charges
For
phase 1 -
Rs. -
For
phase 2 -
Rs. -
This
proposal is valid for a period of one month, from the date of submission
All
taxes will be extra
50% of
the professional service charges to be given on day one of the assignment
Return
flight ticket from Cochin
/ Bangalore to
the location, stay in a decent hotel and Local conveyance extra, for each trip
made. Two trips are required if the customer is going for Phase1 and Phase 2.
The
program will be delivered at the customer’s place
The
participants will be provided with reference material a copy of the slides used
during the workshop
All
the participants should have at least one project lifecycle experience
We
recommend a minimum of 8 participants and a maximum of 20 participants / batch.
Annexure – A
The Agile Principles
1.
Our highest priority is to satisfy the
customer through early and continuous delivery of valuable software.
2.
Welcome changing requirements, even
late in development. Agile processes harness change for the customers
competitive advantage.
3.
Deliver working software frequently,
from a couple of weeks to a couple of months, with a preference to the shorter
time scale.
4.
Business people and developers must
work together daily throughout the project.
5.
Build projects around motivated
individuals. Give them the environment and support they need, and trust them to
get the job done.
6.
The most efficient and effective method
of conveying information to and within a development team is face-to-face
conversation.
7.
Working software is the primary measure
of progress.
8.
Agile processes promote sustainable
development.
9.
The sponsors, developers and users
should be able to maintain a constant pace indefinitely.
10. Continuous attention to technical excellence and good design
enhances agility.
11. Simplicity – the art of maximizing the amount of work not
done- is essential
12. The best architectures, requirements and designs emerge from
self organizing teams.
13. At regular intervals, the team reflects on how to become
more effective, then tunes and adjusts it’s behavior accordingly.
Annexure – B
Agile Epiphanies
In my
experience with agile methods, I've found that hands-on practice quickly leads
to cries of "Eureka !"
Some quick definitions are in order:
·
The Scrum Master is a coach who ensures
that agile practices are used correctly.
·
The Build Master is a senior engineer
who watches for good engineering practices and successful, continuous builds.
·
The Sprint is a 30-day work period that
produces an increment of product functionality.
·
The Daily Scrum is a stand-up meeting
in which status reports are exchanged, progress is observed, and impediments
noted and removed.
·
The Customer is the person paying the
bills.
·
The Product Backlog is an emerging,
prioritized list of customer requirements.
·
The Sprint Backlog is a list of tasks
that the team completes to turn a requirement on the product backlog into a
product increment during a sprint.
Getting It
These moments are mini-epiphanies, that
flash that occurs when people suddenly understand their roles and how they
relate to those of their colleagues.
I was particularly interested in the
fifth epiphany (the project manager understanding his or her new role) and how
this realization depends on the sixth epiphany (the team self-organizing and
figuring out its work). No matter how many books you read or presentations you
attend, these personal insights can arise only from real-life experience.
Finding the Agile "Feel" - Experience sharing
You
can describe how to ride a bike to someone, but he won't really "get
it" until he experiences firsthand how to balance while pedaling in motion.
Agile processes feel different, and teams need to get that feel—close-up
and personal.
The
project managers were reluctant to get started, preferring to prolong the
discussion. Although they were interested in agile processes, their real-world
projects were important and ongoing.
Entering
the workshops I used to initiate the projects, these managers were skeptical.
They were used to starting projects by doing more, and were now feeling
adrift without the detail work they expected to precede the development of a
plan. To make matters worse, the project teams were new to the project managers
on the XYZ projects—the teams largely consisted of outside contractors.
The workshop flow was:
The
project managers for the last two projects turned around at step 6, when the
team defines the work for the next sprint. At that moment, they felt as though
a burden had been lifted from their shoulders. We started step 6 by reviewing
the selected backlog—what the team is thinking about turning into coded,
working functionality by the end of the next sprint. We then asked the team to
spend the next four hours figuring out how they were going to create this
working functionality, including a rough design and the work tasks. Then, we
yielded the floor—no one could talk except the team members.
At
first there was an uncomfortable silence. The team members were thinking,
"We're in a training session—they'll tell us what to do next!" But we
didn't. Soon, the pressure of the silence spurred members to offer some initial
observations and questions. This quickly escalated, because software developers
are usually very opinionated and have lots of ideas. In the normal, top-down
project management process, however, they aren't usually asked; they're told!
Here, the responsibility of filling the silence served to nudge team members
into independent thinking.
The
team brainstormed, plotted, schemed and even planned how it would build the
code during the sprint. The conversations started slowly, but soon people were
working on whiteboards, drawing designs and noodling out the functionality. As
the team dialogue progressed, the ScrumMaster wrote down the tasks under
discussion. At critical points, the customer or project manager offered observations,
made decisions and helped the team focus on the work. We began to recognize the
familiar agile "buzz" that indicates that the participants "get
it."
After
four hours, we called a time-out. The teams had defined their work for the next
sprint as well as possible. Some unknowns would have to be worked out, some of
the estimates were vague and new work would appear, but the team had gotten a
feel for what it would do in the next 30 days.
As the
team planned and brainstormed, a light bulb switched on over the project
manager's head. Eureka! Suddenly, the project manager experienced agile
self-organization! The team would figure out what to do on its own. The
manager's traditional role—defining all the work and ensuring its
completion—shifted to facilitating, coaching and mentoring, guiding the team to
do its best. In this agile task transition, the team takes on a great deal of
managerial responsibility—to the project's benefit.
This Is Not a Test
Even
if you've read about agile processes, heard about agile processes, and can talk
about agile processes, you won't truly understand them until you've experienced
agility in progress, close-up and personal; otherwise, it's all academic. When
introducing agility into new projects, I try to expedite firsthand experience
to engender the agile epiphany: that moment when it all comes together and the
process seems self-evident.
No comments:
Post a Comment