Professional Documents
Culture Documents
Plan Organize
Control Monitor
Software Project Management
uses concepts and techniques for
• Management of people, process, & problems
• Managing S/W product & process through
metrics
• Estimation of efforts, cost, schedule etc.
• Risk analysis for overall project success
• Quality assessment and control
• Software Quality Assurance (SQA)
• Formal Technical Reviews (FTR)
Software Project Management
• Concerned with activities involved in
ensuring that software is delivered on time
and on schedule and in accordance with
the requirements of the organisations
developing and procuring the software.
• Project management is needed because
software development is always subject to
budget and schedule constraints that are
set by the organisation developing the
software.
SPM Objectives
• To explain the main tasks undertaken by
project managers
• To introduce software project management
and to describe its distinctive characteristics
• To discuss project planning and the planning
process
• To show how graphical schedule
representations are used by project
management
• To discuss the notion of risks and the risk
management process
Management activities
• Proposal writing.
• Project planning and scheduling.
• Project costing.
• Project monitoring and reviews.
• Personnel selection and evaluation.
• Report writing and presentations.
Management Commonalities
• These activities are not peculiar to
software project management.
• Many techniques of engineering project
management are equally applicable to
software project management.
• Technically complex engineering
systems tend to suffer from the same
problems as software systems.
Management Spectrum
4 P’s
• People
• Product
• Process
• Project
People
The people management model defines the
following key practice areas for s/w people.
Recruiting/Selection
Performance management
Training
Compensation
Career development
Organization
Work design
Team/culture development
Productivity and People
Software Team Roles
Product
Before planning a project
Product objectives and scope should be
established.
Alternative solutions should be considered.
Technical & management Constraints
should be identified.
Product Dimensions
• Software scope
– context
– information objectives
– function
– performance
• Problem decomposition
– partitioning or problem elaboration
– focus is on functionality to be delivered and the
process used to deliver it
Process Dimensions
• What it is?
• Who does it?
• Why it is important?
• What are the steps?
• What is the work product?
• How to ensure that product has been
built right?
Process Considerations - 1
• Process model chosen must be appropriate
for the:
– customers
– developers
– characteristics of the product
– project development environment
• Project planning begins with conceiving the
concept of the product and the process and
their improvement
Process Considerations - 2
• Each function to be engineered must pass
though the set of framework activities defined
for a software organization
• Work tasks may vary but the common
process framework (CPF) is invariant (e.g.
size does not matter)
• Software engineer’s task is to estimate the
resources required to move each function
though the framework activities to produce
each work product
5WHH Principle
• Why is the system being developed (Scope) ?
• What will be done ?
• When it will be done (Schedule) ?
• Who is responsible for a function?
• Where are they organizationally located?
• How will the job be done technically and
managerially?
• How much of each resource is needed?
Process
Framework activities populated with
different task sets
Tasks milestones
Work products
Quality assurance points
Umbrella activities like
Software quality assurance
Software configuration management
Project
To avoid the problems that jeopardize the
successfulness of the project
Start on the right foot: understand the problem,
set the realistic objects, & expectations, build
the right team etc.
Maintain momentum
Track the progress regularly
Make smart decisions
Conduct a postmortem analysis: Establish a
consistent mechanism to extract lessons learnt
for each project
SPM Framework
• Project Manager
• Team members
• Steering committee members
• Members of interface groups
• Customer
Project Planning
• Planning is the process of determining a
reasonably detailed way to go from inputs
to outputs (achieving requirements)
• A Project plan specifies the following
- What work will be done
- When will it be accomplished
- Who will do the work
- How will it be done
- How much will it cost
- How will the status be reported
- How will the progress be reviewed
- In general, How will it be managed
Project Plan should include
• Project objectives
• Customer and Management requirements
• Inputs
• Work Breakdown Structure (WBS)
• Deliverable Breakdown Structure
• Acceptance Criteria
• Methodology to be used
• Human Resource Requirements
• Dependencies in the plan
Project Plan Contd…
• Estimation
• Risk Analysis
• Project Organization
• Quality assurance approach
• Customer Feedback
• Periodic Reporting and Reviews
• Other Plans and Attachments
Project Monitoring
• Recording Project Data
- Elapsed time
- Work achieved
- Resource Cost
- Resource expanded
- Other factors such as staff turnover, sickness,
training, breakdowns etc
• Comparison with Budget vs Actual
- Cost, Schedule, Resources
• Project reporting
- Product factors
- People factors
- Process factors
- Resource factors
- Environment factors
Project Control
• Types of Review Meetings
- Internal project meetings
- Project steering meetings
- Customer review meetings
- Issue resolution meetings
• Project Evaluation
- Deviation due to performance
- Deviation due to changed objectives
- Risk management issues
• Corrective Actions for Better Results
- Justification of project existence
- Realloaction of resources
- Rescheduling
- Overtimes and costs
Project Liaison
Customer
Steering
Quality
Committee
Supplier Training
Project
Manager
Team
Finance
Members
Resources Legal
A Typical Project Organization
Steering Committee
Customer
Project Manager
Team Members
Project Responsibilities
(Customer)
• Giving requirements and requirement
clarifications
• Providing agreed inputs such as
acceptance criteria, test data, etc.
• Accepting deliverables
Project Responsibilities
(Steering Committee)