Swami NatarajanJune 13, 2015 RIT Software Engineering Project Management.

Slides:



Advertisements
Similar presentations
Project Management and Software Quality See accompanying Word file “Software PM tools 3”
Advertisements

RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 Estimating Software Development Using Project Metrics.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Metrics for Process and Projects
Metrics for Process and Projects
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
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.
1 In-Process Metrics for Software Testing Kan Ch 10 Steve Chenoweth, RHIT Left – In materials testing, the goal always is to break it! That’s how you know.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
W5HH Principle As applied to Software Projects
Software Quality Engineering Roadmap
Quality Systems Frameworks
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
SE 450 Software Processes & Product Metrics Project Management.
SE 450 Software Processes & Product Metrics Reliability Engineering.
SE 450 Software Processes & Product Metrics Software Metrics Overview.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
1 SOFTWARE PRODUCTION. 2 DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient &
Implementation. We we came from… Planning Analysis Design Implementation Identify Problem/Value. Feasibility Analysis. Project Management. Understand.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Software Process and Product Metrics
Readiness Index – Is your application ready for Production? Jeff Tatelman SQuAD October 2008.
12 Steps to Useful Software Metrics
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
Project Management: York University Computer Science and Technology Dept Date: Nov 1, 2006 By: Steven Gallant, VP, Project Management Date: Nov 8, 2006.
On Target Group Coaching
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Reporting to Management Using Microsoft Project and EPM Derek Loar, Pcubed.
Fourteenth Lecture Hour 9:30 – 10:20 am, Sunday, September 16 Software Management Disciplines Project Control and Process Automation (from Part III, Chapter.
Project Management Metrics -- Why, What, and When Kerinia Cusick Director, ESI International.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Why do we … Life cycle processes … simplified !!!.
Software Engineering Software Process and Project Metrics.
1 Project Management Introduction. 2 Chap 1 What is the impact? 1994: 16% of IT projects completed “On-Time” 2004 : 29% of IT projects “On- Time” 53%
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Project management Lecture 10. Topics covered Management activities Project planning Project scheduling Risk management.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
UKSMA 2005 Lessons Learnt from introducing IT Measurement Peter Thomas –
Top Down View of Estimation Test Managers Forum 25 th April 2007.
Lecture 4 Software Metrics
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
Quality Software Project Management Software Size and Reuse Estimating.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Agile Metrics It’s Not All That Complicated. © 2011 VersionOne 2 Welcome – About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
Evaluating EVM January 13, EVM Issues and Opportunities ▪ EVM Basics ▪ EVM Issues ▪ EVM ETC and EAC Calculations ▪ EVM Cost and Schedule Value Calculations.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Department of CS & Eng. MSSE Program, © Fissure 1 SOFTWARE PROJECT MANAGEMENT COURSE Executing, Monitoring and Controlling Session #7.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
WEEK 3 Project Planning.
Ashima Wadhwa.  Probably the most time-consuming project management activity.  Continuous activity from initial concept through to system delivery.
1 Getting Value out of Earned Value (EV) Presented by Tom Arnez, PMP.
Swami NatarajanOctober 1, 2016 RIT Software Engineering Software Metrics Overview.
Chapter 4 Software Process and Project Metrics
Software Quality Engineering
Monitoring and Reporting Project Progress
Chapter 25 Process and Project Metrics
Software metrics.
Chapter 32 Process and Project Metrics
Presentation transcript:

Swami NatarajanJune 13, 2015 RIT Software Engineering Project Management

Swami NatarajanJune 13, 2015 RIT Software Engineering Project Management Metrics Cycletime Productivity Staffing Requirements volatility Reuse metrics Activity progress measurement Estimation accuracy

Swami NatarajanJune 13, 2015 RIT Software Engineering Cycletime Time from requirements to release (one cycle) Constant pressure in the corporate world to improve cycletime –Improves time-to-market Getting to market ahead of competition has big impact on market share, profits –Correlates heavily with cost –Reduces gap between market survey and actual market by release time Also important for custom solutions –Getting deliverable earlier to customer saves them money (increases value of deliverable)

Swami NatarajanJune 13, 2015 RIT Software Engineering Impact of time-to-market Product Selling Price Early arrival’s costs Late arrival’s costs Does not show market share impacts! Premium Products of early and late arrival both mature over time, reducing costs, but early arrival has higher maturity at any given time $ time

Swami NatarajanJune 13, 2015 RIT Software Engineering Practices for cycletime reduction Incremental development (  agile development) –Quicker release cycle makes it easier to get new features into product quickly –Break up 12-month cycle into 4 cycles of 4 months each! (yes, that makes sense!) Use of tools and technologies that improve productivity More concurrent engineering (increases coordination needs) Planning and risk management to avoid holdups –Rightsizing teams to minimize development cycletime Avoid building from scratch: use existing libraries and products where possible –Invest in developing libraries and domain architectures Streamlining development through checklists, templates, workflow

Swami NatarajanJune 13, 2015 RIT Software Engineering Measuring cycletime Basically simple: project start date, end date Project cycletime vs. development cycletime –Development time: requirements-to-release –May expend a lot of time before requirements phase! Issue: what about holdups “beyond one’s control”? –May have a concept of “stopping cycletime clock” –Shows the need for proper operational definitions –Note the possibility of superior practices that avoid holdups Measurements & metrics can impact which practices encouraged!

Swami NatarajanJune 13, 2015 RIT Software Engineering Cycletime Metrics Challenging to create metric for cycletime –Are projects really “comparable”? Different features, different complexity Customers may or may not be willing to pay for speed –Avoid encouraging “bad practices” e.g. unreasonably small increments Release must provide “significant value” to customer “Bucket” concept –Group together “broadly similar” projects and measure Hard to get enough projects for statistical significance More important to compare with competitor cycletimes Focus on “constant improvement”

Swami NatarajanJune 13, 2015 RIT Software Engineering Productivity Objective: Measure effectiveness of organizational practices in getting work done –Measuring individual productivity is a no-no Extremely prone to abuses, creates pressures Impacts teaming, co-operation: “credit-grabbing” Hard to balance with quality Counter-productive in the longer term Measure: size of deliverable / effort expended –Size of deliverable != volume of work (KLOC) Credit for effective reuse / choosing good platforms

Swami NatarajanJune 13, 2015 RIT Software Engineering Productivity Metrics Function-points/staff-month –Better than KLOC / staff-month Avoids problems related to “density of code” Challenges in productivity comparisons –Accounting for complexity (compare only with same domain) But still, not all function points created equal! –Assigning proper value for tools / technology / platform usage “Size of deliverable” gives too much credit (what about added cost?) “Actual work done” gives too little –Impact of other factors Requirements volatility, staff profile, nature of work (fresh / legacy), tough product quality requirements, development infrastructure, time overheads … Interpret with extreme caution! –Minefield, easy to overemphasize because it is so “bottom line”

Swami NatarajanJune 13, 2015 RIT Software Engineering Using Productivity Numbers Trend information may add value –Indicate whether there is constant improvement of practices Comparison with competitors, industry average –OK measure of overall effectiveness –Beware of differences in measurements, reporting Useful to evaluate technologies and practices Excellent complementary metric –Improvements in other numbers should mostly show up in productivity e.g. COQ/COPQ balancing, fault injection

Swami NatarajanJune 13, 2015 RIT Software Engineering Staffing Curves showing planned & actual staffing for each month –Gaps would indicate potential schedule impacts –Significant increases in planned staffing must be accompanied by training/induction plans May include turnover rates –People moving out, people added –High turnover will impact productivity, schedule Limitation: shows raw numbers, not skill level Metrics –% staffing (actual/planned) –% turnover

Swami NatarajanJune 13, 2015 RIT Software Engineering Staffing chart Planned Actual Lost Added Time Number of people Month1 Month2 Month3 Month4 Month5

Swami NatarajanJune 13, 2015 RIT Software Engineering Requirements volatility Month-by-month percentage change in requirements –Based on either use cases or numbered requirements –Includes added/deleted/changed requirements High requirements volatility impacts schedule, fault injection, productivity –Can use “control line” e.g. 10% - requirements change more than this triggers risk mitigation (impact analysis / replanning) If using tools to manage requirements, relatively easy to generate requirements volatility metrics Limitation: does not show severity/impact of changes

Swami NatarajanJune 13, 2015 RIT Software Engineering Reuse Metrics % of reused code –Hard to define how much to count as reused code “Scavenged code” (cut-paste) is least valuable Libraries better – should we give full credit for each use? Using COTS (commercial-off-the-shelf) software better e.g. don’t write your own OS – how do you count this? Domain engineering – creating standard product architectures and avoiding developing afresh from scratch best – should we give full credit for each use? Common practice: –Measure libraries and/or scavenged code –Can add notes about use of COTS and/or domain architectures and components Note that the end goal is productivity, not reuse

Swami NatarajanJune 13, 2015 RIT Software Engineering Progress Objective: Measure progress against plan –Avoid situation where lateness realized just prior to release Practices –Define milestones 2-3 weeks apart –Measure planned vs. actual completion dates –If 2 weeks or more behind schedule, replan Re-negotiate fresh delivery dates with customer Metric –Chart of planned and actual completion dates –% slippage: (actual – planned ) / planned completion time

Swami NatarajanJune 13, 2015 RIT Software Engineering Progress: Milestone chart MilestonePlannedActual Initial requirements14-Mar13-Mar Prototype4-Apr6-Apr Requirements baselined12-Apr Initial design23-Apr28-Apr V1 code complete8-May24-May (replan) Integration done12-May 28-May 29-May Release 11-June 12-June

Swami NatarajanJune 13, 2015 RIT Software Engineering Progress: Earned Value Charts A superior way to measure progress For each activity, define an “earned value” – some number of points –Assign more earned value if more effort needed Track actual earned value –Total points earned for all completed activities –Irrespective of actual effort expended –May add another curve that shows actual effort expended Plot planned vs. actual earned value against time –Shows % completion of project very clearly Applicable to agile development too!

Swami NatarajanJune 13, 2015 RIT Software Engineering Earned value chart: Example From Lethbridge & Laganiere, “Object-oriented software engineering”

Swami NatarajanJune 13, 2015 RIT Software Engineering Gantt charts From Lethbridge & Laganiere, “Object-oriented software engineering”

Swami NatarajanJune 13, 2015 RIT Software Engineering Estimation Accuracy (Actual effort – Estimated effort )/ Estimated effort Typically around 20% (i.e. 20% underestimate) for “good” organizations –Note that this often doesn’t translate to 20% slippage – either replanning or overtime work! –If maturity is low, maybe 50% - 100% or even more! Can track estimation accuracy for initial estimates as well as for “final” estimates –Initial estimates may be prior to understanding requirements Correlate with requirements volatility to get better picture Limitation: “Work expands to fill time available” –Hard to detect overestimates

Swami NatarajanJune 13, 2015 RIT Software Engineering Summary Can track a variety of metrics that reflect various project management concerns Used to detect likelihood of various problems –slippage, productivity loss, need for training Correlate multiple curves to assess health of project –Typically all these curves on one big chart Each metric vulnerable to abuse –Need to be careful how we use them