University of Southern California Center for Systems and Software Engineering Software Metrics and Measurements Supannika Koolmanojwong CS577 1.

Slides:



Advertisements
Similar presentations
How to Implement Agile in Your Organization
Advertisements

Software Metrics and Measurements
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
More CMM Part Two : Details.
Stoimen Stoimenov QA Engineer SitefinityLeads, SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
© The McGraw-Hill Companies, Software Project Management 4th Edition Monitoring and control Chapter 9.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
© Copyright Richard W. Selby and Northrop Grumman Corporation. All rights reserved. 0 Process Synchronization and Stabilization February 2007 Rick.
Stepan Potiyenko ISS Sr.SW Developer.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Project Measurement Source: Practical Software Measurement John McGarry, et.al.
Software Process and Product Metrics
Software Engineering Institute Capability Maturity Model (CMM)
Chapter 9. Intro  What is Project Management?  Project Manager  Project Failures & Successes Managing Projects  PMBOK  SDLC Core Process 1 – Project.
Cost Management Week 6-7 Learning Objectives
Process: A Generic View
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
Software Project Management Lecture # 8. Outline Earned Value Analysis (Chapter 24) Topics from Chapter 25.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
ARINC PROPRIETARY Measurement and Analysis JD Rosser SC-SPIN January 2008.
Software Engineering Software Process and Project Metrics.
Software Project Management Lecture # 7. Outline Project Scheduling.
Software Test Metrics When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure,
Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.
Software Measurement & Metrics
IT Requirements Management Balancing Needs and Expectations.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Software Project Management With Usage of Metrics Candaş BOZKURT - Tekin MENTEŞ Delta Aerospace May 21, 2004.
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
Software process improvement Framework for SPI SPI support groups, maturity and immaturity models Assessment and gap analysis Education and training Selection.
Chapter 11. Intro  What is Project Management?  Project Manager  Project Failures & Successes Managing Projects  PMBOK  SDLC Core Process 1 – Project.
Quality Activity Matrix Presented by Sandra Toalston President, SanSeek 1.
Software Quality Metrics
University of Southern California Center for Systems and Software Engineering Barry Boehm, USC CS 510 Software Planning Guidelines.
University of Southern California Center for Systems and Software Engineering Metrics Organizational Guidelines [1] ©USC-CSSE1 [1] Robert Grady, Practical.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
University of Southern California Center for Systems and Software Engineering Software Metrics and Measurements Supannika Koolmanojwong CS577 1.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
Apply Quality Management Techniques Project Quality Processes Certificate IV in Project Management Qualification Code BSB41507 Unit Code BSBPMG404A.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Chapter 3: Software Project Management Metrics
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Chapter 6: THE EIGHT STEP PROCESS FOCUS: This chapter provides a description of the application of customer-driven project management.
BSBPMG404A Apply Quality Management Techniques Apply Quality Management Techniques Project Quality Processes C ertificate IV in Project Management
University of Southern California Center for Systems and Software Engineering Software Metrics and Measurements Supannika Koolmanojwong CS577 1.
Metrics "A science is as mature as its measurement tools."
Project Management Processes for a Project
Software Engineering (CSI 321) Software Process: A Generic View 1.
Project Management Strategies Hidden in the CMMI Rick Hefner, Northrop Grumman CMMI Technology Conference & User Group November.
Class-oriented metrics – Weighted methods per class, depth of the inheritance tree, number of children, coupling, response for class, lack of cohesion.
CS223: Software Engineering Lecture 21: Unit Testing Metric.
University of Southern California Center for Systems and Software Engineering Barry Boehm, USC CS 510 Fall 2010 Software Planning Guidelines.
Z26 Project Management Metrics appropriate metrics for iterative projects Lecture 4a Graham Collins, UCL
Chapter 11 Project Management.
CS 577b: Software Engineering II
Software Metrics 1.
CS4311 Spring 2011 Process Improvement Dr
Chapter 18 Maintaining Information Systems
Software Engineering (CSI 321)
د. حنان الداقيز خريف /28/2016 Software Quality Assurance ضمان جودة البرمجيات ITSE421 5 – The components of the SQA.
Software Project Sizing and Cost Estimation
Software Engineering I
Software metrics.
Metrics Organizational Guidelines [1]
Presentation transcript:

University of Southern California Center for Systems and Software Engineering Software Metrics and Measurements Supannika Koolmanojwong CS577 1

University of Southern California Center for Systems and Software Engineering Outline General Concepts about Metrics Example of Metrics Agile Metrics Metrics from Empirical Data 2

University of Southern California Center for Systems and Software Engineering 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 3

University of Southern California Center for Systems and Software Engineering 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 4

University of Southern California Center for Systems and Software Engineering A simplified measurement information model 5 Ref: Ebert and Dumke 2007 Decisions / Actions Measurements ProcessWork Products Information products Information needs Attributes Results Information Needs, Objectives, Control

University of Southern California Center for Systems and Software Engineering How the software measurements are used? Understand and communicate Specify and achieve objectives Identify and resolve problems Decide and Improve 6

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

University of Southern California Center for Systems and Software Engineering 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 8

University of Southern California Center for Systems and Software Engineering 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 9

University of Southern California Center for Systems and Software Engineering 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 10

University of Southern California Center for Systems and Software Engineering Project management supporting metrics 1.Planning - Metrics serve as a basis of cost estimating, training planning, resource planning, scheduling, and budgeting. 2.Organizing - Size and schedule metrics influence a project's organization. 3.Controlling - Metrics are used to status and track software development activities for compliance to plans. 4.Improving - Metrics are used as a tool for process improvement and to identify where improvement efforts should be concentrated and measure the effects of process improvement efforts. 11

University of Southern California Center for Systems and Software Engineering 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 12

University of Southern California Center for Systems and Software Engineering What do you want to measure? Processes –Software-related activities Products –Artifacts, deliverables, documents Resources –The items which are inputs to the process 13

University of Southern California Center for Systems and Software Engineering Components of software measurements 14

University of Southern California Center for Systems and Software Engineering Example of Metrics Progress / Effort / Cost Indicator Earned value management Requirements / Code Churn Defect-related metrics Test-related metrics 15

University of Southern California Center for Systems and Software Engineering Progress Indicator 16

University of Southern California Center for Systems and Software Engineering Effort Indicator 17

University of Southern California Center for Systems and Software Engineering Cost Indicator 18

University of Southern California Center for Systems and Software Engineering Earned value management Planned Value (PV) or Budgeted Cost of Work Scheduled (BCWS) Earned Value (EV) or Budgeted Cost of Work Performed (BCWP) 19

University of Southern California Center for Systems and Software Engineering Burndown Chart 20

University of Southern California Center for Systems and Software Engineering Requirements Churn/ Requirements Creep/ Requirements Volatility number of changes to system requirements in each phase/week/increment 21

University of Southern California Center for Systems and Software Engineering 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 22

University of Southern California Center for Systems and Software Engineering 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 23

University of Southern California Center for Systems and Software Engineering 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? 24

University of Southern California Center for Systems and Software Engineering Code Coverage 25

University of Southern California Center for Systems and Software Engineering 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 26

University of Southern California Center for Systems and Software Engineering Defect Status 27

University of Southern California Center for Systems and Software Engineering Defect Density 28

University of Southern California Center for Systems and Software Engineering Test Pass Coverage 29

University of Southern California Center for Systems and Software Engineering Defect Density 30

University of Southern California Center for Systems and Software Engineering 31 Ref: Measuring Agility, Peter Behrens

University of Southern California Center for Systems and Software Engineering 32 Ref: Measuring Agility, Peter Behrens Velocity = Work Completed per sprint

University of Southern California Center for Systems and Software Engineering 33

University of Southern California Center for Systems and Software Engineering Measurements in organizational level Empirical analysis Change from the top 34

University of Southern California Center for Systems and Software Engineering 35 Richard W. Selby, Northrop Grumman Space Technology, ICSP '09 Title: "Synthesis, Analysis, and Modeling of Large-Scale Mission-Critical Embedded Software Systems"

University of Southern California Center for Systems and Software Engineering 36

University of Southern California Center for Systems and Software Engineering 37

University of Southern California Center for Systems and Software Engineering Measurements for progress vs predictions Project PhaseFor MeasurementsFor Predictions Project Management -Effort and Budget Tracking - Requirements Status -Task Status -Top 10 risks - Cost to complete - Schedule evolution Quality Management -Code Stability -Open defects -Review status and follow up -Residual defects -Reliability -Customer satisfaction Requirements Management -Analysis status -Specification progress -Requirements volatility / completeness Construction-Status of documents - Change requests -Review status -Design progress of reqm - Cost to complete -Time to complete TestTest progress (defects, coverage, efficiency, stability - Residual defects - reliability Transition, deployment -Field performance (failure, corrections) - maintenance effort -Reliability -Maintenance effort 38 Ref: Ebert and Dumke, 2007

University of Southern California Center for Systems and Software Engineering References htmlhttp://sunset.usc.edu/classes/cs577b_2001/metricsguide/metrics. html Fenton NE, Software Metrics: A Rigorous Approach, Chapman and Hall, Christof Ebert, Reiner Dumke, Software measurement: establish, extract, evaluate, execute, Springer Richard W. Selby, Northrop Grumman Space Technology, ICSP '09 Title: "Synthesis, Analysis, and Modeling of Large-Scale Mission- Critical Embedded Software Systems“ Measuring Agility, Peter Behrens 39