Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 34

• Software Project Management: Introduction to metrics.

Costing,
Scheduling and Tracking techniques. Software configuration
management - versioning. Reusable components. Mathematical
methods of risk assessment and management. Methods of software
licensing and introduction to free software.
Software Metrics Areas
Software metrics provide quantitative information to the management process to control

the development phase. Metric is used to monitor or control 3 basic areas of software:

- The cost

- Schedule

- Quality
Why need of software metrics?
• Increase return on investment (ROI)
• Identify areas of improvement.
• Manage workloads.
• Reduce overtime.
• Reduce costs.
Types of Metrics
Project Metrics
• Size estimation
• Schedule estimation
• Number of software developers
• Staffing pattern
• Cost estimation
• Productivity estimation
1. Size Estimation of Project
• Lines of Code
• Number of entities in ER diagram
• Total number of processes in detailed data flow diagram
• Function points: Function Point (FP) is a unit of measurement to
express the amount of business functionality
Steps to measure FP( or, DFP)
 Count the number of inputs, outputs, inquiries, master files, and interfaces
required, then calculate the Unadjusted Function Points (UFP)

 Calculate the adjusted function point (AFP) ( Product complexity adjustment) by


multiplying the UFP and the complexity adjustment factor (N or CAF).

 Calculate the size

in terms of functional units i.e. DFP { delivered function point} (or, FP)

 Source Lines of Code (SLOC) : FP* Language Factor (LF)


FP Attributes
Measurements Parameters Examples
1.Number of External Inputs(EI) Input screen and tables
2. Number of External Output (EO) Output screens and reports
3. Number of external inquiries (EQ) Prompts and interrupts.
4. Number of internal logical files (ILF) Databases and directories
5. Number of external interfaces (EIF) Shared databases and shared routines.

All these parameters are individually assessed for


complexity.
level of complexity for 5 FP Attributes
Level 1: simple: when few external input affect few internal logic file
Level 2: Average: when average external input affect few internal logic
file
Level 3: complex: many external input affect many internal logical files.

Parameter Simple Average Complex


Inputs 3 4 6
Outputs 4 5 7
Enquiry 3 4 6
Files 7 10 15
Interfaces 5 7 10
GSC’s ( General System Characteristics)
1. Data communications
2. Distributed processing
3. Performance objectives
4. Operation configuration load
5. Transaction rate
6. Online data entry,
7. End user efficiency
8. Online update
9. Complex processing logic
10. Re-usability
11. Installation ease
12. Operational ease
13. Multiple sites
14. Desire to facilitate changes
After UFP , environment complexity is found. For this, 14 characteristics
of the system is given rating from 0 to 5.
0- no influence
1- insignificant influence
2- moderate influence
3-average influence
4- significant influence
5- strong influence
AFP(or, PCA), CAF(or, N), FP and SLOC

1.Complexity Adjustment factor (N) ranges from 0 to 70 (14*5 )


( 14- is GSC’s and 5- FP attributes)
2. Adjusted function Point (AFP) (or, Product complexity adjustment)=
Formula: 0.65+0.01* N
AFP= 0.65+0.01*70= 1.35
AFP lies between 0.65 to 1.35.
3. FP or DFP( Delivered Function Point) = AFP* UFP
UFP: Unadjusted Function point( or, raw FP)
4. SLOC= FP* LF
Example
Simple Average Complex Sum

Member Login
Input
3

Member Registration
4 4

Select research question for regression


analysis 4

Select research question for correlation


analysis 4

Select research question for hypothesis


test analysis 4

Select research question for Chi


Square test analysis 4
27
Sum

Member login confirmation 3


outputs

Member Registration
confirmation 3

Graph/Table of regression
analysis

Graph/Table of correlation
analysis 3

Graph/Table of hypothesis test


analysis 3

Graph/Table of Chi square test


3
analysis

15
Inquiries Validate member information
4
View alumni list
4
8
Files Linear regression
10
correlation
10
Hypothesis test
10
Chi square test
10
40
Interfaces Application server to database
10
User to application server
10
20
Total UFP
110

UFP( raw FP)= 110


CAF(or, N)
Number Complexity Weighting Factor Value
1 Backup and recovery 1
2 Data communications 2
3 Distributed processing 2
4 Performance critical 5
5 Existing operating environment 3
6 On-line data entry 3
7 Input transaction over multiple screens 1
8 Master files updated online 3
9 Information domain values complex 5
10 Internal processing complex 4
11 Code designed for reuse 5
12 Conversion/installation in design 4
13 Multiple installations 4
14 Application designed for change 4
Total complexity adjustment value( N) 46
AFP( or, Product Complexity Adjustment ( PCA))
= 0.65 + 0.01 * N
= 0.65 +0.01* 46
= 1.11

Delivered Function point ( DFP) or FP= AFP * UFP


= 1.11*110
= 122.1
•Language Factor (LF) for Java = 38

LF depends on metaprogramming features like : self hosted optimizing compiler (a compiler

that can compile its own source code. Eg: kernels, assemblers, command-line interpreters ) ,

automatic memory management, IDE, Metaprogramming ( a program designed to read,

generate, analyze or transform other programs, and even modify itself while running.)

U should know LF for Python, C , C++=??? And why ?

• Source Lines of Code (SLOC) = FP * LF = 122*38=4636


2. Schedule Metrics
Schedule Variance: Schedule Variance is an indicator of whether a
project schedule is ahead or behind.
1. BCWP ( EV) : Budgeted Cost of Work Performed. Cost of activities in
budget that actually were completed.
EV = BAC * Actual % Complete
2. BCWS ( PV): Budgeted Cost of Work Scheduled. It is the budget for
the entire project. Also called ,Time-Phased Budget . Cost of the
activities in a budget that were planned to be complete.
PV = BAC * Planned % Complete
3. Schedule Variance( SV)= BCWP ( EV)- BCWS ( PV)
SV gives absolute indication of variance from planned schedule.
4. ACWP = Actual Cost of Work Performed.
5. Cost Variance ( CV) (or, Budget Variance):.
Cost Variance (CV) = Earned Value (EV) – Actual Cost (AC)
= BCWP – ACWP

CV gives absolute indication of cost savings ( against planned cost)


3. CPI and SPI
• Cost Performance Index (CPI)
measure of the actual work completed ( in earned value cost) to the
actual cost incurred: CPI = EV / AC.
CPI close to 1.0 indicate strong indication that project is within its
defined budget.
• Schedule Performance Index (SPI)
measure of the actual work completed (in earned value cost) to the
planned value cost: SPI = EV / PV.
SPI if close to 1.0 means efficient execution of project schedule.
BAC, EAC , ETC and VAC
1.Budgeted Cost At Completion( BAC): total budget estimate created at the beginning of a
project.
BAC= summation ( BCWS k) for all tasks k

2.Estimated Cost At Completion(EAC):a performance parameter which can be computed at any


stage of the project based on historical performance.
EAC= BAC/CPI , EAC= AC+ ETC
EAC= AC+(BAC-EV)

If CPI = 1, then EAC = BAC. This means you can complete your project with your approved budget
analysis.
3. ETC ( Estimate To Complete): Estimate to complete i.e. it gives how much more time require to
complete project.
ETC= EAC-AC
4. VAC ( Variance at Completion)
= BAC- EAC

If VAC is positive , means the project is under budget.

If the VAC is negative means the project will be over budget.


5. To-Complete Performance Index (TCPI)
TCPI= (BAC – EV)/(BAC – AC) { if based on BAC}
TCPI =(BAC – EV)/(EAC – AC) { if based on EAC}
6. Percent scheduled for completion = BCWS [PV]/ BAC ( to find % of project work that
should have been completed at time ‘t’)
7. Percent of Completeness of the project at a given point in time ‘t’
percent complete= BCWP[EV]/ BAC
PMP ( Project Management Programs) Exam
• PMI is the certifying institution while PMP is one of the certifications
offered by PMI.
• Project Management Body of Knowledge (PMBOK): a collection of
best practices and standards for project management.
• You are the project manager on a project that has $800,000 software
development effort. There are two teams of programmers that will
work for six month for a total of 10,000 hours. According to the
project schedule your team should be done with 38% of the work. As
of today, the project is 40% complete while 50% budget has been
used. Calculate and share your conclusion.
Ans: BAC = $800,000 (given)
• AC = $400,000 (50% budget used)
• PV = BAC * Planned % Complete
= 800,000 * 38 = $304,000
• EV = BAC * Actual % Complete
= 800,000 * 40 = $320,000
• CV = EV – AC
= 320,000 – 400,000 = -80,000
• CPI = EV / AC
= 320,000 / 400,000 = 0.8
• SV = EV – PV
= 320,000 – 304,000 = 16,000
• SPI = EV / PV
= 320,000 / 304,000 = 1.05
• Since CPI is less than 1, the project is over budget
• Since SPI >1, the project is ahead of schedule. SV =16000 means we spent 16000 more than
the money need to spent at the schedule( status date). CV is –ve means , we are spending
over budget.
• In conclusion, as a Project Manager you should try to cut the project
costs.
• There is a concept known as Value Analysis that seeks to cut costs on
the same project scope.
Your project is scheduled for 2 years. There are six different teams
working on five major functional areas. Some teams are ahead of
schedule while others are falling behind. There are cost overruns in
some areas but you’ve also saved costs in others. Due to all this, it is
difficult to understand whether you are over or under budget. Nine
months into the project, while the total project budget is $4,200,000,
you’ve already spent $1,650,000. CPI is 0.875. Perform EV analysis and
forecast
• EAC = BAC / CPI
= 4,200,000 / 0.875 = 4,800,000

• VAC = BAC – EAC


= 4,200,000 – 4,800,000 = -600,000

• Since the Variance At Completion is negative, the project will be over


budget at completion by $600,000

You might also like