Software Metrics
Sivaraam Duraisamy
 Measurement – Data
 Metrics – Analyzed Result
Metrics
 Size
 Function Points
 Feature Points
 Story Points
 Person Days
 Lines of Code
 Effort
 Person Days/Months
 Complexity
 Requirements
 Change Requests
 Database size
 Test Cases
 Defects found at source
 Defects found at customer end
Measurements in Software
 Metrics helps the team to
 have a control over the projects
 to take corrective actions to align with the goals
 better estimations
 to know where team stands on the expectation
 improve trust
 improve confidence
Metrics
 Effort Variation
 Organizations’ main objective is to make profit
 Profit = Revenue – expenses
 Most of the proposals are done based on the efforts estimated
 The gap between the effort estimated and the actual efforts
spent decides the profit
 So the effort variation is one of the important factor that decides
the success of the project
Effort Variation =
(Actual Effort Spent - Estimated Effort)
-------------------------------------------------------------------------------------------
Estimated Effort
Metrics – Organization Requirements
 Size Variation
 Organizations’ main objective is to make profit
 Profit = Revenue – expenses
 Proposals are done based on the size of the projects
 Normally the requirements are changing throughout the life
cycle
 The gap between the size estimated and the actual size also
plays a major role in deciding the profit
 So the size variation is one of the important factor that decides
the success of the project
(Actual Size - Estimated Size)
Size Variation = --------------------------------------------------------
Estimated Size
Metrics – Organization Requirements
 Schedule Variation
 Delivery on time is one of the primary factor to win the customer
satisfaction, which may bring the continued business
 Delivery on time increase the trust on the producer by the client
 Delayed delivery may lead to loss to producer as well as the
client
 So schedule variation is also one of the key factor in deciding the
continued and enhanced business
Schedule Variation =
(Actual Delivery Date – Committed Delivery Date )
-------------------------------------------------------------------------------------------
Duration of the project in calendar days
Metrics – Organization Requirements
(Contd…)
 Scope Coverage
 In the case of the projects following Agile-Scrum, everything is time boxed
 So no chance of schedule variation
 The deviation will be on Scope covered only
 Agile Scrum teams forecast the deliverables in terms of scope
 Delivery as per the forecast increase the trust on the team by the customer
 Delivery as per the forecast also make the teams life easier for further
planning
 More and frequent de-scoping will affect the performance of the scrum
team
 So scope coverage is also one of the key factor in the projects following Agile
Scrum
Scope Completed
Scope Coverage = ----------------------------------------------------------
Scope Forecasted
Metrics – Organization Requirements
(Contd…)
 Customer Reported Defects
 For a continued business, customer trust is an important
one
 Delivered Quality Product is one of the factor which
increases trust
 If the delivery is made on time without quality is also a
problem
 Quality of the product is decided by the client based on the
number of defects found at the customer place
 That too if the defects are blocking their activity, resulting
in business loss will severely affect the business
relationship
 So the top priority we can say there should
not be any blocker defects at customer end
Metrics – Organization Requirements
(Contd…)
 Customer Reported Defects
 At the same time it is much difficult to completely avoid the
defects
 As a goal, fixing the count of the defects is also not good,
because the count of defect depends on the size of the project
 Defect Leakage is the metrics which will help to work towards
minimizing the defects at customer end
Defect Leakage =
Defects reported by the Client
--------------------------------------------------------------------------------------------
Defect found during development by the team + Defects reported by the Client
Metrics – Organization Requirements
(Contd…)
 Organization also require some more metrics from
other departments like Human Resource
Department, System Administration, General
Administration…etc.
 They need not be categorized under software
metrics
Metrics – Organization Requirements
(Contd…)
 Projects wants
 Effort Deviation
 Schedule Deviation
 Scope Coverage
 Defects Leakage
 Projects also want
 Requirement Stability
Metrics – Project Requirements
 Requirement Stability
 Because of the changes in the requirements the team may face
 Wastage of effort because of the change in requirements done on the finished
features
 More effort because of additional requirements
 Long hours work or week end work because delivery pressure along with changes
in requirements
 The metrics on the requirements stability will help the team to forecast their
quantum of deliverables
 The root cause analyzes on the change in requirements along with the corrective
action will help in minimizing the changes by improving the requirement study
method
Requirements Stability =
Total no of features underwent changes + No of new features added
------------------------------------------------------------------------------------------------------------------------
Total no of features initially given
Metrics – Project Requirements
(Contd…)
 Few of the metrics which may not be directly needed by the
organization and projects, but needed by the individuals for
their own development
 Defects found during Unit Testing
 Defects found by the testing team
 Quality of code developed
Metrics – Individuals
 Defect found during Unit testing
 Normally the Unit testing is done by the developer on his/her code
developed
 The count of the defect found in a unit of work done, shows the
developers competitiveness
 He/she can take corrective actions to bring it down to improve his/her
efficiency
 The self confidence improves when the defect count goes down
 Code Quality
 The code quality may be measured based on the comments received
through manual / automated code reviews
 The learning and the corrective actions taken will improve the code
quality
 The performance of the system also improve considerably
Metrics – Individuals (Contd…)
 Only the basic software metrics are discussed
 Though the categorization is made as Organization,
Project and Individual, all the metrics help all. The
categorization is made based on the primary
beneficiary
Software Metrics
THANK YOU
sivaraam_sai@yahoo.co.in
 Steve McConne. “Software Estimation”, 2006,
Microsoft Corporation.
Further Reading

Software metrics

  • 1.
  • 2.
     Measurement –Data  Metrics – Analyzed Result Metrics
  • 3.
     Size  FunctionPoints  Feature Points  Story Points  Person Days  Lines of Code  Effort  Person Days/Months  Complexity  Requirements  Change Requests  Database size  Test Cases  Defects found at source  Defects found at customer end Measurements in Software
  • 4.
     Metrics helpsthe team to  have a control over the projects  to take corrective actions to align with the goals  better estimations  to know where team stands on the expectation  improve trust  improve confidence Metrics
  • 5.
     Effort Variation Organizations’ main objective is to make profit  Profit = Revenue – expenses  Most of the proposals are done based on the efforts estimated  The gap between the effort estimated and the actual efforts spent decides the profit  So the effort variation is one of the important factor that decides the success of the project Effort Variation = (Actual Effort Spent - Estimated Effort) ------------------------------------------------------------------------------------------- Estimated Effort Metrics – Organization Requirements
  • 6.
     Size Variation Organizations’ main objective is to make profit  Profit = Revenue – expenses  Proposals are done based on the size of the projects  Normally the requirements are changing throughout the life cycle  The gap between the size estimated and the actual size also plays a major role in deciding the profit  So the size variation is one of the important factor that decides the success of the project (Actual Size - Estimated Size) Size Variation = -------------------------------------------------------- Estimated Size Metrics – Organization Requirements
  • 7.
     Schedule Variation Delivery on time is one of the primary factor to win the customer satisfaction, which may bring the continued business  Delivery on time increase the trust on the producer by the client  Delayed delivery may lead to loss to producer as well as the client  So schedule variation is also one of the key factor in deciding the continued and enhanced business Schedule Variation = (Actual Delivery Date – Committed Delivery Date ) ------------------------------------------------------------------------------------------- Duration of the project in calendar days Metrics – Organization Requirements (Contd…)
  • 8.
     Scope Coverage In the case of the projects following Agile-Scrum, everything is time boxed  So no chance of schedule variation  The deviation will be on Scope covered only  Agile Scrum teams forecast the deliverables in terms of scope  Delivery as per the forecast increase the trust on the team by the customer  Delivery as per the forecast also make the teams life easier for further planning  More and frequent de-scoping will affect the performance of the scrum team  So scope coverage is also one of the key factor in the projects following Agile Scrum Scope Completed Scope Coverage = ---------------------------------------------------------- Scope Forecasted Metrics – Organization Requirements (Contd…)
  • 9.
     Customer ReportedDefects  For a continued business, customer trust is an important one  Delivered Quality Product is one of the factor which increases trust  If the delivery is made on time without quality is also a problem  Quality of the product is decided by the client based on the number of defects found at the customer place  That too if the defects are blocking their activity, resulting in business loss will severely affect the business relationship  So the top priority we can say there should not be any blocker defects at customer end Metrics – Organization Requirements (Contd…)
  • 10.
     Customer ReportedDefects  At the same time it is much difficult to completely avoid the defects  As a goal, fixing the count of the defects is also not good, because the count of defect depends on the size of the project  Defect Leakage is the metrics which will help to work towards minimizing the defects at customer end Defect Leakage = Defects reported by the Client -------------------------------------------------------------------------------------------- Defect found during development by the team + Defects reported by the Client Metrics – Organization Requirements (Contd…)
  • 11.
     Organization alsorequire some more metrics from other departments like Human Resource Department, System Administration, General Administration…etc.  They need not be categorized under software metrics Metrics – Organization Requirements (Contd…)
  • 12.
     Projects wants Effort Deviation  Schedule Deviation  Scope Coverage  Defects Leakage  Projects also want  Requirement Stability Metrics – Project Requirements
  • 13.
     Requirement Stability Because of the changes in the requirements the team may face  Wastage of effort because of the change in requirements done on the finished features  More effort because of additional requirements  Long hours work or week end work because delivery pressure along with changes in requirements  The metrics on the requirements stability will help the team to forecast their quantum of deliverables  The root cause analyzes on the change in requirements along with the corrective action will help in minimizing the changes by improving the requirement study method Requirements Stability = Total no of features underwent changes + No of new features added ------------------------------------------------------------------------------------------------------------------------ Total no of features initially given Metrics – Project Requirements (Contd…)
  • 14.
     Few ofthe metrics which may not be directly needed by the organization and projects, but needed by the individuals for their own development  Defects found during Unit Testing  Defects found by the testing team  Quality of code developed Metrics – Individuals
  • 15.
     Defect foundduring Unit testing  Normally the Unit testing is done by the developer on his/her code developed  The count of the defect found in a unit of work done, shows the developers competitiveness  He/she can take corrective actions to bring it down to improve his/her efficiency  The self confidence improves when the defect count goes down  Code Quality  The code quality may be measured based on the comments received through manual / automated code reviews  The learning and the corrective actions taken will improve the code quality  The performance of the system also improve considerably Metrics – Individuals (Contd…)
  • 16.
     Only thebasic software metrics are discussed  Though the categorization is made as Organization, Project and Individual, all the metrics help all. The categorization is made based on the primary beneficiary Software Metrics
  • 17.
  • 18.
     Steve McConne.“Software Estimation”, 2006, Microsoft Corporation. Further Reading