Trainees learn how to plan, monitor and control processes for technical personnel, management and clients. The motivation for applying project management techniques to assure project success is also discussed.
Understanding the Pakistan Budgeting Process: Basics and Key Insights
Software Project Management Training
1. Software Project Management
Jason Waterman
Waterman International Software Services
Waterman International Software Services
2. Training Overview
Introduction
Individual Introductions
Expectations of group
I. The Case for Project Management
Exercise #1
II. The Discipline of Project Management
Project Planning
Exercise #2
Project Control
Risk Management
Quality Assurance
Exercise #3
III. Critical Soft Skills for Project Management
Leadership
Teamwork
Communications
Exercise #4
IV. Resources
Waterman International Software Services
3. I. The Case for Project Management
Definitions
"Project Management" (a definition):
[n] The application of knowledge, skills, tools and
techniques to a broad range of activities to meet
the requirements of the particular project.
"Proverb" (a definition):
[n] a condensed but memorable saying embodying
some important fact of experience that is taken
as true by many people.
Waterman International Software Services
4. I. The Case for Project Management
Project Management Proverbs
Any project can be estimated accurately (once it's completed).
The most valuable and least used WORD in a project manager's
vocabulary is "NO".
The most valuable and least used PHRASE in a project manager's
vocabulary is "I don't know".
Nothing is impossible for the person who doesn't have to do it.
The more desperate the situation the more optimistic the situatee.
If it looks like a duck, walks like a duck and quacks like a duck, it
probably is a duck.
Of several possible interpretations of a communication, the least
convenient is the correct one.
What you don't know hurts you.
The conditions attached to a promise are forgotten, only the promise
is remembered.
Waterman International Software Services
5. I. The Case for Project Management
Project Management Proverbs
There's never enough time to do it right first time but there's always
enough time to go back and do it again.
The bitterness of poor quality last long after the sweetness of making
a date is forgotten.
I know that you believe that you understand what you think I said but I
am not sure you realize that what you heard is not what I meant.
The sooner you begin coding the later you finish.
What is not on paper has not been said.
If you fail to plan you are planning to fail.
A little risk management saves a lot of fan cleaning.
A badly planned project will take three times longer than expected - a
well planned project only twice as long as expected.
The more you plan the luckier you get.
Waterman International Software Services
6. I. The Case for Project Management
Dilbert
Waterman International Software Services
7. I. The Case for Project Management
“The Mythical Man-Month”
According to Fred Brooks in "The Mythical Man-Month":
Creating a project plan requires making hundreds of mini-
decisions which bring clarity to a project!
The project plan communicates the decisions to others!
The project plan serves as a checklist for the project manager!
80% of a project manager's time is spent on communication.
The other 20% is spent on activities which require data. The
project plan should meet this need!
The project plan encapsulates much of the project manager's
work. If this is recognized at the beginning of a project, then
the project manager can approach it as a friendly tool rather
than an annoying overhead!
Waterman International Software Services
8. I. The Case for Project Management
Cost-Schedule-Quality Tradeoff
Project Success: The Triple Constraint
Project Success = “On time, on budget, high quality”
Quality of project is dependent on the time and money we are
willing to spend.
After balance between these two variables is made, a change
to one will affect the other two.
Waterman International Software Services
9. I. The Case for Project Management
Strategic Advantage – Time to Market
The firm that can consistently deliver the best product to the
market window has the advantage.
Hardware Example:
Moore’s Law
Software Example:
Bringing New Software
Products to Market
Waterman International Software Services
10. I. The Case for Project Management
Strategic Advantage – Reducing Risk
Project management techniques are methods for reducing
uncertainty and, therefore, improving the odds of success. Risk
can be reduced by:
Forecasting the future Early problem recognition
Improved communication
Waterman International Software Services
11. I. The Case for Project Management
Strategic Advantage – Proven Techniques
This discipline uses proven techniques to select, plan, and
execute projects to reduce the cost and schedule required
and to improve the quality of the result.
Work Breakdown Structure (WBS)
Gantt Charts
Critical Path Analysis
SEI CMMI process-based management
PMI PMBOK
Quantitative Risk Analysis
Cost Benefit Analysis
Activity Resource Estimating
Earned Value Analysis
Waterman International Software Services
12. I. The Case for Project Management
Strategic Advantage – Hard & Soft Factors
It is equally important to recognize that both the soft and
hard side of project management are mutually dependent.
Structured Methods
[video example]
Human Factors
[video example]
Waterman International Software Services
13. I. The Case for Project Management
Project Management Maturity – SEI CMM
The Software Engineering Institute’s (SEI) Capability Maturity
Model (CMM) represents the most widely accepted set of
capabilities (or best practices) that should be applied to software
projects.
Level 1: Initial
Software development process is ad-
hoc.
Project success relies on individual
effort.
Level 2: Repeatable
Consistent project management
process in place to plan and manage
the project.
Processes also include Quality
Assurance and Configuration
Management.
Processes enable consistency among
similar projects.
Waterman International Software Services
14. I. The Case for Project Management
Project Management Maturity
Project Size
Processes should be tailored according to project size. Larger
projects will need more detailed project planning than smaller
projects. Smaller projects cannot “afford” the same level of
processes as larger projects.
Waterman International Software Services
15. II. The Discipline of Project Management
Project Phase Overview
Project Definition Risk Management
Project Planning Quality Assurance
Project Control
Waterman International Software Services
16. II. The Discipline of Project Management
Project Definition - Overview
Project Definition
Documents the goals and constraints necessary for managing
the project.
The foundation for project success because it establishes a
common understanding of the goals and constraints of the
project. Without it, the project team is shooting at a moving
target.
Components:
Purpose
Scope
Deliverables
Cost and schedule estimates
Project Objectives
Identify Stakeholders
Define Responsibilities
Communication plan
Waterman International Software Services
17. II. The Discipline of Project Management
Project Definition – Communications Plan
Communications Plan
#1 cause of project failure is lack of communication with
stakeholders.
A written strategy for getting the right information to the right
people at the right time.
Suggested guidelines:
Use short, concise status reports
Escalation procedure
Regular status meetings
Be consistent with other projects
Use multiple channels of communication:
Websites (Wikki’s)
Written status reports
Conference calls
Waterman International Software Services
18. II. The Discipline of Project Management
Project Planning – Planning Model Overview
Planning Model Steps
1. Develop a Work Breakdown Structure (WBS)
Output: all project tasks
2. Estimate the Work Packages
Output: duration estimates
3. Develop an initial schedule baseline
Outputs: realistic schedule, resource forecast
4. Develop the budget
Output: detailed cost estimate
Following a results-based process is critical to achieving
successful projects!
Waterman International Software Services
19. II. The Discipline of Project Management
Project Planning – Step 1. Develop a WBS
Work Breakdown Structure (WBS)
The WBS simply breaks down one large piece of work into many small
manageable tasks (work packages).
A WBS can be graphical or outline form:
SW-Project
Function1 Function 2 Function n
PM CM QM
Subfunction Subfunction Subfunction subfunction subfunction WP
n1 n2 nn
WP WP WP WP WP
The “obvious” process of creating a WBS has a number of benefits:
Define Project Scope
Clarify Tasks & Responsibilities
Provide More Accurate Estimates
Use for Project Tracking
The WBS is used as a basis for the project schedule and all software
estimations. Therefore, creation of the WBS must be one of the first
activities performed by the software project manager.
Waterman International Software Services
20. II. The Discipline of Project Management
Project Planning – Step 1. Develop a WBS
Work Package Size
The most common problem with projects that are dramatically over schedule
is that work packages are so large that they can spin out of control.
If a work package is too large then its progress can be difficult to track. May
not find out task is not on schedule until it’s too late.
Work Package Size Guidelines:
8/80 Rule: no task should be smaller than 8 labor hours or larger than
80. This keeps the work packages durations effectively to between 1 and
10 days long.
“If it’s Useful” Rule: reasons to consider breaking a task down further:
The task is easier to estimate
The task is easier to assign
The task is easier to track
Waterman International Software Services
21. II. The Discipline of Project Management
Project Planning – Step 2. Estimate Work Packages
Task Estimating
To determine the cost and duration of an entire project, it is necessary to
build a cost and schedule estimate for each work package. This is called
bottom-up estimating.
Failing to estimate tasks can lead to:
Cost overruns
Schedule overruns (missing customer deliveries!)
Project failure!
For software projects, effort estimates are the most critical component of
overall project costs. The ability to accurately estimate tasks is directly
reflected in the ability to have profitable projects!
Estimating Pitfalls!
No time to make estimates
Too optimistic estimates
Incomplete estimates
No basis for estimates
Estimates relying on only one person
Assumptions for estimates not documented
Waterman International Software Services
22. II. The Discipline of Project Management
Project Planning – Step 3. Develop Schedule
Initial Project Schedule
Developing a schedule may be one of the most well know, but
unappreciated, of all project management techniques.
It can be particularly tedious and time consuming when done for large
projects.
Yet, it is the key to establishing realistic schedules and meeting them.
Schedule Creation Process:
1. Identify major milestones
2. Sequence the tasks
3. Assign & level resources
4. Define schedule baseline
PERT network diagrams are most common example of project
scheduling methods.
Waterman International Software Services
23. II. The Discipline of Project Management
Project Planning – Step 3. Develop Schedule
1. Identify Major Milestones
Milestones mark significant project events that are used to indicate project
progress and transition from one project phase to another.
Customer milestones
Project kickoff
Requirements freeze
Customer deliveries
Internal organization milestones
Project architecture defined
Internal software delivery for test
Once milestone dates have been agreed upon, it is often very difficult to
change them.
Waterman International Software Services
24. II. The Discipline of Project Management
Project Planning – Step 3. Develop Schedule
2. Sequence the Tasks
The sequence in which detailed tasks (work packages) are performed and
the dependencies between these tasks.
Task relationships should reflect only sequence constraints between work
packages, not resource constraints.
Most Common Task Relationships
• Finish-to-Start: the first task must M T W T F M T W T F
finish before the next one can start.
A
B
M T W T F M T W T F
• Start-to-Start: multiple tasks may
A start at the same time (parallel
B tasks).
M T W T F M T W T F
• Finish-to-Finish: a task is can only A
be finished when another task is
finished. B
Waterman International Software Services
25. II. The Discipline of Project Management
Project Planning – Step 3. Develop Schedule
3. Assign & Level Resources
Assign team members to individual tasks (work packages) and adjust
schedule based on resource constraints.
The goal of resource leveling is to optimize the use of people assigned to
the project.
When at all possible, it is most productive to have consistent, continuous
use of the fewest resources possible. Avoid repeatedly adding and
removing people time and again throughout the project.
It is important to realize that there is always a learning curve for new team
members. If new people are on a project for only a short term, they may
not get past the learning curve, which means they never actually perform
productive work!
Resource Leveling Process:
1. Identify the resource peaks with the initial schedule.
2. At resource peaks, delay non-critical tasks within their schedule float.
3. To eliminate remaining peaks, reevaluate the work package estimates.
Waterman International Software Services
26. II. The Discipline of Project Management
Project Planning – Step 3. Develop Schedule
4. Schedule Baselining
A schedule baseline is a “snapshot”
in time of the project schedule. This
creates a reference point against
which the project may be compared
against.
Baselines are used to track the progress of the project against cost and
schedule goals.
It is important to realize that the project schedule will change throughout
the life of a project. How you “manage” the schedule is important in
maintaining control of the project.
When should you baseline? There are many variables that may determine
this. Recommended baseline points are:
Project quotation
Shortly have the actual project start
After major scope changes to the project
Waterman International Software Services
27. II. The Discipline of Project Management
Project Planning – Step 4. Develop Budget
Building the Detailed Budget (Cost) Estimate
Project budget (cost) estimates may be “ballparked”, calculated through
parametric formulas, or determined through apportioning. These types of
top-down estimates are often useful in the process of project quotation.
However, they are not accurate enough for managing a project.
The detailed cost estimate becomes the standard for keeping costs in line.
Everyone – customer, management, project manager, and team – is
better served when a cost target is realistically calculated from a detailed
plan.
During the project, this detailed cost information will help in controlling the
project, monitoring the progress, identifying problems, and finding
solutions.
Waterman International Software Services
28. II. The Discipline of Project Management
Project Planning – Step 4. Develop Budget
Calculating a Detailed Budget (Cost)
Since the primary costs for software are related to the total labor cost, the
cost calculation is usually pretty straightforward and may be calculated as
follows:
Total Labor Costs = Σ (cost of work package X)
= Σ (effort of work package X * cost per unit of effort)
The work package efforts are based on the estimations already made.
The cost per unit of effort (or labor cost) is based on the individual
organization. For example, a company may have an internal labor rate of
$50/hour which includes the salary and overhead costs averaged over all
employees.
A simple spreadsheet containing all the WBS tasks (work packages) may
be use to calculate the detailed project budget.
Although the primary project cost may be due to labor costs, do not leave
out other potential project costs. These costs may vary considerable by
project type and industry, but may include:
Software tool costs
Purchase of 3rd party software components
Travel costs
Waterman International Software Services
29. II. The Discipline of Project Management
Project Control – Overview
Project Control Leads to Project Success!
Some projects need little or no monitoring, while others must be measured
every step of the way.
Project size and complexity dictate the appropriate amount of control.
Increasing effort to
control is justified
Knowing the difference between a project that merely needs to be planned
and scheduled and a project that requires regular monitoring and
corrective action is a skill gained primarily through experience with prior
projects.
Waterman International Software Services
30. II. The Discipline of Project Management
Project Control – The Control Process
The Control Process
The project control process is designed to detect problems early, while
they are still small enough to correct.
Project Control Process:
1. Develop a control plan
2. Monitor & report progress and evaluate deviations from plan.
3. Take corrective action where necessary.
Deming PDSA Cycle
Waterman International Software Services
31. II. The Discipline of Project Management
Project Control – Step 1: Plan
Developing a Control Plan
What?
Plan what is to be measured and how often. This depends on the size,
scope, and complexity of project, but in general should include:
Requirements
Schedule (Milestones)
Resource Plan
Budget (Costs)
You must baseline the items that you wish to measure. Without a fixed
unit of measure, it is impossible to objectively measure progress or
deviations.
When?
Define regular intervals for measuring
project progress
Periodic Project Meetings
Milestones
Waterman International Software Services
32. II. The Discipline of Project Management
Project Control – Step 2: Monitor & Analyze
Monitor & Reporting Project Progress
Subjective assessment: a “gut feeling” from the project manager or team
members.
Many a project has fallen into the trap of subjective assessment of
progress. Such assessments tend to be overly optimistic early in the
project.
Objective assessment of project progress requires collecting and
reporting of data. Two types of project data should be collected and
reported:
Actual Project Data: includes actual time,
budget, and resources used, along with
completion status of tasks.
Unanticipated Changes: includes changes
to budget, schedule, or scope that are not
results of project performance.
Waterman International Software Services
33. II. The Discipline of Project Management
Project Control – Step 2: Monitor & Analyze
Issues Management
“Issues” will regularly arise during a project.
Every project needs to track the status of these issues to make sure that
they are resolved before they have a negative effect on cost, schedule, or
quality.
Maintaining an issues list which is regularly reviewed is a common way to
track issues. Typically, an issues list includes:
Description of Issue
Date Issue logged
Current issue status
Person Responsible for Issue resolution
Current actions being pursed
Waterman International Software Services
34. II. The Discipline of Project Management
Project Control – Step 2: Monitor & Analyze
Controlling Project Changes
• Every kind of project faces unanticipated changes.
• Changes must be controlled otherwise they can lead to “out of control”
projects in terms of requirements, schedule, costs, and quality.
• The specific change management process should fit the size and
complexity of the project.
• Approving changes through a change control process may seem
bureaucratic and inefficient, but in reality, it saves time and money.
Basic Change Control Process:
1. Define the stakeholders who must approve changes.
2. All changes must be analyzed by these stakeholders to examine impact
on requirements, cost, and schedule.
3. Decisions of stakeholders must be documented and available to all.
Waterman International Software Services
35. II. The Discipline of Project Management
Project Control – Step 2: Monitor & Analyze
Evaluating Deviations – Technical Evaluation Methods
Earned Value Analysis (EVA)
Schedule Variance
Cost Variance
Waterman International Software Services
36. II. The Discipline of Project Management
Project Control – Step 3: Act!
Corrective Actions
• When the project progress deviates significantly from what is expected,
corrective actions are needed.
• Deciding when and what corrective action to take is very difficult even for
experienced project managers.
• The right thing to do depends on the situation and the industry.
Typical Corrective Action Strategies:
• Re-baseline with Better Estimates
• Crash the Schedule
• Increase Productivity by Using Experts from within the Firm
• Increase Productivity by Using Experts from Outside the Firm
• Shift Project Work to the Customer
• Reduce the Project Scope
• Search for technical alternatives
• Have the team work overtime
• Improve communication
• Increase Motivation
• Phased product delivery
Waterman International Software Services
37. II. The Discipline of Project Management
Risk Management - Overview
Risk Management Overview
A Definition: risk management is the means by which uncertainty is
systematically managed to increase the likelihood of meeting project
objectives.
The purpose of risk management is reduce the project unknowns and
reduce the potential for damage.
Known Risks
Unknown Risks
In the same way that the project schedule is continuously updated and
adjusted throughout the project, the risk management plan is continuously
updated.
Risk is an inherent, though often unrecognized, factor in the triple
constraint relationship. Most strategies to cut schedule and cost increase
risk.
Waterman International Software Services
38. II. The Discipline of Project Management
Risk Management – 4 Step Process
Risk Management Process
Identify
Risks
Risk Monitoring Evaluate
and Control Risks
Implement Risk
Response
Waterman International Software Services
39. II. The Discipline of Project Management
Risk Management – Step 1: Identify Risks
Risk Identification Techniques
Asking the stakeholders
Checking against a list of possible risks
(risk profile)
Learning from similar past projects
Analyzing the schedule and budget
Waterman International Software Services
40. II. The Discipline of Project Management
Risk Management – Step 2: Evaluate Risks
Risk Evaluation
Defining the Risk: High
Red Risk
(>75%)
Condition
Probability
Medium
Consequence (25%...75%)
Yellow Risk
Probability
Low
Impact (<25%)
Green Risk
1 2 3
Low Medium High
Severity (Impact)
• Analyzing the Risk (based on probability theory):
Probability x Impact = expected value
Risk tracking
[show example of risk tracking sheet]
Waterman International Software Services
41. II. The Discipline of Project Management
Risk Management – Step 3: Implement Risk Response
Risk Response Strategies
Accept the Risk: decide not to action to deal with risk or unable to identify
a suitable risk response.
Avoid the Risk: take action avoid the risk and possible resulting project
impact.
Monitor the Risk and Prepare Contingency Plans
Mitigate the Risk: take action to reduce the probability or impact of a risk
event.
Transfer the Risk: shift impact of risk occurrence to a 3rd party.
Waterman International Software Services
42. II. The Discipline of Project Management
Risk Management – Step 4: Risk Monitor & Control
Continuous Risk Management
No matter how thorough the initial risk planning activities, ultimately it is
the ongoing risk management activities that produce the results.
On-Going Risk Management Process:
1. Ongoing risk identification and analysis
2. Report risk status to management periodically
3. Execute risk response plan tasks
Waterman International Software Services
43. II. The Discipline of Project Management
Quality Assurance - Motivation
Motivation for Quality Assurance
“We delivered a knock-their-socks-off product but were completely
surprised when the customer blew up!”
You delivered what the customer asked for but not what they
needed!
“The weak link in your organization was small in comparison to the whole
project.”
However, that small, weak link brought a huge project to a dead
stop!
“Your programmers are constantly frustrated because they want to build
the absolute best (complex, finely tuned, and “worth” the added cost).”
Your customers are saying that quality means simpler and less
expensive!
Waterman International Software Services
44. II. The Discipline of Project Management
Quality Assurance – What is Quality?
What is Quality?
Quality is conformance to technical requirements and
conformance to unexpressed social or human interaction
requirements.
For the project manager, it is important to define, track, and
improve on both the customer’s expressed/contracted
requirements and the customer’s unexpressed requirements.
Problems arise when we focus on technical requirements –
product features and specifications – before clearly understanding
the intended business requirement!
Waterman International Software Services
45. II. The Discipline of Project Management
Quality Assurance – 4 Components of QA
The Four Components Quality Assurance
1. Establishing customer requirements.
2. Designing and managing systems and processes.
3. Continuously improving processes and systems in a cost-effective
manner.
4. Innovating – creating new ways to satisfy customers.
Waterman International Software Services
46. II. The Discipline of Project Management
Quality Assurance – Principles & Techniques
Useful QA Principles & Techniques for Software Projects
Make sure the customer requirements are understood – both expressed &
implied.
Apply Lessons Learned: it is human to make a mistake once, but there
are no excuses for repeating the same mistakes!
Test early and often!
Use 4-Eyes principle: all work should be reviewed or tested by someone
else other than the developer.
“There may not be enough time to do it right the first time, but there is
always time to go back and do it again!”
Quality is everyone’s responsibility!
Take pride in your work!
Waterman International Software Services
47. II. The Discipline of Project Management
Summary – Key Tasks for Project Managers
Summary – Key Tasks for Project Managers
Project Planning, Tracking, and Oversight
• Establish a reasonable project schedule and keep it up-to-date; take care
that the team is following the plan.
• Perform regular project meetings and document tasks & decisions which
are accessible to all team members.
• Conduct a project kick-off with all key project stakeholders.
Risk Management
• Perform continuous risk management throughout the project life.
Quality Assurance
• Make sure the customer requirements are understood – both expressed &
implied.
• Require tested software for each customer delivery. Postpone deliveries if
serious is not possible in time. Inform the customer early of possible
software problems or delays.
Waterman International Software Services
48. III. Critical Soft Skills for PMs
The “Art” of Leadership
The discipline or “science” of project
management provides an essential tool
set.
The “art” of leadership provides the human
interaction component necessary to get
things done.
Both the art and the science must come together to achieve
successful projects.
• The single greatest factor that can make or break a software
development project is the degree of discipline that the
project’s leadership exercises.
“Leadership is action, not position”
Waterman International Software Services
49. III. Critical Soft Skills for PMs
Leadership Skills
Communicate a vision
Motivate and inspire the team
Build trust within the team
Influence stakeholders beyond the project team
Make abstract things concrete
Demonstrate persistence and determination
Manage and resolve conflict
Know when to make a decision
Maintain the big picture perspective while organizing details
Waterman International Software Services
50. III. Critical Soft Skills for PMs
Characteristics of Successful Teams
Optional
Participative
Leadership
Cooperative Satisfaction
Trust
Relationships
Early in Team
Balanced Formation
Valued Diversity Managed Conflict
Participation
Defined Roles & Open and Clear Effective Foundation
Clear Goals
Responsibilities Communication Decision Making
Expert model of 10 main characteristics of effective,
successful, high-performance teams.
Waterman International Software Services
51. III. Critical Soft Skills for PMs
Virtual / Distributed Teams
A virtual or distributed team is a team that is separated
geographically so that their interactions are almost always
mediated by electronic communication and collaboration
technology.
Critical Success Factors for Virtual Teams
• Standard organizational and team processes.
• Use of electronic collaboration and communication
technology.
• Organizational culture
• Team-leader and team-member competencies
Waterman International Software Services
52. III. Critical Soft Skills for PMs
Effective Communications
#1 cause of project failure is bad communication between project
stakeholders.
How to Communicate more Effectively
• Communications should never be assumed. All communications
should be verified!
• Avoid putting emotions in email. It almost always leads to bad
results!
• Write it down! Requirements, decisions, issues must be written.
Faded ink is more clear than a sharp memory after a long
weekend!
• Don’t just rely on emails! Email becomes extremely inefficient
when trying to hold a conversation. Verbal communications
between team members not only may sometimes be more
efficient, but also builds the human element of trust.
• Graphical requirements are usually more effective than words.
• Communicating more effectively often means learning to listen
more effectively.
• Do not wait until a milestone is missed. Communicate as early as
possible when there is still a chance to take corrective action.
Waterman International Software Services