SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
build great
products™
2013 © Jama Software, Inc www.jamasoftware.com | 1.800.679.3058
PROJECT
MANAGEMENT BEST
PRACTICES
Requirements expert Karl Wiegers introduces 21 valuable practices that can help
both rookie and veteran project managers do a better job with less pain.
anaging software projects is difficult
under the best circumstances. The
project manager must balance competing
stakeholder interests against the
constraints of limited resources and time, ever-
changing technologies and challenging demands
from high-pressure people. Project management is
a juggling act, with too many balls in the air at once.
Unfortunately, many new project managers receive
little training in how to do the job. Anyone can
learn to draw a Gantt chart, but effective project
managers also rely on the savvy that comes from
experience. Learning survival tips from people
who’ve already done their tours of duty in the
project management trenches can save you from
learning such lessons the hard way.
This white paper, adapted from the book Practical
Project Initiation: A Handbook with Tools
(Microsoft Press, 2007), by requirements expert
Karl Wiegers, is organized into five categories:
LAY THE
FOUNDATION
PLAN THE
PROJECT
ESTIMATE
THE WORK
TRACK YOUR
PROGRESS
LEARN FOR
THE FUTURE
2Karl Wiegers
“Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058
priorities for success, team members can work at
cross-purposes1
.
Identify project drivers,
constraints and degrees
of freedom.
Every project must balance its functionality,
staffing, budget, schedule and quality objectives.
Define each of these five project dimensions as
either a constraint within which you must operate,
a driver strongly aligned with project success or
a degree of freedom you can adjust within some
stated bounds2
.
Bad news: not all factors can be constraints and
not all can be drivers. If you are given a defined
feature set that must delivered with zero defects
by a specific date by a fixed team size working on
a fixed budget, you will most likely fail. An over-
constrained project leaves the project manager
with no way to deal with requirement changes,
staff turnover or illness, risks that materialize or
any other unexpected occurrences.
Scenario: a senior manager and a project leader
debate how long it would take to deliver a planned
new large software system. The project leader’s
top-of-the-head guess was four times as long as the
senior manager’s stated goal of six months. The
project leader’s response to the senior manager’s
pressure for the much shorter schedule was
simply, “Okay.” A better response would have been
to negotiate a realistic outcome through
a dialogue:
•	 Does something drastic happen if we
don’t deliver in six months (schedule is a
constraint), or is that just a desirable target
date (schedule is a driver)?
•	 If the six months is a firm constraint, what
subset of the requested functionality do you
absolutely need delivered by then? (Features
are a degree of freedom.)
•	 Can I get more people to work on it? (Staff is a
degree of freedom.)
•	 Do you care how well it works? (Quality is a
degree of freedom.)
•	 Can I get more funding to outsource part of
the project work? (Cost is a degree
of freedom.)
hen initiating a new project, study
this list of practices to see which ones
would be valuable contributors to
that project. Build the corresponding
activities into your thinking and plans. Recognize,
though, none of these practices will be silver
bullets for your project management problems.
Also, remember that even “best” practices are
situational. They need to be selectively and
thoughtfully applied only where they will add value
to the project.
LAYING THE
FOUNDATION
Define project success criteria.
At the beginning of the project, make sure the
stakeholders share a common understanding
of how they’ll determine whether this project is
successful. Begin by identifying your stakeholders
and their interests and expectations. Next, define
some clear and measurable business goals. Some
examples are:
•	 Increasing market share by a certain amount
by a particular date
•	 Reaching a specified sales volume or revenue
•	 Achieving certain customer satisfaction
measures
•	 Saving money by retiring a high-maintenance
legacy system
These business goals should imply specific project
success criteria, which again should be measurable
and trackable. These goals could include achieving
schedule and budget targets, delivering committed
functionality that satisfies acceptance tests,
complying with industry standards or government
regulations or achieving specific technology
milestones. The business objectives define the
overarching goal. It doesn’t matter if you deliver to
the specification on schedule and budget if those
factors don’t clearly align with business success.
Not all of these defined success criteria can be your
top priority. You’ll have to make some thoughtful
trade-off decisions to be sure that you satisfy your
most important priorities. If you don’t define clear
1
2
3Karl Wiegers
“Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058
Define product release criteria.
Early in the project, decide what criteria will
indicate whether the product is ready for release.
Some examples of possible release criteria are:
•	 There are no open high-priority defects.
•	 The number of open defects has decreased for
X weeks and the estimated number of residual
defects is acceptable.
•	 Performance goals are achieved on all
target platforms.
•	 Specific required functionality is
fully operational.
•	 Quantitative reliability goals are satisfied.
•	 Specified legal, contractual, or regulatory goals
are met.
•	 Customer acceptance criteria are satisfied.
Whatever criteria you choose should be realistic,
objectively measurable, documented and aligned
with what “quality” means to your customers.
Decide early on how you will tell when you’re
done, track progress toward your goals and stick
to your guns if confronted with pressure to ship
before the product is ready for prime time3
.
Negotiate achievable commitments.
Despite pressure to promise the impossible, never
make a commitment you know you can’t keep.
Engage in good-faith negotiations with customers,
managers and team members to agree on goals
that are realistically achievable. Negotiation
is required whenever there’s a gap between
the schedule or functionality the key project
stakeholders demand and your best prediction of
the future as embodied in project estimates.
Principled negotiation involves four precepts,
as described in Getting to Yes by Roger Fisher,
William Ury and Bruce Patton (Penguin USA, 1991):
•	 Separate the people from the problem.
•	 Focus on interests, not positions
3
4
•	 Invent options for mutual gain.
•	 Insist on using objective criteria.
Any data you have from previous projects will
strengthen your negotiating position, especially
because the person with whom you’re negotiating
likely has no data at all. However, there’s no real
defense against truly unreasonable people.
Plan to renegotiate commitments when project
realities (such as staff, budget or deadlines)
change, unanticipated problems arise, risks
materialize or new requirements are added.
No one likes to have to modify his or her
commitments. But if the reality is that the initial
commitments won’t be achieved, let’s not pretend
that they will right up until the moment of
disappointing truth.
PLANNING THE PROJECT
Write a plan.
Some people believe the time spent writing a
plan could be better spent writing code, but I
don’t agree. The hard part isn’t writing the plan.
The hard part is doing the planning—thinking,
negotiating, balancing, asking, listening and
thinking some more. Actually writing the plan
is mostly transcription at that point. The time
you spend analyzing what it will take to solve the
problem will reduce the number of surprises you
encounter later in the project. A useful plan is
much more than just a schedule or task list.
It also includes:
•	 Staff, budget and other resource estimates
and plans
•	 Team roles and responsibilities
•	 How you will acquire and train the
necessary staff
•	 Assumptions, dependencies and risks
•	 Target dates for major deliverables
•	 Identification of the software development life
cycle that the project will follow
•	 How you will track and monitor the project
5
4Karl Wiegers
“Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058
•	 Metrics that you’ll collect and analyze
•	 How you will manage any
subcontractor relationships
Your organization should adopt a standard
software project management plan template,
which each project can tailor to best suit its needs.
You might start with the project management plan
template available at www.ProjectInitiation.com.
Adjust and shrink this template to suit the nature
and size of your own projects.
If you commonly tackle different kinds of projects,
such as major new product development projects
as well as small enhancements, adopt a separate
project plan template for each project class. The
project plan should be no longer or more elaborate
than necessary to make sure you can successfully
execute the project. One page might suffice in
some cases. But always write a plan.
Decompose tasks to
inch-pebble granularity.
Inch-pebbles are miniature milestones (get it?).
Breaking large tasks into multiple small tasks
helps you estimate them more accurately, reveals
work activities you might not have thought of
otherwise and permits more accurate, fine-grained
status tracking. Select inch-pebbles of a size that
you feel you can estimate accurately. Inch-pebbles
that represent tasks of about 5 to 15 labor-hours
is a good start. Overlooked tasks are a common
contributor to schedule slips. Breaking large
problems into smaller bits reveals more details
about the work that must be done and improves
your ability to create accurate estimates. You
can track progress based on the number of inch-
pebbles that the team has completed at any given
time, compared with those you planned to have
done by that time.
Develop planning worksheets for
common large tasks.
If your team frequently undertakes certain
common tasks—implementing a new class,
executing a system test cycle or performing a
product build—develop activity checklists and
planning worksheets for these tasks. Each checklist
should include all of the steps the large task might
need. These checklists and worksheets will help
6
7
each team member identify and estimate the effort
associated with each instance of the large task he
must tackle. People work in different ways, and no
single person will think of all the necessary tasks,
so engage multiple team members in developing
the worksheets. Tailor the worksheets to meet the
specific needs of individual projects. They help
avoid overlooking an important step in my rush to
finish the project.
Plan to do rework after a quality
control activity.
Some project plans assume every test will be
a success that lets you move on to the next
development activity. However, almost all quality
control activities, such as testing and peer reviews,
find defects or other improvement opportunities.
Your project schedule should include rework as
a discrete task after every quality control task.
Base your estimates of rework time on previous
experience. If you collect a bit of data, you can
calculate the average expected rework effort to
correct defects found in various types of work
products. And if you don’t have to do any rework
after performing a test, great; you’re ahead of
schedule on that task. This is permitted in all fifty
states and in many other countries. Don’t count on
it, though.
Manage project risks.
If you don’t identify and control project risks,
they’ll control you. A risk is a potential problem
that could affect the success of your project. It’s a
problem that hasn’t happened yet—and you’d like
to keep it that way. Simply identifying the possible
risk factors isn’t enough. You also have to evaluate
the relative threat each one poses so you can focus
your energy where it will do the most good.
Risk exposure is a combination of the probability
that a specific risk could materialize into a problem
and the negative consequences for the project if
8
9
If you don’t identify and control
project risks, they’ll control you. A
risk is a potential problem that could
affect the success of your project.
5Karl Wiegers
“Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058
when you first try to apply new processes, tools, or
technologies. Don’t expect to get fabulous benefits
on the first try, no matter what the tool vendor or
the consultant claims. Make sure your managers
and customers understand the learning curve as an
inescapable consequence of working in a rapidly
changing, high-tech field.
ESTIMATING THE WORK
Estimate based on effort, not
calendar time.
People generally provide estimates in units of
calendar time. It’s preferable to estimate the effort
(in labor-hours) associated with a task and then
translate the effort into a calendar-time estimate.
A 20-hour task might take 2.5 calendar days of
nominal full-time effort, or two exhausting days.
However, it could also take a week if you have to
wait for critical information from a customer or
stay home with a sick child for two days. Translate
effort into calendar time on estimates of how many
effective hours one can spend on project tasks
per day, any interruptions or emergency bug fix
requests, meetings and all the other places into
which time disappears.
If you track how you actually spend your time
at work, you’ll know how many effective weekly
project hours you have available on average.
Tracking time like this is illuminating. Typically,
the effective project time is only perhaps 50 to 60
percent of the nominal time team members spend
at work, far less than the assumed 100 percent
effective time on which so many project schedules
are planned.
Don’t over-schedule
multitasking people.
The task-switching overhead associated with the
many activities we are all asked to do reduces our
effectiveness significantly. Excessive multitasking
introduces communication and thought-process
inefficiencies that reduce individual productivity.
One manager claimed that someone on his team
had spent an average of eight hours per week on
a particular activity, so therefore she could do five
of them at once. Forty hours per week divided by
eight is five, right? In reality, she’ll be lucky if she
it does. To manage each risk, select mitigation
actions to reduce either the probability or the
impact. You might also identify contingency plans
that will kick in if your risk control activities aren’t
as effective as you hope.
A simple risk list doesn’t replace a plan for how
you will identify, prioritize, control and track risks.
Incorporate risk tracking into your routine project
status tracking4
.
Plan time for process improvement.
Your team members are already swamped with
their current project assignments. If you want
the group to rise to a higher plane of software
development capability, though, you’ll have to
invest in process improvement. This means you’ll
need to set aside some time from your project
schedule for improvement activities. Don’t
allocate 100 percent of your team’s available time
to project tasks and then wonder why they don’t
make any progress on the improvement initiative.
Some process changes can begin to pay off
immediately, but you won’t reap the full benefit
from other improvements until the next project.
Process improvement is a strategic investment
in the organization. Process improvement is like
highway construction: It slows everyone down a
little bit for a time, but after the work is done, the
road is a lot smoother and the throughput
is greater.
Respect the learning curve.
The time and money you spend on training,
self-study, consultants and developing improved
processes are part of the investment your
organization makes in sustained project success.
Recognize that you’ll pay a price in terms of a
short-term productivity loss—the learning curve—
10
11
12
Process improvement is like highway
construction: It slows everyone down
a little bit for a time, but after the work
is done, the road is a lot smoother
and the throughput is greater.
13
6Karl Wiegers
“Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058
can handle three or four such tasks. There’s just
too much friction associated with multitasking.
Some people multitask more efficiently than others,
even thriving on it. But if certain of your team
members thrash when working on too many tasks
at once, set clear priorities and help them do well
by focusing on just one or two objectives at a time.
Build training time into
the schedule.
Estimate how much time your team members
spend on training activities each year and subtract
that from the time available for them to work on
project tasks. You probably already subtract out
average values for vacation time, sick time and
other assignments; treat training time the
same way.
Recognize that the high-tech field of software
development demands that all practitioners devote
time to ongoing education, both on their own time
and on the company’s time. Arrange just-in-time
training when you can schedule it, as the half-
life of new technical knowledge is short unless
the student puts the knowledge to use promptly.
Attending a training seminar can be a team-
building experience, as project team members and
other stakeholders hear the same story about how
to apply improved practices to their
common challenges.
Record estimates and how you
derived them.
When you prepare estimates for your work,
write down those estimates and document how
you arrived at each of them. Understanding the
assumptions and approaches used to create an
estimate will make them easier to defend and
adjust when necessary. It will also help you
improve your estimation process. Train the team
in estimation methods, rather than assuming that
every software developer and project leader is
naturally skilled at predicting the future. Develop
estimation procedures and checklists that people
throughout your organization can use.
The Wideband Delphi method is an effective
group estimation technique. This technique asks
a small team of experts to anonymously generate
individual estimates from a problem description
14
15
and reach consensus on a final set of estimates
through iteration. Participation by multiple
estimators and the use of anonymous estimates to
prevent one participant from biasing another make
the Wideband Delphi method more reliable than
simply asking a single individual for his best guess5
.
Use estimation tools.
Many commercial tools are available to help
project managers estimate entire projects. Based
on equations derived from large databases of
actual project experience, these tools can give
you a spectrum of possible schedule and staff
allocation options. They’ll also help you avoid the
“impossible region,” combinations of product size,
effort and schedule where no known project has
been successful. The tools incorporate a number
of “cost drivers” you can adjust to make the tool
more accurately model your project, based on the
technologies used, the team’s experience and other
factors. You can compare the estimates from the
tools with the bottom-up estimates generated from
a work breakdown structure. Reconcile any major
disconnects so you can generate the most realistic
overall estimate.
Plan contingency buffers.
Projects never go precisely as planned. The
prudent project manager incorporates budget
and schedule contingency buffers at the end of
phases, dependent task sequences or iterations to
accommodate the unforeseen. Use your project
risk analysis to estimate the possible schedule
impact if several of the risks materialize, then build
that projected risk exposure into your schedule as
a contingency buffer. An even more sophisticated
approach is critical chain analysis, a technique that
pools the uncertainties in estimates and risks into
16
If a manager elects to discard
contingency buffers, he has tacitly
absorbed all the risks that fed into the
buffer and assumed that all estimates
are perfect, no scope growth will
occur and no unexpected events will
take place.
17
7Karl Wiegers
“Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058
done or not done—nothing in between. Project
status tracking is then based on the fraction of the
tasks that are completed and their size, not the
percentage completion of each task. If someone
asks you whether a specific task is complete and
your reply is, “It’s all done except…,” then it’s
not done! Don’t let people “round up” their task
completion status. Instead, use explicit criteria to
determine whether an activity truly is completed.
Track project status openly
and honestly.
An old riddle asks, “How does a software project
become six months late?” The rueful answer is,
“One day at a time.” The painful problems arise
when the project manager doesn’t know just how
far behind (or, occasionally, ahead) of plan the
project really is. Surprise, surprise, surprise.
If you’re the PM, create a climate in which
team members feel it is safe for them to report
project status accurately. Run the project from a
foundation of accurate, data-based facts, rather
than from the misleading optimism that can arise
from the fear of reporting bad news. Use project
status information and metrics data to take
corrective actions when necessary and to celebrate
when you can. You can only manage a project
effectively when you really know what’s done and
what isn’t, what tasks are falling behind their
estimates and why and what problems, issues and
risks remain to be tackled.
The five major areas of software measurement
are size, effort, time, quality and status. It’s a
good idea to define a few metrics in each of these
categories. Instilling a measurement culture into
an organization is not trivial. Some people resent
having to collect data about the work they do,
often because they’re afraid of how managers
might use the measurements. The cardinal rule of
software metrics is that management must never
use the data collected to either reward or punish
the individuals who did the work. The first time
you do this will be the last time you can count on
getting accurate data from the team members.
a rational overall contingency buffer6
.
Your manager or customer might view these
contingency buffers as padding, rather than as the
sensible acknowledgment of reality that they are.
To help persuade skeptics, point to unpleasant
surprises on previous projects as a rationale for
your foresight. If a manager elects to discard
contingency buffers, he has tacitly absorbed all the
risks that fed into the buffer and assumed that all
estimates are perfect, no scope growth will occur
and no unexpected events will take place.
Sound realistic to you? Of course not. Better to
deal with reality—however unattractive—than to
live in Fantasyland.
TRACKING YOUR
PROGRESS
Record actuals and estimates.
Unless you record the actual effort or time spent
on each project task and compare them to the
estimates, your estimates will forever remain
guesses. If you write down what actually happened
today, that becomes historical data tomorrow.
It’s really not more complicated than that. Each
individual can begin recording estimates and
actuals, and the project manager should track
these important data items on a project task or
milestone basis. In addition to effort and schedule,
you could estimate and track the size of the
product, in terms of requirements, user stories,
lines of code, function points, GUI screens or other
units that make sense for your project.
Count tasks as complete only when
they’re 100 percent complete.
We give ourselves a lot of partial credit for tasks
we’ve begun but not yet fully completed: “I thought
about the algorithm for that module in the shower
this morning and the algorithm is the hard part, so
I’m probably about 60 percent done.” It’s difficult
to accurately assess what fraction of a sizable task
has actually been finished at a given moment.
One benefit of using inch-pebbles (see Practice
#6) for task planning is that you can break a
large activity into a number of small tasks (inch-
pebbles) and classify each small task as either
18
19
An old riddle asks, “How does a
software project become six months
late?” The rueful answer is, “One day
at a time.”
20
8Karl Wiegers
“Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058
LEARNING FOR THE FUTURE
Conduct project retrospectives.
Retrospectives (also called postmortems and post-
project reviews) provide an opportunity for the
team to reflect on how the last project, phase or
iteration went and to capture lessons learned that
will help enhance your future performance. During
such a review, identify the things that went well,
so you can create an environment that enables you
to repeat those success contributors. Also look for
things that didn’t go so well, so you can change
your approaches and prevent those problems
in the future. In addition, think of events that
surprised you. These might be risk factors to look
for on the next project. Finally, ask yourself what
you still don’t understand about the project, so you
can try to learn how to execute future work better.
It’s important to conduct retrospectives in a
constructive and honest atmosphere. Don’t make
them an opportunity to assign blame for previous
problems7
. It’s a good idea to capture the lessons
learned from each retrospective exploration and
share them with the entire team and organization.
This is a way to help all team members, present
and future, benefit from your experience.
21
References
1.	 Chapter 4 of Practical Project Initiation presents a tutorial on defining project success criteria.
2.	 Wiegers explains this idea more fully in his book Creating a Software Engineering Culture (Dorset
House, 1996).
3.	 See Chapter 5 of Practical Project Initiation for more about defining product release criteria.
4.	 See Chapter 6 of Practical Project Initiation for an overview of software risk management.
5.	 Chapter 11 of Practical Project Initiation presents a tutorial on the Wideband Delphi
estimation method.
6.	 Chapter 10 of Practical Project Initiation is all about contingency buffers.
7.	 Chapter 15 of Practical Project Initiation describes the project retrospective process and provides a
worksheet to help you plan your next retrospective.
The 21 project management best practices won’t guarantee your project a great outcome. They will,
however, help you get a solid handle on your project and ensure that you’re doing all you can to make it
succeed in an unpredictable world.
9Karl Wiegers
“Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058
Karl has provided training and consulting services worldwide on many aspects of
software development, management and process improvement. He has authored
5 technical books, including Software Requirements, and written more than 175
articles. Prior to starting Process Impact in 1997, he spent 18 years at Eastman Kodak
Company. His responsibilities there included experience as a photographic research
scientist, software applications developer, software manager, and software process
and quality improvement leader. Karl has led process improvement activities in
small application development groups, Kodak’s Internet development group, and
a division of 500 software engineers developing embedded and host-based digital
imaging software products. http://www.processimpact.com.
ABOUT JAMA SOFTWARE
ABOUT KARL WIEGERS
From concept to launch, the Jama product delivery platform helps companies
bring complex products to market. By involving every person invested in the
organization’s success, the Jama platform provides a structured collaboration
environment, empowering everyone with instant and comprehensive insight into
what they are building and why. Visionary organizations worldwide, including
SpaceX, The Department of Defense, VW, Time Warner, GE, United Healthcare
and Amazon.com use Jama to accelerate their R&D returns, out-innovate their
competition and deliver business value. Jama is one of the fastest-growing
enterprise software companies in the United States, having exceeded 100%
growth in each of the past four years, during which time both Inc. and Forbes
have repeatedly recognized the company as a model of responsible growth and
innovation. For more information please visit http://www.jamasoftware.com.

Weitere ähnliche Inhalte

Was ist angesagt?

Hypothesis driven storyboarding
Hypothesis driven storyboardingHypothesis driven storyboarding
Hypothesis driven storyboardingRahul Sahai
 
5 immutable principles webinar
5 immutable principles webinar5 immutable principles webinar
5 immutable principles webinarGlen Alleman
 
Using the DMAIC Process for SEO Projects
Using the DMAIC Process for SEO ProjectsUsing the DMAIC Process for SEO Projects
Using the DMAIC Process for SEO Projectsunevendock6891
 
How To Review Software Requirements
How To Review Software RequirementsHow To Review Software Requirements
How To Review Software RequirementsCraig Brown
 
Project Planning: How to Achieve the Impossible
Project Planning: How to Achieve the ImpossibleProject Planning: How to Achieve the Impossible
Project Planning: How to Achieve the ImpossibleMindGenius
 
importance of resources allocation in formal method of software engineering ...
 importance of resources allocation in formal method of software engineering ... importance of resources allocation in formal method of software engineering ...
importance of resources allocation in formal method of software engineering ...Abdul Naqashbandi
 
Project management 02112009
Project management 02112009Project management 02112009
Project management 02112009Manish Chaurasia
 
Project management
Project managementProject management
Project managementsatya pal
 
10 Project Management Mistakes
10 Project Management Mistakes10 Project Management Mistakes
10 Project Management MistakesOrangescrum
 
Project management 101
Project management 101Project management 101
Project management 101David Brown
 
Entroids Introduces the "Think-Plan-Do" framework for execution - A GPS for N...
Entroids Introduces the "Think-Plan-Do" framework for execution - A GPS for N...Entroids Introduces the "Think-Plan-Do" framework for execution - A GPS for N...
Entroids Introduces the "Think-Plan-Do" framework for execution - A GPS for N...Entroids
 
Simple & Practical Project Management for Digital Marketing Teams
Simple & Practical Project Management for Digital Marketing TeamsSimple & Practical Project Management for Digital Marketing Teams
Simple & Practical Project Management for Digital Marketing TeamsDigitangle
 
Project Management Best Practices - Tips and Techniques
Project Management Best Practices  - Tips and TechniquesProject Management Best Practices  - Tips and Techniques
Project Management Best Practices - Tips and TechniquesInvensis Learning
 
Project Management Overview by Darryl Vleeming
Project Management Overview by Darryl VleemingProject Management Overview by Darryl Vleeming
Project Management Overview by Darryl VleemingDarryl Vleeming
 
Top Ten Reasons Why Projects Fail
Top Ten Reasons Why Projects FailTop Ten Reasons Why Projects Fail
Top Ten Reasons Why Projects Failjpstewar
 
Project management for everyone
Project management for everyoneProject management for everyone
Project management for everyoneRichard Schreiber
 
Speed And Quality Of Development
Speed And Quality Of DevelopmentSpeed And Quality Of Development
Speed And Quality Of Developmentjohnstonda
 
Project management - a practical overview Sue Greener
Project management - a practical overview Sue GreenerProject management - a practical overview Sue Greener
Project management - a practical overview Sue GreenerSue Greener
 

Was ist angesagt? (20)

Hypothesis driven storyboarding
Hypothesis driven storyboardingHypothesis driven storyboarding
Hypothesis driven storyboarding
 
5 immutable principles webinar
5 immutable principles webinar5 immutable principles webinar
5 immutable principles webinar
 
Using the DMAIC Process for SEO Projects
Using the DMAIC Process for SEO ProjectsUsing the DMAIC Process for SEO Projects
Using the DMAIC Process for SEO Projects
 
How To Review Software Requirements
How To Review Software RequirementsHow To Review Software Requirements
How To Review Software Requirements
 
Project Planning: How to Achieve the Impossible
Project Planning: How to Achieve the ImpossibleProject Planning: How to Achieve the Impossible
Project Planning: How to Achieve the Impossible
 
importance of resources allocation in formal method of software engineering ...
 importance of resources allocation in formal method of software engineering ... importance of resources allocation in formal method of software engineering ...
importance of resources allocation in formal method of software engineering ...
 
Project management 02112009
Project management 02112009Project management 02112009
Project management 02112009
 
Project management
Project managementProject management
Project management
 
10 Project Management Mistakes
10 Project Management Mistakes10 Project Management Mistakes
10 Project Management Mistakes
 
Project management 101
Project management 101Project management 101
Project management 101
 
Entroids Introduces the "Think-Plan-Do" framework for execution - A GPS for N...
Entroids Introduces the "Think-Plan-Do" framework for execution - A GPS for N...Entroids Introduces the "Think-Plan-Do" framework for execution - A GPS for N...
Entroids Introduces the "Think-Plan-Do" framework for execution - A GPS for N...
 
Entroids way
Entroids wayEntroids way
Entroids way
 
Simple & Practical Project Management for Digital Marketing Teams
Simple & Practical Project Management for Digital Marketing TeamsSimple & Practical Project Management for Digital Marketing Teams
Simple & Practical Project Management for Digital Marketing Teams
 
Project Management Best Practices - Tips and Techniques
Project Management Best Practices  - Tips and TechniquesProject Management Best Practices  - Tips and Techniques
Project Management Best Practices - Tips and Techniques
 
Project Management Overview by Darryl Vleeming
Project Management Overview by Darryl VleemingProject Management Overview by Darryl Vleeming
Project Management Overview by Darryl Vleeming
 
Top Ten Reasons Why Projects Fail
Top Ten Reasons Why Projects FailTop Ten Reasons Why Projects Fail
Top Ten Reasons Why Projects Fail
 
Project management for everyone
Project management for everyoneProject management for everyone
Project management for everyone
 
Speed And Quality Of Development
Speed And Quality Of DevelopmentSpeed And Quality Of Development
Speed And Quality Of Development
 
Change management toolkit for Leaders
Change management toolkit for LeadersChange management toolkit for Leaders
Change management toolkit for Leaders
 
Project management - a practical overview Sue Greener
Project management - a practical overview Sue GreenerProject management - a practical overview Sue Greener
Project management - a practical overview Sue Greener
 

Ähnlich wie Project management best practices

Project Plan Development - A FlackVentures Training Example
Project Plan Development - A FlackVentures Training ExampleProject Plan Development - A FlackVentures Training Example
Project Plan Development - A FlackVentures Training ExampleKate Pynn
 
How To Develop A Project Management Plan
How To Develop A Project Management PlanHow To Develop A Project Management Plan
How To Develop A Project Management PlanOrangescrum
 
Project Management for Freelancers
Project Management for FreelancersProject Management for Freelancers
Project Management for FreelancersCrystal Williams
 
How to Break Down your Projects into Milestones and Tasks
How to Break Down your Projects into Milestones and TasksHow to Break Down your Projects into Milestones and Tasks
How to Break Down your Projects into Milestones and TasksOrangescrum
 
Project Management Overview
Project Management OverviewProject Management Overview
Project Management Overviewcford1973
 
How to Solve Top Project Management Challenges
How to Solve Top Project Management ChallengesHow to Solve Top Project Management Challenges
How to Solve Top Project Management ChallengesOrangescrum
 
Drs 255 project management skills
Drs 255 project management skillsDrs 255 project management skills
Drs 255 project management skillspaulyeboah
 
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docxPearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docxAASTHA76
 
Driving Smarter Resourcing
Driving Smarter ResourcingDriving Smarter Resourcing
Driving Smarter ResourcingJeff McClay
 
Project Management Goals.pptx
Project Management Goals.pptxProject Management Goals.pptx
Project Management Goals.pptxHussainUllah4
 
28.Causes of project failure A Lecture By Mr Allah Dad Khan Visiting Profes...
28.Causes of project failure   A Lecture By Mr Allah Dad Khan Visiting Profes...28.Causes of project failure   A Lecture By Mr Allah Dad Khan Visiting Profes...
28.Causes of project failure A Lecture By Mr Allah Dad Khan Visiting Profes...Mr.Allah Dad Khan
 
Identifying a project in trouble and re-planning
Identifying a project in trouble and re-planningIdentifying a project in trouble and re-planning
Identifying a project in trouble and re-planningmfarbstein
 
Pm For Fun And Profit
Pm For Fun And ProfitPm For Fun And Profit
Pm For Fun And Profitsundong
 
Project Management for Fun and Profit
Project Management for Fun and ProfitProject Management for Fun and Profit
Project Management for Fun and ProfitCrystal Williams
 
about start up for you 12
about start up for you 12about start up for you 12
about start up for you 12aliaalistartup
 
9 Common Challenges in the Software Development Process
9 Common Challenges in the Software Development Process9 Common Challenges in the Software Development Process
9 Common Challenges in the Software Development ProcessSattrix Software Solutions
 
If You Want To Earn More Profits Follow An Established Project Management Met...
If You Want To Earn More Profits Follow An Established Project Management Met...If You Want To Earn More Profits Follow An Established Project Management Met...
If You Want To Earn More Profits Follow An Established Project Management Met...Ed Kozak
 
Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Harold van Heeringen
 
Top 10 project mgt. problems
Top 10 project mgt. problemsTop 10 project mgt. problems
Top 10 project mgt. problemsMaksudul Munna
 

Ähnlich wie Project management best practices (20)

Project Plan Development - A FlackVentures Training Example
Project Plan Development - A FlackVentures Training ExampleProject Plan Development - A FlackVentures Training Example
Project Plan Development - A FlackVentures Training Example
 
How To Develop A Project Management Plan
How To Develop A Project Management PlanHow To Develop A Project Management Plan
How To Develop A Project Management Plan
 
Project Management for Freelancers
Project Management for FreelancersProject Management for Freelancers
Project Management for Freelancers
 
How to Break Down your Projects into Milestones and Tasks
How to Break Down your Projects into Milestones and TasksHow to Break Down your Projects into Milestones and Tasks
How to Break Down your Projects into Milestones and Tasks
 
L 63 Article Successful PM
L 63 Article Successful PML 63 Article Successful PM
L 63 Article Successful PM
 
Project Management Overview
Project Management OverviewProject Management Overview
Project Management Overview
 
How to Solve Top Project Management Challenges
How to Solve Top Project Management ChallengesHow to Solve Top Project Management Challenges
How to Solve Top Project Management Challenges
 
Drs 255 project management skills
Drs 255 project management skillsDrs 255 project management skills
Drs 255 project management skills
 
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docxPearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
Pearson HND BTEC Level 5 HNDManaging a Successful Business Pr.docx
 
Driving Smarter Resourcing
Driving Smarter ResourcingDriving Smarter Resourcing
Driving Smarter Resourcing
 
Project Management Goals.pptx
Project Management Goals.pptxProject Management Goals.pptx
Project Management Goals.pptx
 
28.Causes of project failure A Lecture By Mr Allah Dad Khan Visiting Profes...
28.Causes of project failure   A Lecture By Mr Allah Dad Khan Visiting Profes...28.Causes of project failure   A Lecture By Mr Allah Dad Khan Visiting Profes...
28.Causes of project failure A Lecture By Mr Allah Dad Khan Visiting Profes...
 
Identifying a project in trouble and re-planning
Identifying a project in trouble and re-planningIdentifying a project in trouble and re-planning
Identifying a project in trouble and re-planning
 
Pm For Fun And Profit
Pm For Fun And ProfitPm For Fun And Profit
Pm For Fun And Profit
 
Project Management for Fun and Profit
Project Management for Fun and ProfitProject Management for Fun and Profit
Project Management for Fun and Profit
 
about start up for you 12
about start up for you 12about start up for you 12
about start up for you 12
 
9 Common Challenges in the Software Development Process
9 Common Challenges in the Software Development Process9 Common Challenges in the Software Development Process
9 Common Challenges in the Software Development Process
 
If You Want To Earn More Profits Follow An Established Project Management Met...
If You Want To Earn More Profits Follow An Established Project Management Met...If You Want To Earn More Profits Follow An Established Project Management Met...
If You Want To Earn More Profits Follow An Established Project Management Met...
 
Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)
 
Top 10 project mgt. problems
Top 10 project mgt. problemsTop 10 project mgt. problems
Top 10 project mgt. problems
 

Kürzlich hochgeladen

Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampPLCLeadershipDevelop
 
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...Pooja Nehwal
 
internal analysis on strategic management
internal analysis on strategic managementinternal analysis on strategic management
internal analysis on strategic managementharfimakarim
 
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Hedda Bird
 
Construction Project Management | Coursera 2024
Construction Project Management | Coursera 2024Construction Project Management | Coursera 2024
Construction Project Management | Coursera 2024Alex Marques
 
operational plan ppt.pptx nursing management
operational plan ppt.pptx nursing managementoperational plan ppt.pptx nursing management
operational plan ppt.pptx nursing managementTulsiDhidhi1
 
Agile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxAgile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxalinstan901
 
Continuous Improvement Infographics for Learning
Continuous Improvement Infographics for LearningContinuous Improvement Infographics for Learning
Continuous Improvement Infographics for LearningCIToolkit
 
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
situational leadership theory by Misba Fathima S
situational leadership theory by Misba Fathima Ssituational leadership theory by Misba Fathima S
situational leadership theory by Misba Fathima Smisbafathima9940
 

Kürzlich hochgeladen (20)

Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC Bootcamp
 
Discover -CQ Master Class - Rikita Wadhwa.pdf
Discover -CQ Master Class - Rikita Wadhwa.pdfDiscover -CQ Master Class - Rikita Wadhwa.pdf
Discover -CQ Master Class - Rikita Wadhwa.pdf
 
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
 
Disrupt or be Disrupted - Kirk Vallis.pdf
Disrupt or be Disrupted - Kirk Vallis.pdfDisrupt or be Disrupted - Kirk Vallis.pdf
Disrupt or be Disrupted - Kirk Vallis.pdf
 
internal analysis on strategic management
internal analysis on strategic managementinternal analysis on strategic management
internal analysis on strategic management
 
Becoming an Inclusive Leader - Bernadette Thompson
Becoming an Inclusive Leader - Bernadette ThompsonBecoming an Inclusive Leader - Bernadette Thompson
Becoming an Inclusive Leader - Bernadette Thompson
 
Rohini Sector 16 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 16 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 16 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 16 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Imagine - HR; are handling the 'bad banter' - Stella Chandler.pdf
Imagine - HR; are handling the 'bad banter' - Stella Chandler.pdfImagine - HR; are handling the 'bad banter' - Stella Chandler.pdf
Imagine - HR; are handling the 'bad banter' - Stella Chandler.pdf
 
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
 
Construction Project Management | Coursera 2024
Construction Project Management | Coursera 2024Construction Project Management | Coursera 2024
Construction Project Management | Coursera 2024
 
Peak Performance & Resilience - Dr Dorian Dugmore
Peak Performance & Resilience - Dr Dorian DugmorePeak Performance & Resilience - Dr Dorian Dugmore
Peak Performance & Resilience - Dr Dorian Dugmore
 
operational plan ppt.pptx nursing management
operational plan ppt.pptx nursing managementoperational plan ppt.pptx nursing management
operational plan ppt.pptx nursing management
 
Agile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxAgile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptx
 
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote SpeakerLeadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
 
Intro_University_Ranking_Introduction.pptx
Intro_University_Ranking_Introduction.pptxIntro_University_Ranking_Introduction.pptx
Intro_University_Ranking_Introduction.pptx
 
Continuous Improvement Infographics for Learning
Continuous Improvement Infographics for LearningContinuous Improvement Infographics for Learning
Continuous Improvement Infographics for Learning
 
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
 
Empowering Local Government Frontline Services - Mo Baines.pdf
Empowering Local Government Frontline Services - Mo Baines.pdfEmpowering Local Government Frontline Services - Mo Baines.pdf
Empowering Local Government Frontline Services - Mo Baines.pdf
 
Unlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
Unlocking the Future - Dr Max Blumberg, Founder of Blumberg PartnershipUnlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
Unlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
 
situational leadership theory by Misba Fathima S
situational leadership theory by Misba Fathima Ssituational leadership theory by Misba Fathima S
situational leadership theory by Misba Fathima S
 

Project management best practices

  • 1. build great products™ 2013 © Jama Software, Inc www.jamasoftware.com | 1.800.679.3058 PROJECT MANAGEMENT BEST PRACTICES Requirements expert Karl Wiegers introduces 21 valuable practices that can help both rookie and veteran project managers do a better job with less pain. anaging software projects is difficult under the best circumstances. The project manager must balance competing stakeholder interests against the constraints of limited resources and time, ever- changing technologies and challenging demands from high-pressure people. Project management is a juggling act, with too many balls in the air at once. Unfortunately, many new project managers receive little training in how to do the job. Anyone can learn to draw a Gantt chart, but effective project managers also rely on the savvy that comes from experience. Learning survival tips from people who’ve already done their tours of duty in the project management trenches can save you from learning such lessons the hard way. This white paper, adapted from the book Practical Project Initiation: A Handbook with Tools (Microsoft Press, 2007), by requirements expert Karl Wiegers, is organized into five categories: LAY THE FOUNDATION PLAN THE PROJECT ESTIMATE THE WORK TRACK YOUR PROGRESS LEARN FOR THE FUTURE
  • 2. 2Karl Wiegers “Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058 priorities for success, team members can work at cross-purposes1 . Identify project drivers, constraints and degrees of freedom. Every project must balance its functionality, staffing, budget, schedule and quality objectives. Define each of these five project dimensions as either a constraint within which you must operate, a driver strongly aligned with project success or a degree of freedom you can adjust within some stated bounds2 . Bad news: not all factors can be constraints and not all can be drivers. If you are given a defined feature set that must delivered with zero defects by a specific date by a fixed team size working on a fixed budget, you will most likely fail. An over- constrained project leaves the project manager with no way to deal with requirement changes, staff turnover or illness, risks that materialize or any other unexpected occurrences. Scenario: a senior manager and a project leader debate how long it would take to deliver a planned new large software system. The project leader’s top-of-the-head guess was four times as long as the senior manager’s stated goal of six months. The project leader’s response to the senior manager’s pressure for the much shorter schedule was simply, “Okay.” A better response would have been to negotiate a realistic outcome through a dialogue: • Does something drastic happen if we don’t deliver in six months (schedule is a constraint), or is that just a desirable target date (schedule is a driver)? • If the six months is a firm constraint, what subset of the requested functionality do you absolutely need delivered by then? (Features are a degree of freedom.) • Can I get more people to work on it? (Staff is a degree of freedom.) • Do you care how well it works? (Quality is a degree of freedom.) • Can I get more funding to outsource part of the project work? (Cost is a degree of freedom.) hen initiating a new project, study this list of practices to see which ones would be valuable contributors to that project. Build the corresponding activities into your thinking and plans. Recognize, though, none of these practices will be silver bullets for your project management problems. Also, remember that even “best” practices are situational. They need to be selectively and thoughtfully applied only where they will add value to the project. LAYING THE FOUNDATION Define project success criteria. At the beginning of the project, make sure the stakeholders share a common understanding of how they’ll determine whether this project is successful. Begin by identifying your stakeholders and their interests and expectations. Next, define some clear and measurable business goals. Some examples are: • Increasing market share by a certain amount by a particular date • Reaching a specified sales volume or revenue • Achieving certain customer satisfaction measures • Saving money by retiring a high-maintenance legacy system These business goals should imply specific project success criteria, which again should be measurable and trackable. These goals could include achieving schedule and budget targets, delivering committed functionality that satisfies acceptance tests, complying with industry standards or government regulations or achieving specific technology milestones. The business objectives define the overarching goal. It doesn’t matter if you deliver to the specification on schedule and budget if those factors don’t clearly align with business success. Not all of these defined success criteria can be your top priority. You’ll have to make some thoughtful trade-off decisions to be sure that you satisfy your most important priorities. If you don’t define clear 1 2
  • 3. 3Karl Wiegers “Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058 Define product release criteria. Early in the project, decide what criteria will indicate whether the product is ready for release. Some examples of possible release criteria are: • There are no open high-priority defects. • The number of open defects has decreased for X weeks and the estimated number of residual defects is acceptable. • Performance goals are achieved on all target platforms. • Specific required functionality is fully operational. • Quantitative reliability goals are satisfied. • Specified legal, contractual, or regulatory goals are met. • Customer acceptance criteria are satisfied. Whatever criteria you choose should be realistic, objectively measurable, documented and aligned with what “quality” means to your customers. Decide early on how you will tell when you’re done, track progress toward your goals and stick to your guns if confronted with pressure to ship before the product is ready for prime time3 . Negotiate achievable commitments. Despite pressure to promise the impossible, never make a commitment you know you can’t keep. Engage in good-faith negotiations with customers, managers and team members to agree on goals that are realistically achievable. Negotiation is required whenever there’s a gap between the schedule or functionality the key project stakeholders demand and your best prediction of the future as embodied in project estimates. Principled negotiation involves four precepts, as described in Getting to Yes by Roger Fisher, William Ury and Bruce Patton (Penguin USA, 1991): • Separate the people from the problem. • Focus on interests, not positions 3 4 • Invent options for mutual gain. • Insist on using objective criteria. Any data you have from previous projects will strengthen your negotiating position, especially because the person with whom you’re negotiating likely has no data at all. However, there’s no real defense against truly unreasonable people. Plan to renegotiate commitments when project realities (such as staff, budget or deadlines) change, unanticipated problems arise, risks materialize or new requirements are added. No one likes to have to modify his or her commitments. But if the reality is that the initial commitments won’t be achieved, let’s not pretend that they will right up until the moment of disappointing truth. PLANNING THE PROJECT Write a plan. Some people believe the time spent writing a plan could be better spent writing code, but I don’t agree. The hard part isn’t writing the plan. The hard part is doing the planning—thinking, negotiating, balancing, asking, listening and thinking some more. Actually writing the plan is mostly transcription at that point. The time you spend analyzing what it will take to solve the problem will reduce the number of surprises you encounter later in the project. A useful plan is much more than just a schedule or task list. It also includes: • Staff, budget and other resource estimates and plans • Team roles and responsibilities • How you will acquire and train the necessary staff • Assumptions, dependencies and risks • Target dates for major deliverables • Identification of the software development life cycle that the project will follow • How you will track and monitor the project 5
  • 4. 4Karl Wiegers “Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058 • Metrics that you’ll collect and analyze • How you will manage any subcontractor relationships Your organization should adopt a standard software project management plan template, which each project can tailor to best suit its needs. You might start with the project management plan template available at www.ProjectInitiation.com. Adjust and shrink this template to suit the nature and size of your own projects. If you commonly tackle different kinds of projects, such as major new product development projects as well as small enhancements, adopt a separate project plan template for each project class. The project plan should be no longer or more elaborate than necessary to make sure you can successfully execute the project. One page might suffice in some cases. But always write a plan. Decompose tasks to inch-pebble granularity. Inch-pebbles are miniature milestones (get it?). Breaking large tasks into multiple small tasks helps you estimate them more accurately, reveals work activities you might not have thought of otherwise and permits more accurate, fine-grained status tracking. Select inch-pebbles of a size that you feel you can estimate accurately. Inch-pebbles that represent tasks of about 5 to 15 labor-hours is a good start. Overlooked tasks are a common contributor to schedule slips. Breaking large problems into smaller bits reveals more details about the work that must be done and improves your ability to create accurate estimates. You can track progress based on the number of inch- pebbles that the team has completed at any given time, compared with those you planned to have done by that time. Develop planning worksheets for common large tasks. If your team frequently undertakes certain common tasks—implementing a new class, executing a system test cycle or performing a product build—develop activity checklists and planning worksheets for these tasks. Each checklist should include all of the steps the large task might need. These checklists and worksheets will help 6 7 each team member identify and estimate the effort associated with each instance of the large task he must tackle. People work in different ways, and no single person will think of all the necessary tasks, so engage multiple team members in developing the worksheets. Tailor the worksheets to meet the specific needs of individual projects. They help avoid overlooking an important step in my rush to finish the project. Plan to do rework after a quality control activity. Some project plans assume every test will be a success that lets you move on to the next development activity. However, almost all quality control activities, such as testing and peer reviews, find defects or other improvement opportunities. Your project schedule should include rework as a discrete task after every quality control task. Base your estimates of rework time on previous experience. If you collect a bit of data, you can calculate the average expected rework effort to correct defects found in various types of work products. And if you don’t have to do any rework after performing a test, great; you’re ahead of schedule on that task. This is permitted in all fifty states and in many other countries. Don’t count on it, though. Manage project risks. If you don’t identify and control project risks, they’ll control you. A risk is a potential problem that could affect the success of your project. It’s a problem that hasn’t happened yet—and you’d like to keep it that way. Simply identifying the possible risk factors isn’t enough. You also have to evaluate the relative threat each one poses so you can focus your energy where it will do the most good. Risk exposure is a combination of the probability that a specific risk could materialize into a problem and the negative consequences for the project if 8 9 If you don’t identify and control project risks, they’ll control you. A risk is a potential problem that could affect the success of your project.
  • 5. 5Karl Wiegers “Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058 when you first try to apply new processes, tools, or technologies. Don’t expect to get fabulous benefits on the first try, no matter what the tool vendor or the consultant claims. Make sure your managers and customers understand the learning curve as an inescapable consequence of working in a rapidly changing, high-tech field. ESTIMATING THE WORK Estimate based on effort, not calendar time. People generally provide estimates in units of calendar time. It’s preferable to estimate the effort (in labor-hours) associated with a task and then translate the effort into a calendar-time estimate. A 20-hour task might take 2.5 calendar days of nominal full-time effort, or two exhausting days. However, it could also take a week if you have to wait for critical information from a customer or stay home with a sick child for two days. Translate effort into calendar time on estimates of how many effective hours one can spend on project tasks per day, any interruptions or emergency bug fix requests, meetings and all the other places into which time disappears. If you track how you actually spend your time at work, you’ll know how many effective weekly project hours you have available on average. Tracking time like this is illuminating. Typically, the effective project time is only perhaps 50 to 60 percent of the nominal time team members spend at work, far less than the assumed 100 percent effective time on which so many project schedules are planned. Don’t over-schedule multitasking people. The task-switching overhead associated with the many activities we are all asked to do reduces our effectiveness significantly. Excessive multitasking introduces communication and thought-process inefficiencies that reduce individual productivity. One manager claimed that someone on his team had spent an average of eight hours per week on a particular activity, so therefore she could do five of them at once. Forty hours per week divided by eight is five, right? In reality, she’ll be lucky if she it does. To manage each risk, select mitigation actions to reduce either the probability or the impact. You might also identify contingency plans that will kick in if your risk control activities aren’t as effective as you hope. A simple risk list doesn’t replace a plan for how you will identify, prioritize, control and track risks. Incorporate risk tracking into your routine project status tracking4 . Plan time for process improvement. Your team members are already swamped with their current project assignments. If you want the group to rise to a higher plane of software development capability, though, you’ll have to invest in process improvement. This means you’ll need to set aside some time from your project schedule for improvement activities. Don’t allocate 100 percent of your team’s available time to project tasks and then wonder why they don’t make any progress on the improvement initiative. Some process changes can begin to pay off immediately, but you won’t reap the full benefit from other improvements until the next project. Process improvement is a strategic investment in the organization. Process improvement is like highway construction: It slows everyone down a little bit for a time, but after the work is done, the road is a lot smoother and the throughput is greater. Respect the learning curve. The time and money you spend on training, self-study, consultants and developing improved processes are part of the investment your organization makes in sustained project success. Recognize that you’ll pay a price in terms of a short-term productivity loss—the learning curve— 10 11 12 Process improvement is like highway construction: It slows everyone down a little bit for a time, but after the work is done, the road is a lot smoother and the throughput is greater. 13
  • 6. 6Karl Wiegers “Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058 can handle three or four such tasks. There’s just too much friction associated with multitasking. Some people multitask more efficiently than others, even thriving on it. But if certain of your team members thrash when working on too many tasks at once, set clear priorities and help them do well by focusing on just one or two objectives at a time. Build training time into the schedule. Estimate how much time your team members spend on training activities each year and subtract that from the time available for them to work on project tasks. You probably already subtract out average values for vacation time, sick time and other assignments; treat training time the same way. Recognize that the high-tech field of software development demands that all practitioners devote time to ongoing education, both on their own time and on the company’s time. Arrange just-in-time training when you can schedule it, as the half- life of new technical knowledge is short unless the student puts the knowledge to use promptly. Attending a training seminar can be a team- building experience, as project team members and other stakeholders hear the same story about how to apply improved practices to their common challenges. Record estimates and how you derived them. When you prepare estimates for your work, write down those estimates and document how you arrived at each of them. Understanding the assumptions and approaches used to create an estimate will make them easier to defend and adjust when necessary. It will also help you improve your estimation process. Train the team in estimation methods, rather than assuming that every software developer and project leader is naturally skilled at predicting the future. Develop estimation procedures and checklists that people throughout your organization can use. The Wideband Delphi method is an effective group estimation technique. This technique asks a small team of experts to anonymously generate individual estimates from a problem description 14 15 and reach consensus on a final set of estimates through iteration. Participation by multiple estimators and the use of anonymous estimates to prevent one participant from biasing another make the Wideband Delphi method more reliable than simply asking a single individual for his best guess5 . Use estimation tools. Many commercial tools are available to help project managers estimate entire projects. Based on equations derived from large databases of actual project experience, these tools can give you a spectrum of possible schedule and staff allocation options. They’ll also help you avoid the “impossible region,” combinations of product size, effort and schedule where no known project has been successful. The tools incorporate a number of “cost drivers” you can adjust to make the tool more accurately model your project, based on the technologies used, the team’s experience and other factors. You can compare the estimates from the tools with the bottom-up estimates generated from a work breakdown structure. Reconcile any major disconnects so you can generate the most realistic overall estimate. Plan contingency buffers. Projects never go precisely as planned. The prudent project manager incorporates budget and schedule contingency buffers at the end of phases, dependent task sequences or iterations to accommodate the unforeseen. Use your project risk analysis to estimate the possible schedule impact if several of the risks materialize, then build that projected risk exposure into your schedule as a contingency buffer. An even more sophisticated approach is critical chain analysis, a technique that pools the uncertainties in estimates and risks into 16 If a manager elects to discard contingency buffers, he has tacitly absorbed all the risks that fed into the buffer and assumed that all estimates are perfect, no scope growth will occur and no unexpected events will take place. 17
  • 7. 7Karl Wiegers “Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058 done or not done—nothing in between. Project status tracking is then based on the fraction of the tasks that are completed and their size, not the percentage completion of each task. If someone asks you whether a specific task is complete and your reply is, “It’s all done except…,” then it’s not done! Don’t let people “round up” their task completion status. Instead, use explicit criteria to determine whether an activity truly is completed. Track project status openly and honestly. An old riddle asks, “How does a software project become six months late?” The rueful answer is, “One day at a time.” The painful problems arise when the project manager doesn’t know just how far behind (or, occasionally, ahead) of plan the project really is. Surprise, surprise, surprise. If you’re the PM, create a climate in which team members feel it is safe for them to report project status accurately. Run the project from a foundation of accurate, data-based facts, rather than from the misleading optimism that can arise from the fear of reporting bad news. Use project status information and metrics data to take corrective actions when necessary and to celebrate when you can. You can only manage a project effectively when you really know what’s done and what isn’t, what tasks are falling behind their estimates and why and what problems, issues and risks remain to be tackled. The five major areas of software measurement are size, effort, time, quality and status. It’s a good idea to define a few metrics in each of these categories. Instilling a measurement culture into an organization is not trivial. Some people resent having to collect data about the work they do, often because they’re afraid of how managers might use the measurements. The cardinal rule of software metrics is that management must never use the data collected to either reward or punish the individuals who did the work. The first time you do this will be the last time you can count on getting accurate data from the team members. a rational overall contingency buffer6 . Your manager or customer might view these contingency buffers as padding, rather than as the sensible acknowledgment of reality that they are. To help persuade skeptics, point to unpleasant surprises on previous projects as a rationale for your foresight. If a manager elects to discard contingency buffers, he has tacitly absorbed all the risks that fed into the buffer and assumed that all estimates are perfect, no scope growth will occur and no unexpected events will take place. Sound realistic to you? Of course not. Better to deal with reality—however unattractive—than to live in Fantasyland. TRACKING YOUR PROGRESS Record actuals and estimates. Unless you record the actual effort or time spent on each project task and compare them to the estimates, your estimates will forever remain guesses. If you write down what actually happened today, that becomes historical data tomorrow. It’s really not more complicated than that. Each individual can begin recording estimates and actuals, and the project manager should track these important data items on a project task or milestone basis. In addition to effort and schedule, you could estimate and track the size of the product, in terms of requirements, user stories, lines of code, function points, GUI screens or other units that make sense for your project. Count tasks as complete only when they’re 100 percent complete. We give ourselves a lot of partial credit for tasks we’ve begun but not yet fully completed: “I thought about the algorithm for that module in the shower this morning and the algorithm is the hard part, so I’m probably about 60 percent done.” It’s difficult to accurately assess what fraction of a sizable task has actually been finished at a given moment. One benefit of using inch-pebbles (see Practice #6) for task planning is that you can break a large activity into a number of small tasks (inch- pebbles) and classify each small task as either 18 19 An old riddle asks, “How does a software project become six months late?” The rueful answer is, “One day at a time.” 20
  • 8. 8Karl Wiegers “Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058 LEARNING FOR THE FUTURE Conduct project retrospectives. Retrospectives (also called postmortems and post- project reviews) provide an opportunity for the team to reflect on how the last project, phase or iteration went and to capture lessons learned that will help enhance your future performance. During such a review, identify the things that went well, so you can create an environment that enables you to repeat those success contributors. Also look for things that didn’t go so well, so you can change your approaches and prevent those problems in the future. In addition, think of events that surprised you. These might be risk factors to look for on the next project. Finally, ask yourself what you still don’t understand about the project, so you can try to learn how to execute future work better. It’s important to conduct retrospectives in a constructive and honest atmosphere. Don’t make them an opportunity to assign blame for previous problems7 . It’s a good idea to capture the lessons learned from each retrospective exploration and share them with the entire team and organization. This is a way to help all team members, present and future, benefit from your experience. 21 References 1. Chapter 4 of Practical Project Initiation presents a tutorial on defining project success criteria. 2. Wiegers explains this idea more fully in his book Creating a Software Engineering Culture (Dorset House, 1996). 3. See Chapter 5 of Practical Project Initiation for more about defining product release criteria. 4. See Chapter 6 of Practical Project Initiation for an overview of software risk management. 5. Chapter 11 of Practical Project Initiation presents a tutorial on the Wideband Delphi estimation method. 6. Chapter 10 of Practical Project Initiation is all about contingency buffers. 7. Chapter 15 of Practical Project Initiation describes the project retrospective process and provides a worksheet to help you plan your next retrospective. The 21 project management best practices won’t guarantee your project a great outcome. They will, however, help you get a solid handle on your project and ensure that you’re doing all you can to make it succeed in an unpredictable world.
  • 9. 9Karl Wiegers “Project Management Best Practices” www.jamasoftware.com | 1.800.679.3058 Karl has provided training and consulting services worldwide on many aspects of software development, management and process improvement. He has authored 5 technical books, including Software Requirements, and written more than 175 articles. Prior to starting Process Impact in 1997, he spent 18 years at Eastman Kodak Company. His responsibilities there included experience as a photographic research scientist, software applications developer, software manager, and software process and quality improvement leader. Karl has led process improvement activities in small application development groups, Kodak’s Internet development group, and a division of 500 software engineers developing embedded and host-based digital imaging software products. http://www.processimpact.com. ABOUT JAMA SOFTWARE ABOUT KARL WIEGERS From concept to launch, the Jama product delivery platform helps companies bring complex products to market. By involving every person invested in the organization’s success, the Jama platform provides a structured collaboration environment, empowering everyone with instant and comprehensive insight into what they are building and why. Visionary organizations worldwide, including SpaceX, The Department of Defense, VW, Time Warner, GE, United Healthcare and Amazon.com use Jama to accelerate their R&D returns, out-innovate their competition and deliver business value. Jama is one of the fastest-growing enterprise software companies in the United States, having exceeded 100% growth in each of the past four years, during which time both Inc. and Forbes have repeatedly recognized the company as a model of responsible growth and innovation. For more information please visit http://www.jamasoftware.com.