Published in 1989,
The
Seven Habits of Highly Effective People,
written by Stephen R. Covey has helped millions
establish great habits for achieving true
interdependent effectiveness in their life and their
jobs. This article discusses the 7
habits, framing the habits for highly
effective Agile Scrum Product Owners. Below are the 7
habits:
- Be Proactive
- Begin with the End in Mind
- Put First Things First
- Think Win/Win
- Seek First to Understand, Then to be
Understood
- Synergize
- Sharpen the Saw
Pre-Requisite Information
This newsletter discusses
habits for highly effective Agile Scrum
Product Owners. If you are not
familiar with Agile or Scrum, please see our
newsletters at
http://www.PragmaticSW.com/Newsletters.asp,
specifically those posted February 2008 -
September 2008, those newsletters explain
Agile Scrum in detail.
Habit 1 - Be
Proactive
A Product Owner's goal in
any software project is to ensure that the project
produces the highest return on investment
(ROI) in the shortest amount of time. Below are some
ideas for being proactive on Agile software projects:
- Communicate Sprint Rules to
Management -
Since the product
owner is responsible for prioritizing the
product backlog and is responsible for ROI, the
product owner must communicate to his/her upper
management that once the sprint begins, they can
not push for new features in the sprint unless
they are willing to abandon the sprint.
Upper management sometimes tries to interfere
with the sprint by introducing features not
currently in the backlog and derailing team
members with busy work that can cause the sprint
to fall behind schedule. The product owner
must communicate the rules to management and
remind them if this behavior happens, the sprint
must be aborted and a new sprint must be
planned.
- Meet Daily - It
is important to participate in the Daily
Scrum Meeting. This provide full
transparency - if you review progress, status
and impediments daily, you should never be
surprised if tasks begin to slip and you can
proactively resolve those to reduce slippage.
When meeting daily, hold the meeting first thing
in the morning and try to keep the meeting to 30
minutes or less. Here would be a typical
agenda for the meeting:
- Review progress - Do this by
analyzing a project
burn down chart. This shows how well
you are progressing towards completion of the
project.
- Identify slippage - After
reviewing progress, identify if anyone is
slipping in their tasks and brain storm on
helping them catch up.
- Remove Roadblocks
- Ask if anyone is experiencing
impediments and roadblocks. Help clear those
roadblocks.
References:
Burn Down Chart -
http://www.pragmaticsw.com/WhitePaper_SP_Metrics.pdf
Habit 2 - Begin with
the End in Mind
Your end goal for a sprint
should be to deliver software that could be released
to production if needed (high quality is important). Before
the sprint begins, you should make a list of success criteria
that you judge the sprint on. For example,
your success criteria may be that the certain
backlog items are complete, has no known defects (or
a small number of low severity defects), is
reusable, is maintainable, is well
documented, is easy to use, etc. By defining
the success criteria up front, you can objectively
evaluate whether the project met the criteria or
not. Below are some tips for
ensuring your meet your success criteria at
the end:
- Identify success criteria - Make
sure your success criteria is published and agreed
upon by the team members.
- Review success criteria - At
least weekly (in one of your Daily Scrum Meetings),
review the success criteria. This can include
reviewing your defect statistics, test case run
history, etc. to allow you to determine if you are
progressing towards the success criteria as the
sprint continues.
- Retrospective - Once your
project is complete, do a "retrospective"
to determine if you met your success criteria.
References:
Retrospectives -
http://www.softwareplanner.com/Newsletters/newsletter_2008_08_SP.htm
Habit 3 - Put First
Things First
Prioritizing the product backlog is critical.
You must apply effort to the most important things
first, followed by less important things because
this directly affects ROI.
- Prioritize the Product Backlog
- When planning a sprint, it is
important to ensure that the most important
features are being worked on during the sprint.
To do this, prioritize the product backlog as
high, medium and low (in terms of how it will
impact ROI). Within the high priority
items, prioritize the relative importance of
those items (1 to 10, with 1 being the most
important to ROI).
- Best Foot Forward -
Review the product backlog priorities often.
It is OK to change the priorities during the
sprint for the items that have not yet begun to
ensure that the items being worked on will
benefit ROI in the best way.
Habit 4 - Think Win/Win
When
dealing with projects, you want to foster a win/win
relationship between your team and the client.
The alternative to that is:
- Win/Loss -
In
this scenario, your team wins but the client
loses. This can cause loss of future
business with the client.
- Lost/Win - In this
scenario, your team loses but
the client wins. This can cause team burnout,
financial distress and other issues.
- Win/Win - This is the
scenario you want
to foster. In this scenario, both your
team and the client wins. How is it done?
Normally this centers around the project
management pyramid (Features, Time, Cost).
To foster a win/win relationship, one of those
variables must be flexible. Once your team
and client agree to that, it is much easier to
make objective decisions about how to plan the
project. Here are examples:
1. More Features / Less Time -
The flexible variable is cost, so your client
agrees to absorb more costs (you can hire more
people).
2. Cost Savings / Less Time -
The flexible variable is features, so less
features will be delivered but costs and time
will be less.
3. More Features / More Costs -
The flexible variable is time, allowing you to
extend the timeline.
Habit 5 - Seek First to
Understand, Then to be Understood
Many of
us have a bad habit of blocking out a conversation
and not listening because we so desperately want our
opinion to be heard. Every team member
(Product Owner, Scrum Master, Team Members) has different experiences, different
perspectives and motivations.
Before
you can solve any problem, it is important to first
listen intently and diligently to fully understand
the problem. Once you feel you have all
the facts, solicit ideas for multiple solutions.
Having several options can provide better
discussions and allows team members to tweak initial
solutions into solutions that are more far reaching
and solve the problem in a more direct way.
If you disagree with an approach, don't attack the
person that offered the approach. Instead,
explain based on your past experiences why you think
there might be a better approach.
Habit 6 - Synergize
For Agile
teams, team
collaboration and empowerment is the key to a synergized team.
A synergized team is made up of divergent team
members that have different strengths, different
backgrounds and different perspectives.
Encourage these differences but provide your team
with
tools that allow you maximize their
effectiveness. Highly collaborative teams
communicate with each other by
sharing their
calendars, posting their statuses into
discussion
forums so that everyone is aware of what the other
is doing and accomplishing. These teams keep
track of all tasks they work on each day, the number
of hours worked, the number of hours remaining and
variances to plan. They also
share documents
that illustrate best practices and produce white
papers that teach others what they have learned.
References:
Tools -
http://www.pragmaticsw.com/GuidedTours/Default.asp?FileName=OverviewSoftwarePlanner
Calendar Sharing -
http://www.pragmaticsw.com/GuidedTours/Default.asp?FileName=Calendar
Discussion Forums -
http://www.pragmaticsw.com/GuidedTours/Default.asp?FileName=DiscussionBoard
Task Tracking -
http://www.pragmaticsw.com/GuidedTours/Default.asp?FileName=ProjectPlans
Document Sharing -
http://www.pragmaticsw.com/GuidedTours/Default.asp?FileName=SharedDocuments
Habit 7 - Sharpen the
Saw
Productive product owners see the need to continue
honing their skills and love learning new
techniques, best practices and approaches.
They proactively learn about different ways to
improve Agile projects. Below are
some links that might be of interest to you: