1 - Sudhir P, Balasubrahmanyam P Leveraging TSP SM /PSP SM Metrics to drive Predictability and Quality of product releases An Intuit Perspective.

Slides:



Advertisements
Similar presentations
A presentation from June 20, 2000 Jim Brosseau The ‘How-To’ of Software Process Improvement.
Advertisements

Team Software Process By: Bryan Peterson. Presentation Topics History Brief overview of the Team Software Process (TSP) TSP Team Launch Team-working Conclusion.
Copyright Princeton University This work is the intellectual property of Princeton University. Permission is granted for this material to be shared.
1 Disciplined Software Engineering Watts S. Humphrey Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the.
PRO2 - 1 Introduction to the Personal Software Process SWENET PRO2 Module Developed with support from the National Science Foundation.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Project Management: A Critical Skill for Organizations Presented by Hetty Baiz Project Office Princeton University.
Practical Uses of Software Measurement for Process Improvement January 10, V1.0 Larry Dribin, Ph.D
Aplicaciones de Ingeniería de Software
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Organizational Project Management Maturity: Roadmap to Success
Fundamental of Software Project Management Team Assignment 1 – K15T2 – Team 07.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Personal software process Mohammed ahmed ali. What is psp The personal software process (psp) is a structured set of process descriptions, measurements.
Deploying Visual Studio Team System 2008 Team Foundation Server at Microsoft Published: June 2008 Using Visual Studio 2008 to Improve Software Development.
Capability Maturity Model
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
CMM Level 3 KPA’s CS4320 Fall Organizational Process Focus (Goals) Software process development and improvement activities are coordinated across.
Productive Engineering Teams
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
Team Launch Introduction. Real projects are large and complex, and most software is created by teams Merely throwing people together does not result in.
© 2010 Carnegie Mellon University Team Software Process.
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
N By: Md Rezaul Huda Reza n
SE-280 Dr. Mark L. Hornick 1 Process Adaptations.
CMMi What is CMMi? Basic terms Levels Common Features Assessment process List of KPAs for each level.
Page 1 Sponsored by the U.S. Department of Defense © 2007 by Carnegie Mellon University Watts S. Humphrey The Software Engineering Institute Carnegie Mellon.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Chapter 2 Process: A Generic View
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Lecture: The Personal Software Process. 2 Overview  Personal Software Process assumptions process stages measures and quality strategy results.
EngMat/JWS.PPT 10/17/ CMMI ® Today – The Current State CMMI ® Technology Conference 2003 November 18, 2003 Ron Paulson Vice President, Engineering.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
IIL’s International Project Management Day, 2007 The Power of the Profession: A Lesson Learned and Solution Implemented Becomes a Best Practice in Project.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Application of the CMMI SM to Plan and Control Life Cycle Costs Dr. Mary Anne Herndon Science Applications International Corporation (SAIC) November, 2003.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Company LOGO Team assignment 03 Team 04 K15T02. Members… 1.Hoàng Thị Kim Dâng 2.Thái Thanh Nhã 3.Trần Thị Mộng Hà 4.Trần Tiễn Hưng 5.Chu Thị Thu Hương.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
Cost & Benefit Analysis Executive Overview David F. Rico.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
Project Portfolio Management Business Priorities Presentation.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
The Personal Software Process Alan Kelon Oliveira de Moraes May 15, Recife.
Personal Software Process sm (PSP sm ) Executive Overview David F. Rico sm Personal Software Process and PSP are service marks of Carnegie Mellon University.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 11.
Personal Software Process PSP--Personal Software Process.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
SOFTWARE PROCESS IMPROVEMENT
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
Project Management Why do projects fail? Technical Reasons
1. ENTERPRISE AGILE TRANSFORMATION AT THE US POSTAL SERVICE MAY 24, Agile Business Solutions.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Rapid Launch Workshop ©CC BY-SA.
Experiences with the Team Software Process
Владимир Гусаров Директор R&D, Dell Visual Studio ALM MVP ALM Ranger
Process Maturity Profile
Hyper-V Cloud Proof of Concept Kickoff Meeting <Customer Name>
A possible solution: Personal Software Process (PSP)
Capability Maturity Model
Capability Maturity Model
Software Design & Production Methodologies
Presentation transcript:

1 - Sudhir P, Balasubrahmanyam P Leveraging TSP SM /PSP SM Metrics to drive Predictability and Quality of product releases An Intuit Perspective

2 Agenda  What is TSP/PSP… and NOT???  What does TSP/PSP provide ?  TSP/PSP Goals  An Intuit Case Study  Cumulative Analysis  Benefits  TSP/PSP sharable Best Practices  Elements for TSP/PSP success  Summary  References & Acknowledgements  Q & A

3 What is TSP/PSP… and NOT???  It is NOT:  A Silver Bullet solution  A radically different approach to development  A new programming language  A way to invent more task time  It is:  A process that enables the team members to take firm control of the project schedule  A framework that allows detailed planning and tracking of project status  A process that helps in building high quality systems  A team building approach

4 What does PSP provide ?  Measurements  Size  Time  Defects  Best Practices  Task Breakdown - > Detailed planning  Time allotted to design  Size estimation methods  Time allotted to Review/Inspection  Time tracking  Defect tracking  Metric analysis  Coding standards

5 What does TSP provide? Mindset change enabled by..  Project Management  Detailed planning and tracking  Prescribed weekly meetings to review metrics  Task hour monitoring  Earned value  Team Building  Share leadership/Roles  Team coach (project management co-pilot)  TSP launch (communicate with share holders) The development process is not fundamentally different… the mindset (managing by data) is different

6 TSP/PSP Goals  Improve Quality -> Higher Productivity  Predictability  Visibility  Efficiency  Continual Improvement  Self-directed teams  Mindset change

7 An Intuit Case Study  Single Project  Project is an reengineering effort to replace an existing legacy platform framework  Code is developed mostly C#/.Net with some COM/C++, XML/XSLT  Team size is 8 (6 Developers + 2 QA Engineers)  Project is a 8 Full Time Engineers (FTEs) effort  Cumulative Summary across 3 projects  Including 2 other new project initiatives which implemented TSP/PSP

8 Analysis of single project  Quality analysis  Plan analysis

9 Quality Goals: What?  90% of code will be reviewed  90% of all feature changes will be design reviewed  All test plans/Quality plans will be reviewed  Unit tests to cover >70% of code path  Post “code complete” defects at X% or less compared to previous release  Defect density at System test 50% less than company average  95% or more build success on group branch (one level above team branch)

10 Quality Goals: How?  C# and.Net Code coverage test execution  Performance tests using windows Powershell  Tools used: NUnit, NCover, NCoverExplorer, Microsoft FxCop  Design reviews, code reviews, Inspections

11 Quality Analysis  Could sustain high build quality through  Unit tests  And covering more scenarios

12 Quality Analysis  Final Product Performance  Business requirement was to improve the existing infrastructure’s performance by 4X  The team actually delivered 13X improvement

13 Quality Analysis  Defect data Team found about 87% of defects prior to System Test

14 Plan Analysis  Observations  Tasks got completed ahead of time  Team spent less task hours  Schedule Predictability - How?  Granular level of task estimation  Good understanding of inter-dependent tasks

15 Cumulative Analysis  Quality analysis  Plan analysis

16 Quality Analysis: Results Quality ParametersResults System Test Defect Density70% of Plan Build success on group branch100% of plan Code review90% of plan Design review for feature changes90% of plan Unit Test Code coverage99% of plan

17 Earned Value and Task Hours – Project A This team has done a good job of managing EV and Task Hours

18 Earned Value and Task Hours – Project B Team has completed almost all the tasks except some project management tasks

19 Earned Value and Task Hours – Project C Team has completed almost all the tasks except some project management tasks

20 Plan Analysis: Summary Effort Summary Project A (% Plan Vs Actual) Project B (% Plan Vs Actual) Project C (% Plan Vs Actual) Weeks until Code Complete0843 Effort (task hours) Developer Productivity (LOC/Hr) Size (LOC)15340  Analysis:  Teams took 17% extra week-effort for task completion  4% extra task hours were consumed  Developer productivity increased by 18% than planned  “Code expected to be written” increased by 30%

21 Benefits  Helps engineers build time in their plan for design reviews, code reviews and inspections  Reduced over-commitments by software engineers and the team  Earlier the defects found, less time it takes to fix them and also saves System Test time/effort  Improved productivity since engineers are in better control of their own work since they estimate the task hours  PSP gets software engineers involved in process improvement and boosts organization’s process improvement effort

22 TSP/PSP sharable Best Practices  Project Launch  Enhanced communication with stakeholders  Team building  Detailed project planning  Task level (5-15 hours per task)  Inspections (participants, conference room, dates)  Specific dependencies noted  Rolling integration drops and load balancing  Defect tracking  “In process” and system test and production  Time tracking  Where is development time spent?  Size tracking  Easily measurable and correlated to effort  LOC is a best fit for this measurement

23 Elements for TSP/PSP success  Focused and willing team  Some experience with process or willingness to experiment  Capable and committed project manager  Committed and protective senior management  Experienced and enthusiastic Coach  Tools in place  Training at all levels

24 Summary  TSP/PSP provides a better implementation approach and make organization’s journey faster to higher maturity level  TSP/PSP provides additional support and strength required for high maturity organization to sustain process initiatives

25 References    online.org/proceedings/2003/PDFFiles/pres1502.pdf online.org/proceedings/2003/PDFFiles/pres1502.pdf  PSP SM A self-Improvement Process for software Engineers by Watt S. Humphrey  TSP/PSP at Intuit - Noopur Davis, SEI and Eileen Fagan, Intuit  Critical Success Factors for TSP/PSP Adoption in a Consumer Software Company – Jim Sartain, Intuit

26 Acknowledgements  The following are service marks of Carnegie Mellon University.  Personal Software Process SM  PSP SM  Team Software Process SM  TSP SM  CMM Integration SM  CMMI SM  The following are registered trademarks of Carnegie Mellon University Capability Maturity Model® CMM®

27 Q & A

28 Thanking You..  Sudhir P  Senior Engineering Manager-QA   Balasubrahmanyam P  Senior Software QA Engineer 