1 / 60

Software Metrics and Measurements

Software Metrics and Measurements. Supannika Koolmanojwong CS577. Outline. General Concepts about Metrics Example of Metrics Agile Metrics Case Studies Metrics from Empirical Data – Northrop Grumman Metrics in IT services – Lockheed Martin. Measurements in daily life.

Download Presentation

Software Metrics and Measurements

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Software Metrics and Measurements Supannika Koolmanojwong CS577

  2. Outline • General Concepts about Metrics • Example of Metrics • Agile Metrics • Case Studies • Metrics from Empirical Data – Northrop Grumman • Metrics in IT services – Lockheed Martin

  3. Measurements in daily life

  4. Why do we measure?

  5. http://www.teamqualitypro.com/software-metrics/do-you-know-your-abcs-of-software-metrics/http://www.teamqualitypro.com/software-metrics/do-you-know-your-abcs-of-software-metrics/

  6. Objectives of software measurement • “You can not control what you cannot measure.” – Tom DeMarco • “Not everything that counts can be counted. Not everything that is counted counts.” – Albert Einstein

  7. Software Metrics • Numerical data related to software development • Strongly support software project management activities • Can be directly observable quantities or can be derived from one

  8. A simplified measurement information model Information products Decisions / Actions Measurements Information needs Information Needs, Objectives, Control Attributes Process Work Products Results Ref: Ebert and Dumke 2007

  9. How the software measurements are used? • Understand and communicate • Specify and achieve objectives • Identify and resolve problems • Decide and Improve

  10. Measurement Standard How to do How to do better ISO/IEC 12207 Software Life Cycle Processes ISO/IEC 15288 System Life Cycle processes SWEBOK Software Engineering Body of Knowledge PMBOK Project Management Body of Knowledge CMMI Capability Maturity Model Integration ISO 15504 Software Process Capability Determination ISO 9001 Quality Management System ISO/IEC 9126 Software Product Quality TL 9000, AS 9100, etc. Objectives adaptations How to measure what you are doing ISO/IEC 15939:2002 Software Measurement Process

  11. Ground rules for a Metrics • Metrics must be • Understandable to be useful • Economical • Field tested • Highly leveraged • Timely • Must give proper incentives for process improvement • Evenly spaced throughout all phases of development • Useful at multiple levels http://www.stsc.hill.af.mil/resources/tech_docs/gsam3/chap13.pdf

  12. Measurements for Senior Management • Easy and reliable visibility of business performance • Forecasts and indicators where action is needed • Drill-down into underlying information and commitments • Flexible resource refocus

  13. Measurements for Project Management • Immediate project reviews • Status and forecasts for quality, schedule, and budget • Follow-up action points • Report based on consistent raw data

  14. Metrics for Senior Management

  15. Measurements for Engineers • Immediate access to team planning and progress • Get visibility into own performance and how it can be improved • Indicators that show weak spots in deliverables • Focus energy on software development

  16. http://www.ibm.com/developerworks/rational/library/customized-reports-rational-team-concert/http://www.ibm.com/developerworks/rational/library/customized-reports-rational-team-concert/

  17. The E4-Measurement Process Objectives, needs Decisions, re-direction, updated plans Business Process Environment, resources 1. Establish 2. Extract 3. Evaluate 4. Execute Ref: Ebert and Dumke 2007

  18. Aggregation of information Cash flow, Shareholder value, Operations cost Cost reduction, Sales, margins, Customer Service Sales, cost reduction, innovative products, level of customization Cycle time, quality, cost, productivity, customer satisfaction, resources, skills

  19. SMART goals • Specific - precise • Measurable - tangible • Accountable – in line with individual responsibilities • Realistic - achievable • Timely – suitable for the current needs

  20. Components of software measurements

  21. Example of Metrics • Progress / Effort / Cost Indicator • Earned value management • Requirements / Code Churn • Defect-related metrics • Test-related metrics

  22. Size • How big is the healthcare.gov website? • http://www.informationisbeautiful.net/visualizations/million-lines-of-code/

  23. Size • Earth System Modeling Framework Project http://www.earthsystemmodeling.org/metrics/sloc.shtml

  24. Progress Indicator

  25. Effort Indicator

  26. Cost Indicator

  27. Earned value management • Planned Value (PV) or Budgeted Cost of Work Scheduled (BCWS) • Earned Value (EV) or Budgeted Cost of Work Performed (BCWP) http://en.wikipedia.org/wiki/Earned_value_management

  28. Burndown Chart http://en.wikipedia.org/wiki/Burn_down_chart

  29. Requirements Churn/ Requirements Creep/ Requirements Volatility • number of changes to system requirements in each phase/week/increment

  30. Code Churn • Software change history • Large / recent changes • Total added, modified and deleted LOC • Number of times that a binary was edited • Number of consecutive edits

  31. Code Complexity • Gathered from code itself • Multiple complexity values • Cyclomatic complexity • Fan-In / Fan-Out of functions • Lines of Code • Weighted methods per class • Depth of Inheritance • Coupling between objects • Number of subclasses • Total global variables

  32. Code coverage • Degree to which the source code is tested • Statement coverage • Has each node in the program been executed? • Branch coverage • Has each control structure been evaluated both to true and false?

  33. Code Coverage http://www.firstlinesoftware.com/metrics_group2.html

  34. JUnit Code CoverageTool instruments byte code with extra code to measure which statements are and are not reached. Line Level Coverage A Code Coverage Report Package Level Converage http://www.cafeaulait.org/slides/albany/codecoverage/Measuring_JUnit_Code_Coverage.html

  35. Defect reporting metric • Can be categorized by • Status • Remaining / Resolved / Found • Defect Sources • Requirements / Design / Development • Defect found • Peer review / unit testing / sanity check • Time • Defect arrival rate / Defect age

  36. Defect Status

  37. Defect Density

  38. Test Pass Coverage http://www.jrothman.com/Papers/QW96.html

  39. Defect Density

  40. Defect Per LOC

  41. Developer Code Review After 60‒90 minutes, our ability to find defects drops off precipitously http://answers.oreilly.com/topic/2265-best-practices-for-developer-code-review/

  42. As the size of the code under review increases, our ability to find all the defects decreases. Don’t review more than 400 lines of code at a time. http://answers.oreilly.com/topic/2265-best-practices-for-developer-code-review/

  43. Top 6 Agile Metrics Ref: Measuring Agility, Peter Behrens

  44. Velocity = Work Completed per sprint Ref: Measuring Agility, Peter Behrens

  45. Case studies • Metrics from Empirical Data – Northrop Grumman • Metrics in IT services – Lockheed Martin

  46. Richard W. Selby, Northrop Grumman Space Technology, ICSP '09Title: "Synthesis, Analysis, and Modeling of Large-Scale Mission-Critical Embedded Software Systems"

More Related