Professional Documents
Culture Documents
UNIT III Software Project Management
UNIT III Software Project Management
Management – Software
Engineering
What is a Project?
Any work with a fixed start/end date, is
temporary and unique in nature.
What is a Product?
A Product is anything that can be
offered to a market to solve a problem
or satisfy a want or need. It has a life
cycle with multiple stages. A product is
conceived, developed, introduced and
managed in the market, and retired
when the need for it diminishes. A
product can only be developed within
the context of a project, and multiple
projects can occur within a product’s
life cycle.
What is Project Management?
Project management is a methodical
approach to planning and
guiding project processes from start
to finish
What is Software Project Life
Cycle
Software Project Life Cycle is as
follow:
What is a Product Life Cycle?
What is Project Management Life
Cycle?
Initiation
Planning
Executing
Monitoring and Controlling
Closing
Software Project
A Software Project is the complete
procedure of software development
from requirement gathering to testing
and maintenance, carried out
according to the execution
methodologies, in a specified period of
time to achieve intended software
product.
Need of Software Project
Management
Software is said to be an intangible product.
Software development is a kind of all new stream
in world business and there’s very little experience
in building software products. Most software
products are tailor made to fit client’s requirements.
The most important is that the underlying
technology changes and advances so frequently
and rapidly that experience of one product may not
be applied to the other one. All such business and
environmental constraints bring risk in software
development hence it is essential to manage
software projects efficiently.
Software Triple Constraints
The image above shows triple constraints for
software projects. It is an essential part of
software organization to deliver quality product,
keeping the cost within client’s budget constrain
and deliver the project as per scheduled. There
are several factors, both internal and external,
which may impact this triple constrain triangle.
Any of three factor can severely impact the other
two.
Therefore, software project management is
essential to incorporate user requirements along
with budget and time constraints.
Software Project Manager
A software project manager is a person who
undertakes the responsibility of executing the
software project. Software project manager is
thoroughly aware of all the phases of SDLC that
the software would go through. Project manager
may never directly involve in producing the end
product but he controls and manages the
activities involved in production.
A project manager closely monitors the
development process, prepares and executes
various plans, arranges necessary and adequate
resources, maintains communication among all
team members in order to address issues of
cost, budget, resources, time, quality and
customer satisfaction.
Project Manager’s
Responsibilities
Managing People
Act as project leader
Liaison with stakeholders
Managing human resources
Setting up reporting hierarchy etc.
Managing Project
Defining and setting up project scope
Managing project management activities
Monitoring progress and performance
Risk analysis at every phase
Take necessary step to avoid or come out of problems
Act as project spokesperson
Software Project Activities
Software project management
comprises of a number of activities,
which contains planning of project,
deciding scope of software product,
estimation of cost in various terms,
scheduling of tasks and events, and
resource management. Project
management activities may include:
Project Planning
Scope Management
Project Estimation
Project Planning
Software project planning is task, which is
performed before the production of software
actually starts. It is there for the software
production but involves no concrete activity that
has any direction connection with software
production; rather it is a set of multiple processes,
which facilitates software production.
Scope Management
It defines the scope of project; this includes all the
activities, process need to be done in order to make a
deliverable software product. Scope management is
essential because it creates boundaries of the project
by clearly defining what would be done in the project
and what would not be done. This makes project to
contain limited and quantifiable tasks, which can easily
be documented and in turn avoids cost and time
overrun.
During Project Scope management, it is necessary to -
Define the scope
Decide its verification and control
Divide the project into various smaller parts for ease of
management.
Verify the scope
Control the scope by incorporating changes to the
scope
Project Estimation
For an effective management accurate
estimation of various measures is a must.
With correct estimation managers can
manage and control the project more
efficiently and effectively.
Project estimation may involve the following:
Software size estimationSoftware size may
be estimated either in terms of KLOC (Kilo
Line of Code) or by calculating number of
function points in the software. Lines of code
depend upon coding practices and Function
points vary according to the user or software
requirement.
Effort estimationThe managers estimate efforts in
terms of personnel requirement and man-hour required
to produce the software. For effort estimation software
size should be known. This can either be derived by
managers’ experience, organization’s historical data or
software size can be converted into efforts by using
some standard formulae.
Time estimationOnce size and efforts are estimated,
the time required to produce the software can be
estimated. Efforts required is segregated into sub
categories as per the requirement specifications and
interdependency of various components of software.
Software tasks are divided into smaller tasks, activities
or events by Work Breakthrough Structure (WBS). The
tasks are scheduled on day-to-day basis or in calendar
months.
The sum of time required to complete all tasks in hours
or days is the total time invested to complete the
project.
Cost estimationThis might be considered as
the most difficult of all because it depends on
more elements than any of the previous
ones. For estimating project cost, it is
required to consider -
◦ Size of software
◦ Software quality
◦ Hardware
◦ Additional software or tools, licenses etc.
◦ Skilled personnel with task-specific skills
◦ Travel involved
◦ Communication
◦ Training and support
Cost Estimation Numericals
Numerical
You have a project to build a new mobile app. The app has
four screens. Each screen is to take one day to build and is
budgeted for $1,000 per screen. The screen are planned to
be completed one after the other. Today is the end of day
three. Calculate PV, EV, AC, BAC, CV, CPI, SV, SPI, EAC,
ETC, and VAC
To be continued….
Project Estimation (Costing)
You are the project manager and want
to calculate TCPI based on EAC for
your project. The data you have with
you is BAC: $ 135,000, earned value
for your project : $ 45,000, actual
costs : $ 70,000 and EAC is $130,000.
What is the TCPI that you will get from
these values?
Solution:
Solution:
TCPI = (BAC – EV) / (BAC – AC)
= (135,000 – 45,000) / (135,000 –
70,000)
= 90,000/ 65,000
= 25,000
What is your SPI if your CV is
$15,000, your SV is -$4,000, and your
PV is $100,000?
Solution:
Solution:
SV= EV-PV
-4000= EV – 100,000
-4000 + 100,000 = EV
96,000 = EV
SPI = EV/PV
= 96,000/100,000
=0.96
In the latest earned value report for
your project, you see the CPI is 1.4,
the SPI is 0.6, the PV is $500,000,
and the SV is -$120,000. You can’t
find the CV in the report, so you need
to calculate it based on the information
given. What is the CV?
Solution:
SV = EV – PV
-120,000 + 500,000= EV
380,000 = EV
CPI = EV/AC
1.4 = 380,000/AC
AC= $ 271428.57
CV= EV-AC
= 380,000 – 271428.57
CV= -108571.43
Project Scheduling
Project Scheduling in a project refers to roadmap
of all activities to be done with specified order
and within time slot allotted to each activity.
Project managers tend to define various tasks,
and project milestones and them arrange them
keeping various factors in mind.
They look for tasks lie in critical path in the
schedule, which are necessary to complete in
specific manner (because of task
interdependency) and strictly within the time
allocated.
Arrangement of tasks which lies out of critical
path are less likely to impact over all schedule of
the project.
For scheduling a project, it is necessary
to -
Break down the project tasks into
smaller, manageable form
Find out various tasks and correlate
them
Estimate time frame required for each
task
Divide time into work-units
Assign adequate number of work-units
for each task
Calculate total time required for the
project from start to finish
How to Schedule/Sequence
Activities?
Network diagram shows just
dependencies (logical relationships)
• If activity duration estimates
(estimates) are added, the network
diagram could also show the critical
path
Methods to draw Network
Diagram
• In past, the Precedence Diagramming
Method (PDM), the Arrow
Diagramming Method (ADM), and the
GERT method were commonly used
to draw network diagram.
• Today most network diagrams are
created using PDM
Types of Dependencies
The sequence of activities is determined based on the
following dependencies:
Mandatory Dependency (Hard Logic): The dependency
is inherent in the nature of the work being done or
required by the contract (e.g., you must design before
construct)
Discretionary dependency (Preferred, Preferential, Soft
Logic): This dependency is determined by the project
team. Discretionary dependency can be changed if
needed, while other types of dependencies cannot be
easily changed. Discretionary dependencies are
important when analyzing how to shorten or re-
sequence the project to decrease the project duration
(fast track the project)
External Dependency: This dependency is based on the
needs or desires of a party outside the project (e.g.,
government or supplier)
Leads and Lags in Network
Diagram
• A lead may be added to start an
activity before the predecessor activity
is completed. For example, a coding
might be able to start five days before
the design is finished
• A lag is inserted waiting time between
activities, such as needing to wait
three days after pouring concrete
before constructing the frame for the
house.
Network Diagram
Example Network Diagram
You are the project manager for a new project
and have figured out the following
dependencies:
Activity 1 can start immediately and has an
estimated duration of 3 weeks
Activity 2 can start after Activity 1 is
completed and has an estimated duration of
3 weeks
Activity 3 can start after Activity 1 is
completed and has an estimated duration of
6 weeks
Activity 4 can start after activity 2 is
completed and has an estimated duration of
8 weeks
Activity 5 can start after Activity 4 is
1. What is the duration of the critical
path? (Ans: 18)
2. What is float of activity 3? (Ans: 5)
3. What is the float of activity 2? (Ans: 0)
4. What is the float of the path with
longest float? (two paths .. 18-13 =5)
Three Point/Pert Estimation
Expected Activity Duration:
(P+4M+O)/6
Activity Variance:
[(P-O)/6]2
A 47 27 14
B 89 60 41
C 48 44 39
D 42 37 29
Activity P M O Pert Activity Activity Range
(Expect SD Variance of the
ed estimate
Duration
)
A ---- 3 Weeks
B A 3 Weeks
C A 6 Weeks
D B 8 Weeks
E C,D 4 Weeks
Draw the Network Diagram.
Find out all the paths and the critical path
What is the duration of the critical path
What is the float of Activity B and Activity C?
The resource working on activity 3 is replaced with
another resource who is less experienced. The activity
will now take 10 Weeks. How will this affect the project?
After some argument between stakeholders, a new
activity ‘F’ is added to the project. It will take 11 Weeks
to complete and must be completed before activity ‘E’
and ‘C’. Management is concerned that adding the
activity will add 11 weeks to the project. Another
stakeholder argues that the time will be less than 11
weeks. Who is correct? Use the original information
(without the change to activity ‘C’ listed in the original
question) to answer this question.
Based on the information in part f), how much longer
will the project take?
Activity B: Float 0
Activity C: Float 5
The stakeholder who says the time will be less than 11 weeks
is correct. The new activity will be added to the non-critical
path that has float of 5 weeks. Therefore, adding 11 weeks
will make this path the new critical path. The overall effect of
adding 11 weeks will be a delay to the project of 6 weeks.
The project will take 6 weeks longer.