Project Management. PART - II. Software Project Management. Organising, planning and scheduling software projects. Concerned with activities involved in ensuring that software is delivered on time within the budget in accordance with the requirements.
PART - II
How to lead?
How to collaborate?
How to organize?
How to motivate?
How to create good ideas?
The following factors must be considered when selecting a software project team structure ….
Customers and software developers must meet
Once a process framework has been established
Re-useable Software Resources:
% Effort x # Months Pay x % Appointment = Person Months
Professor XYZ has an appointment for nine months. He will expend 10 percent of his effort on a postgraduate project for the academic year, and 66 percent effort in teaching undergraduate students for three months. Person months are calculated as follows:
for (i=0; i<100; ++i)
/* Now how many lines of code is this? */
In this example, we have:
4 physical LOC
2 logical LOC
1 comment line
alpha 12,100 24 168 365 134 29 3
beta 27,200 62 440 1224 321 86 5
gamma 20,200 43 314 1050 256 64 6
. . . . .
. . . . .
. . . . .
Five Major Components of FP Analysis
Five Major Components of FP Analysis
For Logical Files and External Interfaces (DATA):
# of RET1-19 DET20-50 DET50+ DET
1 Low Low Ave
2 -5 Low Avg High
6+ Avg High High
For Input/Output/Query (TRANSACTIONS):
# of FTR1-4 DET5 -15 DET16+ DET
0 - 1 Low Low Ave
2 Low Avg High
3+ Avg High High
5 Basic Entity Types uses the RET, DET, and FTRfor Complexity Evaluation
Measurement parameter count simple average complex
number of user inputs 3 4 6 =
number of user outputs 4 5 7 =
# of user inquiries 3 4 6 =
number of files 7 10 15 =
# of external interfaces5 7 10 =
Then use the following formula:
where TCF is called the Technical Complexity Factor
which is computed as
In the above equation, (Fi), i= 1,2,3, ... are called the
Complexity Adjustment Values. See the next slide for
errors per FP
defects per PF
Dollars per FP
pages of Documentation per FP
FP per person month.
The Fi (i = 1 to 14) are "complexity adjustment values" based on responses to the following questions:
1. Does the system require reliable backup and recovery?
2. Are data communications required?
3. Are there distributed processing functions?
4. Is performance critical?
5. Will the system run in an existing, heavily utilized operational environment?
6. Does the system require on-line data entry?
7. Does the on-line data entry require the input transaction to be built over multiple screens or operations?
8. Are the master files updated on-line?
9. Are the inputs, outputs, files, or inquiries complex?
10. Is the internal processing complex?
11. Is the code designed to be reusable?
12. Are conversion and installation included in the design?
13. Is the system designed for multiple installations in different organizations?
14. Is the application designed to facilitate change and ease of use by the user?
Computing Function Points:
Rate each factor on a scale of 0 to 5
3 simple X 2 = 6
4 average X 4 = 16
1 complex X 6 = 6
6 average X 5 = 30
2 complex X 7 = 14
5 complex X 15 = 75
8 average X 4 = 32
3 average X 7 = 21
4 complex X 10 = 40
Count Total= 240
Continuing our example . . .
Complex internal processing = 3
Code to be reusable = 2
High performance = 4
Multiple sites = 3
Distributed processing = 5
Fi = 17
FP = Count Total X [0.65 + (Fi X 0.01)]
= 240 X [0.65 + ( 17 X 0.01)]
= 240 X [0.82]
197 FP divided by 18 = 11 person-months
11 person-months X Rs. 5,200 = Rs. 57,200
Requirement: ability or functionality to add a new employee to the system.
which shows that 0.65 TCF 1.35. Assume that TCF = 1.15
FP = Count_totalTCF = 23 1.15 = 26.45
Count_total = 7 + 5 + 5 + 6 = 23
Calculate the Technical Complexity Factor (TCF):
The control dimension is measured by counting the number of transitions between states.
Control dimension is measured by summing the counts of both states and transitions.
full and start
invoke reload paper
Total 3D Function Point
Weights to Calculate 3 D Function Point
Compute 3D function point value for an embedded system with following characteristics.
Assuming the complexity of the above counts is average.
Measurement Parameter Count Weight Functional Count
No: of user inputs 12 3 36
No: of user outputs 60 5 300
No: of user enquiries 9 4 36
Internal data structures 6 10 60
External data structures 3 7 21
Transformations 36 5 180
Transitions 24 - 24
Nowassume that 14 questions have been counted and are equal to
Fi (i= 1,2,3,….,14) = 42
First we shall compute function points:
Consider the following Table
= 0.65+0.01×52 = 1.17
= 318 1.17 = 372
If average productivity is 6.5 FP/PM and labour rate = $8000,
cost per FP= 372$8000/6.5 = $457,000
The following table provides rough estimates of the average number of lines of code required to build one function point in various programming languages:
Company XYZ spent the following effort for each life cycle phase of the latest project (see Table). Calculate the effort in terms of LOC/programmer-day and in terms of function points/programmer day. The function point estimate was 50 unadjusted function points. The finished project included 950 lines of code.
Effort during phases
Productivity = LOC/Total Efforts
= 14.6 LOC/programmer’s day.
- an attempt to quantify “user friendliness”.
A Quality Metric That Provides Benefit at Both the Project and Process Level
DRE = E / ( E + D )
E = # of errors found before delivery of the software to the end user
D = # of defects found after delivery
DREi = Ei / ( Ei + Ei+1 )
Ei = # of errors found during SE activity i
Software Engineering process
The software equation is a dynamic multivariable model that assumes a specific distribution of effort over the life of a software development
The equation has the following form:
E = effort in person months or person years.
t = project duration in months or years.
B = Special skills factor. For KLOC (5, 15) use B = 0.16, for KLOC > 70, use B = 0.39
P = Productivity parameter.
LOC = Lines of Code.
• Overall process maturity and management practices
• The extent to which good software engineering practices are used
• The level of programming languages used
• The state of the software environment
• The skills and experience of the software team
• The complexity of the application
Typical values of the productivity parameter might be P = 2,000 for development of real-time embedded software; P = 10,000 for telecommunication and systems software; P = 28,000 for business systems applications.
To simplify the estimation process and use a more common form for their estimation model, Putnam and Myers in 1992 suggested a set of equations derived from the software equation. Minimum development time is defined as
tmin = 8.14 (LOC/P)0.43
in months for tmin > 6 months
E = 180 Bt3
in person-months for E ≥ 20 person-months
Example: Let P = 12000 and LOC = 33200, compute tmin and E.
Solution: tmin = 12.6 calendar months,
E = 58 person-months.
for small program KLC = 5 to 15 ………………… B = 0.16
for program greater than = 70 KLOC ……………B = 0.39
for embedded software P = 2000
for Telecomm and system software P = 10000
LOC = 15000
B = 0.16
P = embedded software = 2000
P = Telecomm & System software = 10000
P = Business application = 28000
t = 6 months = 0.5 years
E = BL3 / P3 t4
for Embedded software,
E = 0.16 (15000)3 = 1080 person year
E = 0.16 (15000)3 = 8.64 person years (10000)3 (0.5)4
for Business application,
E = 0.16 (15000)3 = 0.39 person year
COCOMO (Constructive Cost Model) was introduced by Barry Boehm and is one of the most frequently used cost models.
It consists of three different models of increasing complexity and level of detail.
It is well documented, available in the public domain and supported by public domain and commercial tools.
It has been widely used and evaluated in a range of organisations.
E = a(KLOC)b
DS = c(E)d
a = 2.4, b = 1.05, c = 2.5, d = 0.38.
a = 3.0, b = 1.12, c = 2.5, d = 0.35
a = 3.6, b = 1.20, c = 2.5, d = 0.32
Assume that you have been contacted by an Organization to develop CAD Software. After applying the size-oriented metrics an estimate of 33200 LOC is established. Using COCOMO model develop an effort, duration and no-of-person for CAD software. Consider the
a = 2.4, b = 1.05, c = 2.5, d = 0.35
E= 2.4 (33.2) ^ 1.05 = 94.93 person months
DS = 2.5 (94.93) ^ 0.35 = 12.30 months
No. of persons = 94.93 = 7.7 = 8 persons
The In House systems department has received a request from the raw material stores to develop a program to keep track of raw materials. This would be similar to the program already developed successfully and running at the finished goods store. An initial study has determined that the size of the program will be 45,000 KLOC. Calculate an estimate of the effort and schedule.
Finally, the decision to build or purchase is made based on the following conditions:
All concepts can be described better using statistical methods like Decision Tree Analysis.
Expected cost activity = (path probability) activity x (estimated path cost) activity
Calculate the software cost for building, reusing, buying, and contracting a software system by considering the following decision tree diagram. What decision would you like for this kind of software system?
Formula: Expected cost = (path probability) i x (estimated path cost) i
Expected cost (build) = (0.3) (380) + (0.7) (450) = 429
Expected cost (reuse)= (0.4) (275) + 0.6 [(0.2) (310) + (0.8) (490)]
Expected cost (buy) = (0.3) (210) + (0.6) (400) = 303
Expected cost (contract) = (0.6) (350) + (0.4) (500) = 410
Based on the probability and projected costs that have been given in tree, the lowest expected cost is in the “buy” option.