Present value = Value in Year t * Discount factor
Internal rate of return (IRR): Internal rate of return (IRR) is the discount rate
that would produce an NPV of 0 for the project.
Example:
Year Project 1 Project 2 Project 3 Project 4
0 -1,00,000 -10,00,000 -1,00,000 -1,20,000
1 10,000 2,00,000 30,000 30,000
2 10,000 2,00,000 30,000 30,000
3 10,000 2,00,000 30,000 30,000
4 20,000 2,00,000 30,000 30,000
5 1,00,000 5,00,000 30,000 75,000
A. Net Profit:
Net profit= Total Income- Total Costs
Project 1:
NP = (10,000 + 10,000 + 10,000 + 20,000 + 1, 00,000) -1, 00,000
= 1, 50,000-1, 00,000
= 50,000
Project 2:
NP = (2,00,000 + 2,00,000 + 2,00,000 + 2,00,000 + 5,00,000) -10,00,000
= 11, 00, 000 10, 00, 000
= 1, 00, 0000
Project 3:
NP = (30,000 + 30,000 + 30,000 + 30,000 + 30,000) - 1, 00,000
= 1, 50,000 1, 00, 000
= 50, 000
Project 4:
NP = (30,000 + 30,000 + 30,000 + 30,000 + 75,000) 1, 20,000
= 1, 95,000 1, 20,000
= 75, 000
Year Project 1 Project 2 Project 3 Project 4
0 -1,00,000 -10,00,000 -1,00,000 -1,20,000
1 10,000 2,00,000 30,000 30,000
2 10,000 2,00,000 30,000 30,000
3 10,000 2,00,000 30,000 30,000
4 20,000 2,00,000 30,000 30,000
5 1,00,000 5,00,000 30,000 75,000
Net Profit 50,000 1, 00, 0000 50, 000 75, 000
B. Payback Period:
Project 1:
= (10,000 + 10,000 + 10,000 + 20,000)
= 50, 000 in 4 years.
Initial Investment = 1, 00, 000
50, 000 more needed from 5
th
year.
In 5
th
year,
1, 00, 000 in 12 months.
Therefore,
50, 000 in 6 months i.e. in 0.5 year.
So, PP = 4 + 0.5 = 4.5 years.
Project 2:
= (2, 00,000 + 2, 00,000 + 2, 00,000 + 2, 00,000)
= 8, 00, 000 in 4 years.
Initial Investment = 10, 00,000
2, 00, 000 more needed from 5
th
year.
In 5
th
year,
3, 00, 000 in 12 months.
Therefore,
2, 00,000 in 8 months i.e. in 0.67 year.
So, PP= 4 + 0.67 = 4.67 years.
Project 3:
= (30,000 + 30,000 + 30,000)
= 90, 000 in 3 years.
Initial Investment = 1, 00, 000
10, 000 more needed from 4
th
year.
In 4
th
year,
30, 000 in 12 months.
Therefore,
10, 000 in 4 months i.e. in 0.33 year.
So, PP = 3 + 0.33 = 3.33 years.
Project 4:
= (30,000 + 30,000 + 30,000 + 30, 000)
= 1, 20, 000 in 4 years.
Initial Investment = 1, 20, 000
So, PP = 4 years.
Year Project 1 Project 2 Project 3 Project 4
0 -1,00,000 -10,00,000 -1,00,000 -1,20,000
1 10,000 2,00,000 30,000 30,000
2 10,000 2,00,000 30,000 30,000
3 10,000 2,00,000 30,000 30,000
4 20,000 2,00,000 30,000 30,000
5 1,00,000 5,00,000 30,000 75,000
Net Profit 50,000 1, 00, 000 50, 000 75, 000
Pay Back period 4.5 years 4.67 years 3.33 years 4 years
C. Return On Investment:
ROI = (
)
Where average annual profit =
Project 1:
ROI = ((50, 000/ 5) / 1, 00,000) * 100 = 10 %
Project 2:
ROI = ((1, 00,000/ 5) / 10, 00,000) * 100 = 2 %
Project 3:
ROI = ((50, 000/ 5) / 1, 00,000) * 100 = 10 %
Project 4:
ROI = ((75, 000/ 5) / 1, 20,000) * 100 = 12.5 %
Year Project 1 Project 2 Project 3 Project 4
0 -1,00,000 -10,00,000 -1,00,000 -1,20,000
1 10,000 2,00,000 30,000 30,000
2 10,000 2,00,000 30,000 30,000
3 10,000 2,00,000 30,000 30,000
4 20,000 2,00,000 30,000 30,000
5 1,00,000 5,00,000 30,000 75,000
Net Profit 50,000 1, 00, 000 50, 000 75, 000
Pay Back period 4.5 years 4.67 years 3.33 years 4 years
ROI 10% 2% 10% 12.5%
D. Net Present Value:
Year Project A Project B Project C
0 -8000 -8000 -10000
1 4000 1000 2000
2 4000 2000 2000
3 2000 4000 6000
4 1000 3000 2000
5 500 9000 2000
6 500 -6000 2000
Net Profit 4000 5000 6000
i. Project A
Year Project
A
Discount
Factor
@ 8 %
Discount
Factor
@ 10%
Discount
Factor
@ 12 %
Discounted
Cash Flow
(8%)
Discounted
Cash Flow
(10%)
Discounted
Cash Flow
(12%)
0 -8000 1.0000 1.0000 1.0000
-8000 -8000 -8000
1 4000 0.9259 0.9091 0.8929
3703.6 3636.4 3571.6
2 4000 0.8573 0.8264 0.7972
3429.2 3305.6 3188.8
3 2000 0.7938 0.7513 0.7118
1587.6 1502.6 1423.6
4 1000 0.7350 0.6830 0.6355
735 683 635.5
5 500 0.6806 0.6209 0.5674
340.3 310.45 283.7
6 500 0.6302 0.5645 0.5066
315.1 282.25 253.3
Net
Profit
4000
NPV=
2110.8
NPV=
1720.3
NPV=
1356.5
ii. Project B
Year Project
B
Discount
Factor
@ 8 %
Discount
Factor
@ 10%
Discount
Factor
@ 12 %
Discounted
Cash Flow
(8%)
Discounted
Cash Flow
(10%)
Discounted
Cash Flow
(12%)
0 -8000 1.0000 1.0000 1.0000
-8000 -8000 -8000
1 1000 0.9259 0.9091 0.8929
925.9 909.1 892.9
2 2000 0.8573 0.8264 0.7972
1714.6 1652.8 1594.4
3 4000 0.7938 0.7513 0.7118
3175.2 3005.2 2847.2
4 3000 0.7350 0.6830 0.6355
2205 2049 1906.5
5 9000 0.6806 0.6209 0.5674
6125.4 5588.1 5106.6
6 -6000 0.6302 0.5645 0.5066
-3781.2 -3387 -3039.6
Net
Profit
5000
NPV=
2364.9
NPV=
1817.2
NPV= 1308
iii. Project C
Year Project
C
Discount
Factor
@ 8 %
Discount
Factor
@ 10%
Discount
Factor
@ 12 %
Discounted
Cash Flow
(8%)
Discounted
Cash Flow
(10%)
Discounted
Cash Flow
(12%)
0 -10000 1.0000 1.0000 1.0000
-10000 -10000 -10000
1 2000 0.9259 0.9091 0.8929
1851.8 1818.2 1785.8
2 2000 0.8573 0.8264 0.7972
1714.6 1652.8 1594.4
3 6000 0.7938 0.7513 0.7118
4762.8 4507.8 4270.8
4 2000 0.7350 0.6830 0.6355
1470 1366 1271
5 2000 0.6806 0.6209 0.5674
1361.2 1241.8 1134.8
6 2000 0.6302 0.5645 0.5066
1260.4 1129 1013.2
Net
Profit
6000
NPV=
2420.8
NPV=
1715.6
NPV= 1070
Risk Evaluation can be done by the following methods:
Risk identification & Ranking: Identifies the risk and gives priority. Project risk
matrix is drawn for each project to assess risks. It can be used to identify and
rank the risk of the project.
Risk & NPV
Cost benefit analysis
Risk profile analysis: It compares the sensitivity of each factor of project
profiles by varying parameters which affect the project cost benefits.
Using decision trees
Programmes can exist in the following forms:
Business cycle programmes
Strategic programmes
Infrastructure programmes
Research & Development programmes
Innovative partnerships
Programme managers vs Project Managers:
Programme Manager Project Manager
Many simultaneous projects. One project at a time.
Personal relationship with skilled
resources.
Impersonal relationship with resource
type.
Need to maximize the utilization of
resources.
Need to minimize the demand for
resources.
Projects tend to be similar. Projects tend to be dissimilar.
Chapter 3 An Overview of Project Planning
An overview:
Ideal Activity:
Chapter 2 Go through for the rest.
Chapter 4 Selection of an Appropriate Project
Approach
Selection of a project approaches involves the following:
Whether to build it or buy it?
What methodologies & technologies to be used?
Project analysis involves the following:
Identify whether the project is object driven or product driven.
Analyse other project characteristics.
Data oriented or process oriented to be implemented?
Whether it has to be general tool or application specific?
Any available tools for that particular type of application?
Whether it involves concurrent processing?
Whether it involves usage of heavy graphics?
Whether it has to be knowledge based?
Whether it will be safety critical?
Whether it will carry out predefined services & entertaining?
What will be the nature of hardware /software environment?
Identify high-level project risks.
Product uncertainty
Process uncertainty
Resource uncertainty
Taking into a/c user requirements concerning implementation.
Process Models are the following:
The Waterfall Model
The Spiral Model
Software Prototyping
Incremental Delivery
Atern/Dynamic System Development Method (DSDM)
Rapid Application Development (RAD)
Agile Methods
Extreme Programming (XP)
Scrum
The Waterfall Model:
The Spiral Model:
Software Prototyping:
Prototype is a working model of a software with limited functionality.
It doesnt always use the exact logic as used in the software application.
It helps to understand requirements which are user specific.
It can be classified into following types:
Throw-Away Prototypes: These are basically used to test out some ideas
and is eventually discarded once it has solved its purpose.
Evolutionary Prototypes: It is nothing but building actual functional
prototypes with minimum functionalities. This kind of prototypes include
well understood prototype and further requirements are added as and
when theyre understood.
Reasons for prototyping:
Learning by doing.
Improved communication.
Feedback loop is established.
Improved user involvement.
Reduces the need for documentation.
Reduces maintenance costs i.e. changes after the application goes live.
It can be used for producing expected results.
Dangers associated with it:
Users may misunderstand the role of the prototype.
Lack of project control and standards possible.
Additional expense of building prototype.
Focus on user-friendly interface could be at expense of machine efficiency.
Incremental Process:
Advantages of prototyping
feedback from early stages used in developing latter stages
shorter development thresholds - important when requirements are likely to
change
user gets some benefits earlier - may assist cash flow
project may be put aside temporarily - more urgent jobs may emerge
reduces gold-plating i.e. features requested but not used
But there are possible disadvantages
loss of economy of scale - some costs will be repeated
software breakage - later increments might change earlier increments
V/C Ratio Example:
Agile Methods:
Produce large amounts of documentation which can be largely unread
Documentation has to be kept up to date
Division into specialist groups and need to follow procedures stifles communication
Users can be excluded from decision process
Long lead times to deliver anything etc.
E.g. Scrum, XP, Atern, Crystal.
Atern Eight Core Principles:
Focus on Business need with active user involvement
Frequent delivery of products on time
Collaborate
Maintain quality
Develop Iteratively
Incremental delivery
Communicate continuously
Demonstrate control
DSDM Time Boxing:
time-box fixed deadline by which something has to be delivered
typically two to six weeks
MOSCOW priorities
Must have - essential
Should have - very important, but system could operate without
Could have
Want - but probably wont get!
Extreme Programming (XP):
increments of one to three weeks
customer can suggest improvement at any point
argued that distinction between design and building of software are artificial
code to be developed to meet current needs only (releases)
frequent re-factoring to keep code structured
developers work in pairs
test cases and expected results devised before software design
after testing of increment, test cases added to a consolidated set of test cases
step value cost ratio
profit reports 9 1 9 2nd
online database 1 9 0.11 5th
ad hoc enquiry 5 5 1 4th
purchasing plans 9 4 2.25 3rd
profit- based pay
for managers
9 0 inf 1st
Chapter 5 Software Effort Estimation
Problems with Over- and Under-Estimates are:
Parkinsons Law: Work expands to fill the time available i.e. if the task is easy,
staff will work less hard.
Brooks Law: putting more people on a late job makes it later.
Weinbergs zeroth law of reliability: if a system doesnt have to be reliable, it can
meet any other objective.
Parametric Models:
Estimating by Analogy:
Example:
Distance =
= 2.24
Distance =
= 5.38
Albrecht Function Point Analysis:
External User Type Multiplier
Low Average High
External input type 3 4 6
External output type 4 5 7
External inquiry type 3 4 6
Logical internal file type 7 10 15
External interface type 5 7 10
Project Inputs Outputs
New
(Target)
7 15
A
(Source)
8 17
Project Inputs Outputs
New
(Target)
7 15
B
(Source)
5 10
IFPUG file type complexity:
Number of record
types
Number of file types
<20 20-50 >50
1 Low Low Average
2-5 Low Average High
>5 Average High High
Function Point Marks II:
W
i
= 0.58 (input types)
W
e
= 1.66 (entity types)
W
o
= 0.26 (output types)
COSMIC Full Function Points:
Entries (E)
Exits (X)
Reads (R)
Writes (W)
COCOMO II: A Parametric Productivity Model:
System Type c k
Organic 2.4 1.05
Semi-Detached 3.0 1.12
Embedded 3.6 1.20
Estimate of person-months (pm)
Where pm = person- months
A= 2.94
Size = measured in KLOC (e.g. 1000 LOC = 1 KLOC)
Scale factor, sf =
B= 0.91
em= effort modifier
Scale Factor Values:
PREC: precedentedness
FLEX: flexibility
RESL: resolution
TEAM: team cohesion
PMAT: project maturity
Example: Textbook 5.12 Exercise
Driver Rating Values
PREC Nominal 3.72
FLEX High 2.03
RESL Very Low 7.07
TEAM Very High 1.10
PMAT Low 6.24
i. Scale factor, sf = B + 0.01 *
Where B = 0.91
= 0.91 + 0.01 * (3.72 + 2.03 + 7.07 + 1.10 +6.24)
= 1.1116
ii. Effort = A * (size)
sf
= 2.94 * (2)
1.1116
= 6.35 (pm)
Effort of Schedule Compression:
Where,
Example:
Chapter 6 Activity Planning
Hammock activities are the ones which in themselves have 0 duration, but are assumed to
start at the same time as the first hammocked activity and to end at the same time as the
last one.
Labelling conventions:
ES Duration EF
Activity Description
LS Float LF
Earliest start (ES)
Earliest finish (EF) = ES + duration
Latest start (LS)
Latest finish (LF) = LS + duration
Float= LF - ES duration
Activity Network:
Total float = LF ES duration (or LS-ES or LF-EF)
Free float = ES for following activity less EF for the current
Interfering float = total float free float
Chapter 7 Risk Management
Risk is defined as the chance of exposure to the adverse consequences of future events.
Categories of risk:
Actors
Technology
Task
Structure
Framework for dealing with risk:
Risk identification
Risk prioritization
Risk planning
Risk Monitoring
Risk Identification includes:
Use of checklists usually based on the experience of past projects
Brainstorming getting knowledgeable stakeholders together to pool concerns
Causal mapping identifying possible chains of cause and effect
Risk Prioritization:
Risk Planning:
Risk acceptance
Risk avoidance
Risk reduction
Risk transfer
Risk reduction leverage,
(
is risk exposure after risk reduction e.g. fire alarm costing 500 reduces
probability of fire damage to 0.5%
RRL = (1% of 200k)-(0.5% of 200k)/500 = 2
RRL > 1.00 therefore worth doing
Evaluation of effects of uncertainty using PERT:
Three estimates are produced for each activity
Most likely time (m)
Optimistic time (a)
Pessimistic (b)
,
Example:
Solution:
Task a m b t
e
S
A 10 12 16 12.33 1
B 8 10 14 10.33 1
C 20 24 38 25.67 3
Total 48.65
S (A+B+C) (1*1+ 1*1 + 3*3) = 3.32
Calculating z values:
Say the target for completing A+B+C was 52 days (T)
Calculate the z value thus
Where,
In this example,
z =
Chapter 8 Resource Allocation
Types of schedule:
Activity schedule - indicating start and completion dates for each activity
Resource schedule - indicating dates when resources needed + level of resources
Cost schedule - showing accumulative expenditure
Resources:
These include
labor
equipment (e.g. workstations)
materials
space
services
Time: elapsed time can often be reduced by adding more staff
Money: used to buy the other resources
Resource Allocation:
Identify the resources needed for each activity
Identify resource types - individuals are interchangeable within the group (e.g. VB
programmers as opposed to software developers)
Allocate resource types to activities and examine the resource histogram
There are two main ways of prioritizing activities:
Total float priority those with the smallest float have the highest priority
Ordered list priority this takes account of the duration of the activity as well as the
float see next overhead
Burmans priority list:
Shortest critical activities
Other critical activities
Shortest non-critical activities
Non-critical activities with least float
Non-critical activities
Resource Usage:
Need to maximize % usage of resources i.e. reduce idle periods between tasks
Need to balance costs against early completion date
Need to allow for contingency
Critical path:
Scheduling resources can create new dependencies between activities recall
critical chains
It is best not to add dependencies to the activity network to reflect resource
constraints
Makes network very messy
A resource constraint may disappear during the project, but link remains on
network
Amend dates on schedule to reflect resource constraints
While allocating activities to the individuals factors to be considered are:
Availability who is free? Note that this will change during the course of the project
as some tasks are completed earlier or later than planned
Criticality You would want to put your more experienced, safer, staff on the
critical activities
Risk this is similar to the point above, but some activities could be off the critical
path but still have risks e.g. to the quality of subsequent products
Training despite concerns about minimizing risk, it is healthy to take some risks in
order to develop staff capabilities by allocating challenging tasks to relatively
inexperienced staff
Team-building identifying people who work well together can pay dividends;
chopping and changing plans all the time may in theory optimize project
performance, but can in practice be demotivating for staff
Cost schedules:
Staff costs includes not just salary, but also social security contributions by the
employer, holiday pay etc. Timesheets are often used to record actual hours spent
on each project by an individual. One issue can be how time when a staff member is
allocated and available to the project, but is not actually working on the project, is
dealt with.
Overheads e.g. space rental, service charges etc. Some overheads might be
directly attributable to the project; in other cases a percentage of departmental
overheads may be allocated to project costs.
Usage charges some charges can be on a pay as you go basis e.g. telephone
charges, postage, car mileage at the planning stage an estimate of these may have
to be made
Chapter 9 Monitoring & Control
Monitoring & Control:
Monitoring (progress) can be done in following ways:
RAG reporting
Identify key tasks
Break down into sub-tasks
Assess subtasks as:
Green on target
Amber not on target but recoverable
Red not on target and recoverable only with difficulty
Status of critical tasks is particularly important
Gantt Charts
Slip Charts
Ball Charts
Timeline
Cost Monitoring:
A project could be late because the staff originally committed, have not been
deployed
In this case the project will be behind time but under budget
A project could be on time but only because additional resources have been added
and so by over budget
Need to monitor both achievements and costs
Earned Value Analysis:
Planned value (PV) or Budgeted cost of work scheduled (BCWS) original estimate
of the effort/cost to complete a task (compare with idea of a price)
Earned value (EV) or Budgeted cost of work performed (BCWP) total of PVs for the
work completed at this time
Example:
Tasks
Specify module 5 days
Code module 8 days
Test module 6 days
At the beginning of day 20, PV = 19 days
If everything but testing completed, EV = 13 days
Schedule variance = EV-PV i.e. 13-19 = -6
Schedule performance indicator (SPI) = EV/PV
i.e. 13/19 = 0.68
Actual cost (AC) is also known as Actual cost of work performed (ACWP)
In previous example, if
Specify module actually took 3 days (planned 5 days)
Code module actually took 4 days (planned 8 days)
Actual cost = 7 days
Cost variance (CV) = EV-AC
i.e. 13-7 = 6 days
Cost performance indicator (CPI) = EV/AC
i.e. = 13/7 = 1.86
Positive CV or CPI > 1.00 means project under budget or the work is completed better than planned.
Change control: Set of procedures to ensure that changes made only after a consideration of
the full impacts.
Configuration management: Version control to ensure that all changes are properly
recorded and managed and so that knock-on effects on other projects can be identified.
Case Studies: PMBOK & SWEBOK
PMBOK also known as Project Management Body of Knowledge.
Areas include:
Project Integration Management: effective integration of the processes
required to accomplish project objectives
Project Scope Management: defines and controls what is and is not
included in the project
Project Time Management: includes processes required for the timely
completion of a project
Project Cost Management: planning, estimating, budgeting and controlling
costs to ensure the project can be completed within the approved budget
Project Quality Management: all activities that determine quality policies,
objectives and responsibilities for the project to satisfy the needs for which
it was undertaken
Project Human Resource Management: processes that organize and
manage the project team
Project Communications Management: activities to ensure project
information is timely and appropriately generated, collected, distributed,
stored, retrieved and disposed of
Project Risk Management: processes to increase the probability and impact
of positive events and decrease the probability and impact of negative
events
Project Procurement Management: processes to purchase/acquire the
products, services or results needed to perform the project work; includes
contract management and change control processes to administer contracts
or purchase orders
SWEBOK also known as Software Engineering Body of Knowledge.