CS 577b: Software Engineering II CS 577b Software Engineering II -- Introduction 4 February 2018 CS 577b: Software Engineering II Software Engineering Metrics & Measurements © 2002-6 USC Center for Software Engineering
Outline Iteration Planning Software Engineering Metrics & Measurements Plan Iteration Manage Iteration Assess Iteration Software Engineering Metrics & Measurements
Iteration Planning Plan Iteration Manage Iteration Assess Iteration Prioritize Work Items List Identify and review risks Assign resources Manage Iteration Track progress Handle exceptions and problems Assess Iteration Retrospective analysis Assign tasks based on lesson learned
Manage Iteration What are the differences between your current project status and what you planned in the DC Package? Human resources Requirements Architecture When was the last time you talk to you clients?
Risk Management Top 10 Software Risk Items (Boehm 1991) Top 10 risks in software industry 2007 Top 10 risks in software engineering class (2010) 1.Personnel shortfalls 1.Architecture complexity, quality tradeoffs 1.Architecture complexity; quality tradeoffs 2.Unerealistic schedules and budgets 2.Requirements volatility 2.Personnel shortfalls 3.Requirement mismatch 3.Acquisition and contracting process mismatches 3.Budget and schedule constraints 4.User Interface mismatch 4.Budget and schedule 4.COTS and other independently evolving systems 5.Gold plating 5.Customer-developer-user 5.Customer-developer-user team cohesion 6.Requirement volatility 6.Requirements mismatch 6.Requirements volatility 7.Shortfalls in externally furnished components 7.Personnel shortfalls 7.User interface mismatch 8.Shortfalls in externally performed tasks 8.COTS 8.Process Quality Assurance 9.Real-time performance shortfalls 9.Technology maturity 9.Requirements mismatch 10.Straining computer science capabilities 10.Migration complexity 10.Acquisition and contracting process mismatches
Prospective vs Retrospective studies Prospective Study looks forward in time, e.g. follow the development of a disease. Usually takes a long time. Retrospective Study looks backwards and examines exposures to suspected risk or protection factors in relation to an outcome Ref: http://www.statsdirect.com/help/basics/prospective.htm http://www.childrens-mercy.org/stats/definitions/retrospective.htm
Retrospective Analysis In previous iteration or in CSCI577a what went well what could have gone better how things could be changed to deliver better results Action items Responsible person
Outline Iteration Planning Software Engineering Metrics & Measurements Plan Iteration Manage Iteration Assess Iteration Software Engineering Metrics & Measurements
Software Metrics (Measurements) A software metric is a measure of some property of a piece of software or its specifications, in quantitative measurements Business Operation Defect trend, requirements churn Technical measurements http://en.wikipedia.org/wiki/Software_metric http://sunset.usc.edu/classes/cs577b_2001/metricsguide/metrics.html
Software metrics Software metrics are numerical data related to software development. Metrics strongly support software project management activities. They relate to the four functions of management as follows: Planning - Metrics serve as a basis of cost estimating, training planning, resource planning, scheduling, and budgeting. Organizing - Size and schedule metrics influence a project's organization. Controlling - Metrics are used to status and track software development activities for compliance to plans. 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.
Categories of metrics (1/3) Indicator Category Management Insight Indicators Progress Provides information on how well the project is performing with respect to its schedule. Actual vs. planned task completions Actual vs. planned durations Effort Provides visibility into the contributions of staffing on project costs, schedule adherence, and product quality. - Actual vs. planned staffing profiles Cost Provides tracking of actual costs against estimated costs and predicts future costs. Actual vs. planned costs Cost and schedule variances Review Results Provides status of action items from life-cycle review. - Status of action items
Categories of metrics (2/3) Indicator Category Management Insight Indicators Trouble Reports Provides insight into product and process quality and the effectiveness of the testing. - Status of trouble reports - Number of trouble reports opened, closed, etc. during reporting period Requirements Stability Provides visibility into the magnitude and impact of requirements changes. - Number of requirements changes/clarifications - Distribution of requirements over releases
Categories of metrics (3/3) Indicator Category Management Insight Indicators Size Stability Provides insight into the completeness and stability of the requirements and into the ability of the staff to complete the project within the current budget and schedule. Size growth Distribution of size over releases Computer Resource Utilization Provides information on how well the project is meeting its computer resource utilization goals/requirements. - Actual vs. planned profiles of computer resource utilization Training Provides information on the training program and staff skills. - Actual vs. planned number of personnel attending classes
Requirements Churn http://www.ibm.com/developerworks/rational/library/4786.html
Systems Engineering Leading Indicators Guide EPI 270-20, Rev. 1.7 Draft, November 10, 2009
Iteration Burndown : work left to do versus time http://en.wikipedia.org/wiki/Burn_down_chart
Iteration Velocity: Unit of works completed in each iteration
Defect Trends http://www.teknologika.com/blog/category/test-management/
Software Engineering Metrics, Linda M. Laird
Backlog Trend: No. of change request or jobs not done