Professional Documents
Culture Documents
Software Project Management: Chapter - 1
Software Project Management: Chapter - 1
Unit 2
PROJECT MANAGEMENT & PLANNING
2
Introduction
Software project management is an activity crucial to the success
of software projects.
Software products are more complex entities in which defects are
mostly discovered during development.
Software changes are limited to changes in programs and the
volume of change depends on understanding requirements of
customers and developers.
In the current scenario, people working on a project to develop
software are geographically distributed; hence, proper
coordination and communication management is required among
them.
Introduction
Due to the lack of domain knowledge certain tools are needed for
project size estimation, planning, software development, and so
on.
Quality software can only be produced if a systematic process
and appropriate techniques are followed for the development of
software.
It is observed that several software projects run behind schedule,
over budget, and fail to meet the customer requirements.
In a software company, many software projects run concurrently;
they share resources and their activities are synchronized for
optimal use of resources.
Goal of SPM
People Process
Software
project
management
Product Project
Project
People
Senior Managers
Project Managers
Programmers
Support Staff
Customers
End Users
Project Sponsors
Competitors
Suppliers
Process
Project Management
Each of these knowledge areas has some processes for its execution in
order to achieve an effective project management program.
Project management skills include:
General Management
Human Resource Management
Procurement Management
Communication Management
Risk Management.
Project management tools and techniques assist in carrying out the
activities of project managers.
Project Failures
Project Success
Strong support from the top management
A sound methodology for the project
Tactical and technical leadership by competent people
User involvement in each activity
Experienced project manager
Clearly defined business goals
Clearly defined project scope
Feedback mechanism
Sufficient resource allocation
Adequate communication channels
Troubleshooting capabilities
Reliable estimates
Clearly specified deadlines
Parties sticking to the commitment
Project Management Team
They require skill, knowledge, and tact on the part of the leader.
There must be a strong communication channel among team
members.
Organizations must develop a culture of team building.
Attitudes, interaction patterns, skills possessed by members, methods
used to work on tasks, and individual contributions all contribute to
the team culture.
Every team may be different from the others in the way it handles its
tasks.
A project management team typically consists of Project Manager ,
Configuration Manager , Metrics Analyst, Process Engineer, Quality
Engineer, Scheduler, Technical Leader and so on.
The team performs the overall (administrative) management and risk
management for a single project.
Team Structures
Chief programmer
Librarian Back-up
programmer
Programmers
(a) Structure (b) Communication path
Project manager
Senior
programmers
Junior programmers
Project Organization
Project Format
Top management
Functional Format
Top management
Design
.
Coding .
Testing .
Deployment
Matrix Format
Top management
Product
manager 2
Product
manager n
Is the person who has the overall responsibility for the successful
planning, execution, monitoring, control, and closure of a project.
The project manager is responsible for making decisions, handling
risks, and minimizing uncertainty in product development.
Project managers use project management software to organize their
tasks and workforce.
Project manager is the one who tackles all the project-related issues at
both development and customer site.
During project management, project manager coordinates and
communicates with upper-level managers and lower-level engineers
working on the project.
Defining project scope, goals, and deliverables that support the business goals
Project planning and sequencing
Planning resources and budget
Identifying and resolving the issues and conflicts within the project team
Developing schedules, project timelines, and milestones
Time and cost estimation
Developing and delivering proposals, documentation, and presentations
Identifying and resolving risks
Monitoring and reporting progress reports
Team leadership to coach, mentor, motivate, and supervise the stakeholders
Strategic planning and influencing
Business relationships for project success
Performing scalability, interoperability, and portability analysis
Controlling quality and defining parameters to achieve a quality product
Conducting project postmortems and preparing a recommendations report in order to identify the
successful and unsuccessful project elements
Developing best practices and tools for project execution and management
Managing the client relationship
Role Skills
Leader Personal Skills
Manager Technical Skills
Facilitator Managerial Skills
Mentor Adoptive Skills
Manager : he plays the project administrative role and decision making role
and regularly monitors the project quality , cost and schedules.
38
Personal skills : project manager must be able to motivate and sustain people.
They must be able to address and remove problems inside and outside the
project and the team. Therefore project managers should have a positive
attitude and the ability to define expectations. They should be willing to give
time the members and be respectful and considerate toward the problem of the
team.
Technical Skills : Project manager must have some technical knowledge and
skills to handle the technical problems in the project.
39
Project
Project success Project
initiation
and review definition
Project Project
closing Project life cycle planning
Monitoring Project
and control execution Detailed planning
Project Initiation
The planning phase is considered the most important phase in the project life
cycle.
A more detailed project plan with resource requirements, financial issues,
quality parameters, and acceptance criteria is defined.
This phase minimizes the time, cost, confusion, and rework during the
execution of the project.
It defines the project activities to be performed, the products that will be
produced, and how these activities will be carried out and managed.
This phase also defines the major tasks.
It more accurately estimates the time, resources, and cost required and
provides a framework for management review and control.
Project Execution
In this phase, the deliverables are physically built and presented to the
customer for acceptance.
Project management processes are undertaken to monitor and control
the construction of deliverables in the project.
These processes include time, cost, quality, change, risks issues,
suppliers, customers, and communication management.
Once all the deliverables have been produced and the customer has
accepted the final solution, the project is ready for closure.
Project Closure
Task
Control Development
process
Progress and monitoring
Figure 3.9: Relationship between project life cycle and product life cycle
Configuration Identification
Risk Management
Risk Categories
Risks basically threaten the project, product, and hence the business.
There are basically three categories of risk occurrence:
Project Risks
Products Risks
Business Risks
Risk Management Activities
Risk Planning
Summary
Effective project management is the key to project success and organizational growth.
There are four essential elements of software project management: project, people,
process, and product.
The project manager is a person who has the overall responsibility for project success.
There are three types of team structure: chief programmer, hierarchical, and egoless
team structures.
A project life cycle is a collection of project phases: initiation, planning, execution, and
closure.
It has five project management process groups: initiating, planning, executing,
monitoring and controlling, and closing.
The configuration management process consists of four activities: configuration
identification, configuration change control, configuration status accounting, and
configuration audits.
Risk management is a proactive approach for minimizing the uncertainty and potential
problems associated with a project by providing insights to support informed decision
making.
The risk management process includes risk identification, risk analysis, risk planning,
and risk monitoring and control.