0% found this document useful (0 votes)
10 views59 pages

Chapter 3 Se

Chapter 3 discusses the importance of software project management in ensuring the successful development of quality software products. It outlines the roles of people, processes, and products in project management, emphasizing the need for effective communication and coordination among geographically distributed teams. The chapter also highlights the project life cycle phases and the significance of project management knowledge areas in achieving project success.

Uploaded by

anay kamplikar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views59 pages

Chapter 3 Se

Chapter 3 discusses the importance of software project management in ensuring the successful development of quality software products. It outlines the roles of people, processes, and products in project management, emphasizing the need for effective communication and coordination among geographically distributed teams. The chapter also highlights the project life cycle phases and the significance of project management knowledge areas in achieving project success.

Uploaded by

anay kamplikar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

Chapter 3

Software Project Management


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
2 communication management is required among
them.
Goal of Software Project Management
Development of quality software is the primary
objective of software project management.
The goal of software project management is to
enable a group of people to work efficiently on a
project, using a systematic process, in order to
produce a quality software product.
Software project management uses a more
established and specialized approach as compared
to general project management.

3
Project Management Essentials

People Process

Software
project
management

Product Project

4
Project
A project is a temporary endeavor with defined
starting and ending deadlines, roles and
responsibilities, conditions, budgets and plans,
undertaken to accomplish aim and objectives.
Each project has a unique purpose even if there
are multiple projects in a single domain.
Projects are basically temporary in nature due to
their flexibility to change.
Uncertainties are involved in a software project.
Requires resources (hardware, software, and
human resources), typically from different areas.

5
People
People (or stakeholders) in a project are those
who are either involved in or are affected by the
project.
Each person in the project has certain roles and
responsibilities according to their skill sets.
They should be motivated, trained, rewarded,
deployed, and retained as and when required to
improve their capabilities.
Poor management sometimes leads to project
failures.

6
People Involved in Project
Senior Managers
Project Managers
Programmers
Support Staff
Customers
End Users
Project Sponsors
Competitors
Suppliers

7
Process
A software process describes the characteristics
and organization of activities in order to produce
software.
The general activities of software processes
include
o Definition
o Development
o Implementation
The selection of an appropriate software process
model according to the project is a challenge for
the project manager.
8
Process models ultimately affect the product
Product
A product is the final outcome of a project.
It is produced with an effective project
management process.
The project manager must determine the
requirements and the expected outcomes at the
beginning of the project.
Project scope of the product must be clearly
defined, which helps us to produce a quality
product.
Project scope is refined into discrete functional
units and the development schedule is planned
for each functional units.
The quality of the product also depends on the
9 process being used for product development.
Project Management
Project management is the application of
knowledge, skills, tools, and techniques for
performing project activities in order to satisfy the
expectations of the stakeholders from a project.
Project management is necessary to find the
pitfalls and create outlets to avoid the unintended
consequences of the project.
Software project management is the key to
successful delivery of software projects as per
customers’ expectations.

10
Project Management Knowledge Areas
The knowledge areas are the competencies of the
process, practice, tools, and techniques that the
project managers must have for managing the
projects.
The main knowledge areas for project management
are:
o Scope
o Time
o Cost
o Quality
o People

11
o Communications
o Risk,
Project Management Knowledge Areas
Each of these knowledge areas has some
processes for its execution in order to achieve an
effective project management program.
Project management skills include:
o General Management
o Human Resource Management
o Procurement Management
o Communication Management
o Risk Management.
12
Project management tools and techniques assist in
carrying out the activities of project managers.
Project Failures
Inability to clearly understand customer needs
Lack of user involvement
Unrealistic expectations
Lack of top management support
Incomplete requirements and specifications
Lack of resources (hardware, software, and people)
Lack of good planning
Technical incompetence
Changing business needs and requirements
Changes are managed poorly
Lack of best practices
The chosen technology changes
Ill-defined responsibility of team members
13 Lack of communication among team members
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
14 Parties sticking to the commitment
Project Management Team
The people who work together on a project are
referred to as a team.
A team is a cohesive group of one or more related
roles and/or subordinate teams that collaborate to
perform a cohesive set of tasks.
The achievement in the project depends on the
collective effort of top-level management, the
project manager, and the members of the project
team.
Teamwork refers to a group of people working
together in order to achieve a common goal.
Software work products are the results of
15 teamwork.
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.
16
The team performs the overall (administrative)
Team Structures
A team structure could consist of a number of
teams, each with a team leader.
Each team and its members have an identified
expertise or skill that is needed to complete the
tasks.
Usually, the team is headed by the project
manager.
There are three types of team structure:
o Chief Programmer Team Structure
o Hierarchical Team Structure
17 o Egoless Team Structure
Chief Programmer Team Structure
Chief programmer team structure Consists of :
o A Chief Programmer,
o Programmers,
o Backup Programmers
o A Programming Librarian
It is a centralized automatic structure in which all
information passes through the chief
programmer.
The chief programmer breaks down the task into
small tasks and assigns them to the programmers
and team members.
18 After the completion of each task, he verifies and
integrates the work products.
Chief Programmer Team Structure

Chief programmer

Back-up
programmer
Librarian
Programmers
(a) Structure (b) Communication path

19
Hierarchical Team Structure
Hierarchical Team Structure Consists of:
o Programmers
o Database Manager
o Network Administrators
o Testers and so on
The project manager is responsible for handling the
project activities.
There will be senior programmers or project leaders
who report to the project manager.
The senior programmers or project leaders will then
be responsible to the project team members.
The project manager will coordinate with the project
20
leaders to solve the problems relating to the project.
Hierarchical Team Structure

Project manager

Senior
programmers

Junior programmers

(a) Structure (b) Communication path

21
Egoless Team Structure
The egoless team structure is also known as the
democratic team structure.
It does not enforce any formal team hierarchy
The manager provides the administrative
leadership.
Leadership rotates among different team
members at different times, which becomes the
responsibility of the individual with the abilities
that are currently needed.
The democratic organization structure leads to
higher morale and job satisfaction.
Consequently, it suffers from less manpower
turnover.
22
People are in different knowledge areas and have
Egoless Team Structure

(a) Structure (b) Communication path

23
Project Organization
There are several methods for allocating tasks to a
team in an organization.
Typical structures are
o Project Format,
o Functional Format
o Matrix Format

24
Project Format
The project development staff members are
divided based on the project for which they work.
Each project has its own team and all the
necessary resources.
The project team is assigned to start and finish the
project.
It will be responsible for planning, requirement
analysis, design, development, testing,
deployment, and maintenance.
The project manager has the decision-making
authority. The longevity of the team depends on
the project duration.
25
Project Format

Top management

Project Project ... Project


team 1 team 2 team n

26
Functional Format
Teams are made on the basis of functional
competency to which they belong.
Different teams perform different tasks of the
project and the work products pass from team to
team till the completion of the project.
For example, requirement analysis will be
performed by the requirement team, design by the
design team, and so on.

27
Functional Format

Top management

Functional groups Project progress

Planning Project team 1

Analysis Project team 2

Design
.
Coding .
Testing .

Deployment

Maintenance Project team n


28
Matrix Format
It is a multidimensional structure which takes the
best of the project format and the functional
format.
The functional structure is designed for each
project and it then proceeds in the project format.
Each development project is assigned to a project
manager.
The project manager participates in most of the
activities of product development.
People with similar specialization are pooled for
work assignments.

29 Each specialist may have to work under several


managers to perform his job.
Matrix Format
Top management

Analysis Design Coding Testing Maintenance

Product Sub Sub Sub Sub Sub


manager 1 projects projects projects projects projects

Product
manager 2

Product
manager n

30
Project Manager
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
31 managers and lower-level engineers working on
the project.
Project Manager’s Activities
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
32
Identifying and resolving risks
Project Manager’s Activities
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
33 Managing the client relationship
Project Manager’s Roles and Skills
Role
o Leader
o Manager
o Facilitator
o Mentor
Skills
o Personal Skills
o Technical Skills
o Managerial Skills
34
o Adoptive Skills
Project Life Cycle
A project life cycle is a collection of project
phases.
A typical project life cycle has four major phases,
o Initiation
o Planning
o Execution
o Closure
A project must successfully complete each project
phase before proceeding to the next phase.

35
Project Life Cycle

Project
Project success Project
initiation
and review definition

Project Project
closing Project life cycle planning

Monitoring Project
and control execution Detailed planning

36
Project Initiation
Project is initiated by defining its purpose and
scope, the justification for initiating it, and the
solution to be implemented.
Once the project is confirmed, a project team is
formally introduced that will work on the client's
project.
A project plan is developed that defines the
critical aspects of the project.
This project plan focuses on the identification of
stakeholders, assumptions, contingencies, and
risks.
Business objectives are set with minor and major
37 milestones and success criteria for the project.
Project Planning
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.
38
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.

39
Project Closure
It is the last major phase of the project life cycle .
The project closure phase puts emphasis on
releasing the final deliverables to the customer,
handing over the project documentation to the
business, terminating supplier contracts, releasing
project resources, and communicating the closure
of the project for all stakeholders.
The organization records the lessons learned in
the project, which will help the future project
teams.

40
Project v/s Product Life Cycle
Project life cycle and product life cycle both are
separate processes used in every organization.
Project is executed to produce a product and product
is the outcome of a project.
The product life cycle starts with a business plan with
several ideas or features to be incorporated in the
software product.
Software product is then developed and installed in
customer site for operation.
During its operational life, it goes through
maintenance activities and finally it is reengineered on
modern platform.
The project life cycle goes through a series of phases
to develop the product.
Project life cycle defines the tasks to be accomplished
41 in each phase and a team is responsible for each phase
defined.
Project Life Cycle v/s Product Life Cycle

Product Operation and


Concept development maintenance Retirement
Product life
cycle

Initiatin Planning Executing Closing


g Project life cycle

Task

Control Development
process
Progress and monitoring

42
Software Configuration Management
Software configuration management is concerned
with identification, tracking, and change of control of
software configuration.
Software configuration management (SCM) or
configuration management (CM) is the discipline of
identifying the configuration of a system at any time
for the purpose of systematically controlling changes
to the configuration throughout the system life cycle.
The purpose of CM is to establish and maintain the
integrity of a software product throughout software
the development life cycle.
The CM process improves product visibility, product
protection, product control, customer confidence,
and team communication.
A systematic CM process reduces rework, confusions,
and project risks
43
Software Configuration Management
The project management process provides a
systematic CM plan and monitors the status of the
SCM process.
The configuration management officer (CMO)
implements and maintains the CM process according
to the CM plan.
The CMO coordinates, supports, and performs the CM
activities and reports to the project manager.
The Configuration Control Board (CCB) approves and
disapproves the changes to be performed in the
product.
The CCB consists of technical and administrative
representatives for configuration planning and
44 execution.
Software Configuration Management

Planning data
Configuration Project
management process management
CM plan process
Status reports and audits
results
Work products, Approved change requests,
change requests controlled work products

Product development process

45
Software Configuration Management
The CM process consists of the following four
activities
o Configuration identification
o Configuration change control
o Configuration status accounting
o Configuration auditing
Configuration Configuration Configuration Configuration
identification change control status accounting audits

46
Configuration Identification
A software configuration item (SCI) or configuration
item (CI) is a work product that is designated for
configuration management.
The SCI activity identifies items to be controlled,
establishes identification schemes for the items and
their versions, and establishes the tools and
techniques to be used in acquiring and managing
controlled items.
The work products in SCI may include plans, process
descriptions, requirements, design data and models,
product specifications, source codes, compilers,
product data files, etc.
The status of the CIs at a given point in time is called
baseline.
Each new baseline is the sum total of an older baseline
plus a series of approved changes done on the CI.
47 A baseline together with all approved changes to the
baseline represents the current configuration.
Configuration Change Control
The purpose of software configuration change control (CC)
is to manage changes during the software life cycle.
The activities of CC are to identify what changes to make,
the authority for approving changes, and support for the
implementation of those changes.
The outcome of CC is useful in measuring change traffic,
breakage, and aspects of rework.
A change request (CR) for changes to software
configuration items may be originated by anyone at any
point in the software life cycle and may include a suggested
solution and requested priority.
The CRs are usually recorded on the software change
request (SCR) form.
Once an SCR is received, a technical evaluation is
performed to determine the extent of modifications that
would be necessary should the change request be
accepted.
48 An established authority, Configuration Control Board
(CCB), will evaluate the technical and managerial aspects of
Configuration Status Accounting
The software configuration status accounting records
and reports the information needed for effective
management of the software configuration.
It is the bookkeeping process of each release for CIs.
The CI are identified, collected, and maintained for the
status accounting.
The reported information can be used by the
development team, the maintenance team and for
project management and quality assurance activities.
A database is maintained for providing the status
accounting of configuration requests.
This procedure involves tracking what is in each
version of software and the changes that lead to this
version.
It keeps a record of all the changes made to the
49 previous baseline to reach the new baseline.
Configuration Auditing
Configuration auditing determines the extent to
which an item satisfies the required
functionalities.
Configuration audit is performed to evaluate the
conformance of software products and processes
to applicable regulations, standards, guidelines,
plans, and procedures.
Auditing is performed according to a well-defined
process consisting of various auditor roles and
responsibilities.
Expertise of people is required and some
automated tools also support the planning and
50 conduct of an audit process.
Risk Management
Risk is an unfavorable situation that may lead to
an undesirable outcome.
Potential problems or losses are also called risks.
Risk may include product estimation, business
issues, customer, process, technology,
development environment, and project planning.
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.
It is an ongoing activity from the initiation to the
retirement of a software product.
51
Risk Management
Software risk management is necessary for the
following reasons:
o To reduce the rework caused by missing, erroneous, or
ambiguous requirements, design, or code, which
typically consumes 40–50% of the total cost of
software development
o To avoid software project disasters, including overrun
of budgets and schedules, defect-ridden software
products, and operational failures
o To stimulate a win-win software solution where the
customer receives the product they need and the
vendor makes the profits they expect.
52 o To keep provision for the detection and prevention
mechanisms of risks.
Risk Categories
Risks basically threaten the project, product, and
hence the business.
There are basically three categories of risk
occurrence:
o Project Risks
o Products Risks
o Business Risks

53
Risk Management Activities

Risk analysis Risk


Risk Risk
and monitoring
identification planning
evaluation and control

Risk
Risk Risk
Potential risks resolution
influences assessment
plan

54
Risk Identification
Potential risks are identified with their
consequences, effects, sources, root causes, and
categories.
The output of this activity is a list of
project-specific risks that have the potential of
compromising the project's success.
There are various types of risks that may arise.
o Requirements Risks
o Technology Risks
o Organizational Risks
o Tools Risks
55 o Human Resources Risks
Risk Identification Techniques
Brainstorming is a preferred technique because of its
flexibility and capability of generating a wide and
diverse range of risks.
Risk identification is performed on the basis of
historical data, theoretical analysis, empirical data and
analysis, informed opinions of the project team and
other experts, and the concerns of stakeholders.
Other techniques are:
o Interviewing
o Reporting
o Decomposition
o Assumption analysis
o Critical Path Analysis
56 o Utilization of Risk Taxonomies
Risk Analysis
Each risk is analyzed independently by examining
the identified risk and assessing its impact,
probability, risk exposure, and seriousness.
The list of risks is then grouped and
prioritized/ranked based on the results of risk
analysis.
Risk prioritization helps in resource allocation and
management.
o RE = Probability (UO) x Loss (UO), where RE is risk
exposure and UO is unexpected outcome.

57
Risk Planning
Once the risks are identified and prioritized, an
appropriate risk management plan is developed
for modifying the risks.
General risk management strategies are
o Risk Avoidance
o Risk Minimization
o Risk Acceptance
o Risk Transfer

58
Risk Monitoring and Control
Risk monitoring and control ensures new risks are
detected and managed.
Risk action plans are implemented to reduce the
impact of risks.
Policies and standards compliances are regularly
carried out and the standard performance is
reviewed to identify the opportunities for
improvement.
The monitoring process provides assurance that
appropriate controls have been taken for the
organization’s activities and that the procedures
are in place.
If needed, changes are made in the organizational
59 environment to cope with risks.

You might also like