You are on page 1of 89

SPPQM

 What is software project management?

 Is software project management any different from traditional project


management?

 Jobs, projects, and exploration

 What makes software project planning difficult?

 Project scope
Jobs versus Projects
Uncertainty
Routine of outcome

Tasks Projects Exploration

Tasks or Jobs – repetition of very well-defined and well understood tasks with very little
uncertainty
Exploration – The outcome is very uncertain, e.g. finding a cure for cancer...
Projects – in the middle! Has challenge as well as routine … Therefore project
Management Important…
W5HH Principle
• A series of questions that lead to a definition of project
scope:
• Why is the software being built?
• What will be done?
Barry Boehm
• When will it be done?
• 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?
 Software products and services.

 Project management activities

 Traditional versus modern projects

5
Types of Software

• Software products

• Software services
Software Services
• Software service is an umbrella term, includes:
– Software customization
– Software maintenance CP

– Software testing
– Also contract programmers who carry out
coding or any other assigned activities.

7
Scenario of Indian Software Companies

Indian companies have largely focused on


the services segment --- Why?

8
Factors responsible for accelerated
gravitation towards services…

• Lots of code is available in a company:


• New software can be developed by modifying the closest.

• Business velocity has increased tremendously:


• Requires shortening of project duration

• Program sizes have become large


Major Responsibilities of a Project Manager

10
Major Responsibilities of a Project Manager
Feasibility study: Is the project technically feasible
and worthwhile from a business point of view?
Planning: Only done if project is feasible
Execution monitoring and control: Monitor and
control plan implementation, but plan may be
changed as project proceeds….

11
Monitoring and Control
• Lasts for entire active project duration.
• Monitoring – checking on progress, revising plans...
• Controlling – taking action to remedy hold-ups...
• Innovating – coming up with solutions when problems emerge...
• Representing – liaisoning with clients, users, developers
and other stakeholders...

12
Project Life Cycle

Product Oriented Processes


Project Management Processes

Project Life Cycle

13
 Business case for a project

 Project portfolio management

 Project evaluation
The business case
• Feasibility study is also called as “business case”
• Main focus is to determine whether it would be
financially & technically feasible to develop the S/W.
• Provides a justification for starting the project
• Should show that the benefits of the project will
exceed the costs of development, implementation
and operation (or production)
• Needs to take account of business risks
Types of feasibility study
• Technical Feasibility

• Financial Feasibility

• Operational Feasibility
Project Portfolio Management (PPM)

• Provides an overview of all the projects that an


organization is undertaking.
• Prioritizes the allocation of resources to projects.
• Decides which new projects should be accepted and which
existing ones should be dropped.
 Cash-flow forecasting
 Detailed steps of C-B Analysis
 Categories of costs and benefits
Product/system life cycle cash flows
• We need to know that, whether we can fund these expenses either from the own
resources or by borrowing.
• So, a forecast is needed.

Typical product life-cycle cash-flow


Cost-benefit analysis – Detailed Steps
1. Identify the costs and benefits pertaining to the project
2. Categorize the various costs and benefits
3. Select a cost-benefit evaluation technique
4. Interpret the results of the analysis
5. Take appropriate action.
Categorize various costs and benefits for analysis

• Tangible or Intangible

• Direct or indirect

• Fixed or variable
Select cost-benefit evaluation technique
Different cost-benefit evaluation techniques are:
1. Net benefit (profit) analysis
2. Payback period
3. Return on investment
4. Present value analysis
5. Net present value (NPV)
6. Internal rate of return (IRR)
7. Break-even analysis
Example: Four project cash-flow projections
Year Cash-flow Cash-flow Cash-flow Cash-flow
Project 1 ($) Project 2($) Project 3($) Project 4($)
0 -100,000 -1000,000 -100,000 -120,000 So, project 2 shows
1 10,000 200,000 30,000 30,000
largest net profit,
2 10,000 200,000 30,000 30,000
but, at the expense
of huge investment
3 10,000 200,000 30,000 30,000
4 20,000 200,000 30,000 30,000

5 100,000 300,000 30,000 75,000


Net
50,000 100,000 50,000 75,000
profit($)
Pay back period
Year Cash-flow Accumulated
• It is the time taken to break even or pay back
($) ($) the initial investment.
0 -100,000 -100,000 • This is the time it takes to start generating a
1 10,000 -90,000 surplus of income over the expenditure.
• The project with shortest payback period is
2 10,000 -80,000
preferred, as the owner wishes to minimize
3 10,000 -70,000 the time that a project is “in debt”.
• For this example, payback period is year 5.
4 20,000 -50,000

5 100,000 50,000
Return on investment (ROI) cont...
Average annual profit X 100
ROI =
Total investment
In the previous example
• Average annual profit
= 50,000/5
= 10,000
• So, ROI = 10,000/100,000 X 100 = 10%
Another Example: Four project cash-flow projections
Year Cash-flow Cash-flow Cash-flow Cash-flow
Project 1 ($) Project 2($) Project 3($) Project 4($)
So, Project 4 is
0 -100,000 -1000,000 -100,000 -120,000
the most beneficial
1 10,000 200,000 30,000 30,000
project
2 10,000 200,000 30,000 30,000
3 10,000 200,000 30,000 30,000
4 20,000 200,000 30,000 30,000
5 100,000 300,000 30,000 75,000
Net profit 50,000 100,000 50,000 75,000
ROI 10% 2% 10% 12.5%
Present value analysis cont…
• In other words, the annual rate by which we discount
the future earnings is known as discount rate.
• Discount Factor (DF) is calculated as follows:
1
DF  t
(1 r )
where r= discount rate, t= number of years into the
future that the cash flow occurs.
Present value analysis cont…
• In the case of 10% rate and one year
Discount Factor = 1/(1+0.10) = 0.9091
• In the case of 10% rate and two years
1
DiscountFactor  2
(1 0.10)

=0.8264
Similarly, the discount factor can be computed for
any given year and discount rate.
Discount rate (%)
Year
5 6 8 10 12 15
1 0.9524 0.9434 0.9259 0.9091 0.8929 0.8696
2 0.9070 0.8900 0.8573 0.8264 0.7972 0.7561
NPV discount factors

3 0.8638 0.8396 0.7938 0.7513 0.7118 0.6575


4 0.8227 0.7921 0.7350 0.6830 0.6355 0.5718
5 0.7835 0.7473 0.6806 0.6209 0.5674 0.4972
6 0.7462 0.7050 0.6302 0.5645 0.5066 0.4323
7 0.7107 0.6651 0.5835 0.5132 0.4523 0.3759
8 0.6768 0.6274 0.5403 0.4665 0.4039 0.3269
9 0.6446 0.5919 0.5002 0.4241 0.3606 0.2843
10 0.6139 0.5584 0.4632 0.3855 0.3220 0.2472
15 0.4810 0.4173 0.3152 0.2394 0.1827 0.1229
20 0.3769 0.3118 0.2145 0.1486 0.1037 0.0611
25 0.2953 0.2330 0.1460 0.0923 0.0588 0.0304
Net Present Value (NPV) analysis

• NPV is a project evaluation technique that takes into account the


profitability of a project and the timing of the cash flows that are
produced.
• The net present value is obtained by discounting each cash flow
(both negative & positive) and summing the discounted values.
Net Present Value (NPV) analysis - Example (project 1)
Year Cash-flow ($) Discount factor Discounted cash
flow ($)
0 -100,000 1.0000 -100,000
1 10,000 0.9091 9,091
2 10,000 0.8264 8,264
3 10,000 0.7513 7,513
4 20,000 0.6830 13,660
5 100,000 0.6209 62,090
NPV 618
Internal Rate of Return (IRR)
• IRR provides a profitability measure as a percentage return that is
directly comparable with interest rates. So, a project that shows an IRR
of 10% would be worth if the capital could be borrowed for less than
10% or the capital could not be invested elsewhere for a return greater
than 10%.
• IRR is the discount rate that would produce an NPV of 0 for the project.
• Can be used to compare different investment opportunities.
• Can be calculated using a spread sheet. Also, Microsoft Excel provides
functions, such as IRR(), which take a value and an initial guess as input
and return an IRR as the output.
Example of a project risk matrix
Risk importance likelihood
Client rejects proposed look and feel of H ----
site
Competitors undercut prices H M
Warehouse unable to deal with increased M L
demand
Online payment has security problems M M
Maintenance costs higher than estimated L L
Response times deter purchasers M M
Risk and net present value
• Where a project is relatively risky, it is a common
practice to use a higher discount rate to calculate
net present value.
• This risk premium might, for example, be an
additional 2% for a reasonably safe project or 5%
for a fairly risky one.
• Projects may be categorized as high, medium, or
low risk using a scoring method and risk premiums
designated for each category.
Cost-benefit analysis - Example
A company is planning to develop a payroll application and is currently engaged in C-B
analysis. Study of the market shows that if the company can target it efficiently and no
competing products become available, it will obtain a high level of sales generating an
annual income $800000. It estimates that there is a 1 in 10 chances of this happening.
However a competitor might launch, another application before its own launch
date., and then sales might generate only $100000 per year. It estimates that there is 30%
chance of this happening. The most likely outcome is somewhere in between these 2
extremes- it will gain a market lead by launching before any competing product becomes
available, and achieve annual income of $650000. The expected sales income are shown in
following table.
Cost-benefit analysis - Example
Sales Annual Prob. (p) Expected
sales value (i*p)
income (i)
High 800000 0.1 80000
Medium 650000 0.6 390000
Low 100000 0.3 30000
Expected 500000
income
Cost-benefit analysis - Example
• Development costs estimated to be $750000
• Sales levels are expected to be constant for atleast
4 years
• Annual cost are estimated at $200000

Would you advice going ahead with the project?


Cost-benefit analysis – Example (solution)
• Expected sales of $500000 over 4 years would
generate expected income of $1200000 (2000000-
200000*4).
• This would provide a good return on investment of
$750000
• But if sales are low and there is a 30% chance of
this, the company will loose money.
• So it is not advisable to take up this risky project.
Using decision trees to evaluate risks
• Decisions will limit or affect future options and is
important to asses how a decision will affect the
future profitability of the project.
• Decision trees comes in a handy in this scenarios.
Example
A company is considering when to replace its sales order processing system. The
decision depends on the rate at which its business expands-if its market share
increases, then the existing system might need to be replaced within two years. Not
replacing the system in time could be an expensive option as it could lead to lost
revenue, if it cannot cope with the increased sales. Replacing the system
immediately will be very expensive.
Extending the system will have an NPV of $75,000. If the market expands, this will be
turned into a loss with an NPV of -$100000 due to lost revenue. If the market
expands, replacing the system will have an NPV of $250000, due to the benefits of
handling increased sales and other benefits. If sales don’t increase, the benefits will
be severely reduced and project will suffer with an NPV of -$500000. Company
estimates the likelihood of the market increasing significantly at 20%, and hence he
probability that it will not increase is 80%. Construct the decision tree.
Decision tree for the example
Market (Due to lost of
revenue)

(existing system)

(Due to benefits of
(with an automated system) increased sales,
better MIS, etc.)
Analysis of the decision tree
The analysis consists of evaluating the expected benefit of taking
each path from the decision point D.
The expected value of each path is the sum of the values of each
possible outcome multiplied by its probability.
Expected value of extending the system is (75,000*0.8 – 1,00,000
*0.2) = $40,000
Expected value of replacing the system is $10,000(2,50,000*0.2 –
50,000 *0.8) =$10,000
So, the company should choose the option of extending the existing
system.
Programme management
• Definition of programme:
‘a group of projects that are managed in a co-
ordinated way to gain benefits that would not be
possible were the projects to be managed
independently’
By D. C. Ferns
Programme management
• Definition of programme:
‘a group of projects that are managed in a co-
ordinated way to gain benefits that would not be
possible were the projects to be managed
independently’
By D. C. Ferns
Benefits management
•Providing an organization
with a capability does not developers users organization
guarantee that this will
provide benefits envisaged use for
the
– need for benefits benefits
application
management build to deliver
•This has to be outside the
project – project will have
been completed
•Therefore done at
programme level
SPMP Document

• After planning is complete:


• Document the plans:
• in a Software Project Management Plan(SPMP) document.

46
Organization of SPMP Document
• Introduction (Objectives, Major Functions, Performance Issues, Management and Technical
Constraints)
• Project Estimates (Historical Data, Estimation Techniques, Effort, Cost & Project Duration Estimates)
• Project Resources Plan (People, Hardware and Software, Special Resources)
• Schedules (Work Breakdown Structure, Task Network, Gantt Chart Representation, PERT Chart Representation)
• Risk Management Plan (Risk Analysis, Risk Identification, Risk Estimation, Abatement
Procedures)
• Project Tracking and Control Plan
• Miscellaneous Plans (Process Tailoring, Quality Assurance, Configuration Management)

47
Sequence of Estimations and Scheduling
Effort Cost
Estimation Estimation

Size Staffing
Estimation Estimation

Duration
Estimation Scheduling
Person Month
• Suppose a project is estimated to take 300 person-months to develop:

• Is one person working for 30 days same as 30 persons working for 1 day?

• No? why?

• How many hours is a man month:

• Default Value: 152 hours per month

• 19 days at 8 hours per day.


Over and under-estimating
• Parkinson’s Law: ‘Work expands to fill the
time available’
• Underestimate:
• Advantage: No overspend
• Disadvantages: System is usually unfinished
Over and under-estimating cont …

• Weinberg’s Zeroth Law of Reliability: ‘a software


project that does not have to meet a reliability
requirement can meet any other requirement’.
A taxonomy of estimating methods
• Top-down or Bottom-up - activity based, analytical

• Parametric or algorithmic models e.g. function points

• Expert Judgement - just guessing?

• Analogy - case-based, comparative

• Price to win
Types of Estimation Techniques
• Though there are many techniques of estimating, they can broadly be
classified into:
• Top-down
• Bottom-up
• What about:
• Algorithmic models?
• Expert opinion ?
• Analogy ?
• Price to win?
Top-down estimates
Estimate • Produce overall estimate using
overall 100 days effort driver(s)
project
• Distribute proportions of overall
estimate to components
design code test

30% 30% 40%


i.e. i.e. i.e. 40 days
30 days 30 days
To
p-
do
wn
Ex
am
ple
Bottom-up estimating
1. Break the project activities into smaller and smaller components
• Stop when you get to what one person can do in one/two weeks

2. Estimate costs for the lowest level activities


3. At each higher level calculate estimate by adding estimates for
lower levels
Bottom-up Estimating
• It permits the software group to estimate in an almost traditional fashion:
• Each group estimates components for which it has adequate experience.
• It is more stable because the estimation errors in the various components
more or less balance out.
Software Size
• What exactly is the size of a software project?
• How do you measure it?

• Any characteristic of software that is easily measured and correlates with


effort.
• SLOC
• Function point
Algorithmic/Parametric models
• COCOMO (lines of code) and function points examples of these
• A Problem with LOC based models (COCOMO etc):

guess algorithm estimate

but what is desired is


system estimate
algorithm
characteristic
Software Size
• What exactly is the size of a software project?
• How do you measure it?

• Any characteristic of software that is easily measured and correlates with


effort.
• SLOC
• Function point
Algorithmic/Parametric models
• COCOMO (lines of code) and function points examples of these
• A Problem with LOC based models (COCOMO etc):

guess algorithm estimate

but what is desired is


system estimate
algorithm
characteristic
Simplistic Model
• estimated effort = (system size) / productivity
• As example:
What is wrong with the simplistic
system size = lines of code model?

productivity = lines of code per day


• productivity = (system size) / effort
• based on past projects
Example 1
Consider a transaction project of 38,000 lines of code, what is the effort it will take
to develop? Productivity is about 400 SLOC/staff month
Effort = (productivity)-1 (size)
= (1/.400 KSLOC/SM) (38 KSLOC)
= 2.5 (38) ≈ 100 SM
1.Organic: A development project can be treated of the organic type, if the size of the development team is
reasonably small, and the team members are experienced in developing similar methods of projects. 
Examples of this type of projects are simple business systems, simple inventory management systems,
and data processing systems.

2. Semidetached: A development project can be treated with semidetached type if the development consists
of a mixture of experienced and inexperienced staff. Team members may have finite experience in related
systems but may be unfamiliar with some aspects of the order being developed. 
Example of Semidetached system includes developing a new operating system (OS), a Database
Management System (DBMS), and complex inventory management system.

3. Embedded: A development project is treated to be of an embedded type, if the software being developed is
strongly coupled to complex hardware, or if the stringent regulations on the operational method exist. 

For Example: ATM, Air Traffic control.


(i)Organic Mode
   E = 2.4 * (400)1.05 = 1295.31 PM
                D = 2.5 * (1295.31)0.38=38.07 M
(ii)Semidetached Mode
  E = 3.0 * (400)1.12=2462.79 PM
                D = 2.5 * (2462.79)0.35=38.45 M
(iii) Embedded Mode
   E = 3.6 * (400)1.20 = 4772.81 PM
                D = 2.5 * (4772.8)0.32 = 38 M
A project size of 200 KLOC is to be developed. Software development team has
average experience on similar type of projects. The project schedule is not very tight.
Calculate the Effort, development time, average staff size, and productivity of the
project.
The semidetached mode is the most appropriate mode, keeping in view the size, schedule and experience of development time.
Hence      E=3.0(200)1.12=1133.12PM
                D=2.5(1133.12)0.35=29.3PM

            P = 176 LOC/PM
Count Data
Determine
Functions
Unadjusted
FP Computation Steps

Function Point

Count Count

Identify Transactional
Counting Functions Calculate

Scope and Adjusted Function

Application Point Count


Determine Value
Boundary Adjustment
Factor
Calculating the System Size
• For each function count:
• Number of input data items ni
• Number of output data items no
• Number of entities read/updated ne
• Add these up for the whole system, giving:
• Number of input data items Ni
• Number of output data items No
• Number of entities read/updated Ne
Requirement inputs outputs entity accesses

A1 10 2 4
A2 10 3 6
A3 1 25 1
FP
A4 10 10 9 Cou
A5 4 10 5 ntin
A6 26 9 2 g-
A7 5 11 8 Exa
A8 14 4 5
mple
A9 22 7 4
A10 6 6 4
A11 9 9 7
A12 3 24 5
  Ni = 120 No = 120 Ne = 60
Albrecht complexity multipliers
External user Low Medium High
types complexity complexity complexity
EI 3 4 6
EO 4 5 7
EQ 3 4 6
LIF 7 10 15
EIF 5 7 10
Example - 1

The Spell-Checker accepts as input a document file and an


optional personal dictionary file. The checker lists all words not
contained in either of these files. The user can query the number
of words processed and the number of spelling errors found at
any stage during processing.
Example 1 - cont…
• 2 users inputs: document file name, personal dictionary name (average)
• 3 users outputs: error report, word count,
misspelled error count (average)
• 2 users requests: # processed words?, #spelling errors? (average)
• 1 internal file: dictionary (average)
• 2 external files: document file, personal dictionary (average).
We know that, for average (medium) complexity parameters,
UFP= # inputs*4+ # outputs*5+ # inquiries*4+ # files*10+ # interfaces*7
= 2×4 + 3 × 5 + 2 × 4 + 1 × 10 + 2 × 7
= 55
Function Point: Refinement
14 General Systems Characteristics are evaluated and used to compute a
Value Adjustment Factor (VAF)
General System Characteristics
Data Communication On-Line Update
Distributed Data Processing Complex Processing
Performance Objectives Reusability
Heavily Used Configuration Conversion & Install Ease
Transaction Rate Operational Ease
On-Line Data Entry Multiple-Site Use
End-User Efficiency Facilitate Change

The final calculation is based upon the Unadjusted FP count X VAF


Degrees of Influence
0 Not present, or no influence
1 Incidental influence
2 Moderate influence
3 Average influence
4 Significant influence
5 Strong influence throughout
Procedures to Determine the VAF
•Evaluate each of the 14 general system characteristics on a scale from zero to
five to determine the degree of influence (DI)
•Add the degrees of influence for all 14 general system characteristics to produce
the total degree of influence (TDI).
•Insert TDI into the following equation to produce the Value Adjustment Factor
(VAF) / Technical Complexity Factor (TCF).
VAF = (TDI * 0.01) + 0.65
•It expresses the overall impact of the corresponding parameter on the
development effort.
Procedures to Determine the VAF
The following VAF is calculated, if the degree of influence (DI) for each of the 14
GSC descriptions is 3, (i.e. 3*14):
VAF = (42 * 0.01) + 0.65 = 1.07
The Adjusted Function Point is calculated as follows:
FP=UFP* VAF
= 55*1.07
= 58.85
Prediction of LOC From SRS Document
Consider a project with the following functional units: 
• 50 user inputs, 40user outputs, 35 user enquiries, 6 user files,
4 external interfaces. Assume all complexity adjustment factors and
weighting factors are average.
• Compute the function points for the project. 
• Suppose that program needs 70 LOC per FP.
• Find out the size of complete project.

88
Solution
• UFP= 50 * 4 + 40 * 5 + 35 * 4 + 6 * 10 + 4 * 7
= 200+200+140+60+28 = 628
• VAF=0.65 + 0.01 (14 * 3) = 1.07
• AFP= UFP * VAF=628 * 1.07 = 672
• Size = FP * (LOC per FP) = 672 * 70 = 47040 LOC

89
References:
1. B. Hughes, M. Cotterell, R. Mall, Software Project Management, Sixth Edition,
McGraw Hill Education (India) Pvt. Ltd., 2018.

https://bit.ly/SPPQM-Text-BOOK

You might also like