The Importance of Software Process Management for Software ...


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

The Importance of Software Process Management for Software ...

  1. 1. The Importance of Software Process Management for Software Quality, Testing and Industry Development Presented at the China s Software Quality, Testing and Industry Development Strategy Seminar Beijing October 23, 2004 Angel G. Jordan University Professor Emeritus Provost Emeritus Carnegie Mellon University Founder, Software Engineering Institute China's Quality Seminar 1
  2. 2. Issues at the Seminar Software Quality Scope of Testing Requirement Analysis China's Quality Seminar 2
  3. 3. What I will cover in this presentation The Significance of Software Quality The Importance of Software Testing Quality in Delivering Offshore IT Services State of Practice Versus SEI’s Vision in Software Engineering Software Process Management CMMI Capability Levels Maturity Levels How CMMI can help an organization Conclusions China's Quality Seminar 3
  4. 4. Software Quality Assurance Defining Software Quality Assurance Monitoring the software development process Complying with standards and accepted methods Anticipating errors --- prevention China's Quality Seminar 4
  5. 5. Software Quality Assurance Computer system failures are caused by software defects Defects caused not only by Programming errors, but by Not clear application requirements or changing requirements Software complexity may also induce errors Other causes of errors may be: Time pressure because of unrealistic schedules Not well documented code Defective and/or poorly documented development tools China's Quality Seminar 5
  6. 6. Introducing Software QA processes in an organization In large organizations involving high risk projects formalized QA processes are mandatory. For lower risks, QA processes are to be balanced with productivity. For small groups or projects, ad-hoc processes may be appropriate, depending on customers and projects. Dependence on: Team leaders or managers Feedback to developers Communication between customers, managers, developers, and testers China's Quality Seminar 6
  7. 7. Significant payoff from investment in QA comes from: Processes in management of requirements aiming at Testable requirement specifications as part of requirements or design documentation Or in agile-type environments coordination with end users Inspections of the design and code Evaluation of past projects China's Quality Seminar 7
  8. 8. Management can play a key role in: Recognizing: The importance of Verification and Validation The use of Walkthrough and Inspection Different testing methods to be considered An understanding of the typical problems arising in the software development process and An appreciation of potential solutions An understanding of the true meaning of Software Quality and what it entails China's Quality Seminar 8
  9. 9. Software Quality entails: Recognition that Quality Software is: Reasonably bug-free, delivered on time and within budget, meets requirements and/or expectations, and can be maintained Quality software incorporates Good code Good design The vision of the SEI regarding Quality emphasizes: Software Process Management, in order to: Minimize Testing We will talk about this later China's Quality Seminar 9
  10. 10. The Software Life Cycle Starts when application is conceived and ends when it is no longer in use. It includes: Initial concept Requirements analysis Functional design Internal design Documentation planning Test planning Coding Document preparation Integration Testing Maintenance Updates Retesting Phase-out China's Quality Seminar 10
  11. 11. Software Testing Defining Software Testing Testing involves operation of a system or application under control conditions and evaluating the results Controlled conditions should be both normal and abnormal Testing should attempt to make things go wrong The emphasis is in detection China's Quality Seminar 11
  12. 12. Software Testing Engineering The role of the Software Test engineer The role of the Software QA engineer The role of the QA or Test manager The role of Documentation in QA The importance of Requirements Developing and running software tests The test plan The test case Actions needed after defects are found Configuration management Actions when software has many defects China's Quality Seminar 12
  13. 13. Considerations in Testing The end of the testing process Time allotted for comprehensive testing The size of the project and extensive testing Coping with changing requirements When the application has functionality that was not in the requirements Software QA processes vis-a-vis productivity Coping with fast growth and QA processes China's Quality Seminar 13
  14. 14. Other considerations in Testing Client/Server Environments and Testing Testing World Wide Web sites Testing and object-oriented designs Extreme Programming and Testing Reference for QA and Testing: China's Quality Seminar 14
  15. 15. Software QA and Testing Resource Center China's Quality Seminar 15
  16. 16. Software Quality Engineering Collocated with STARWEST 2004. Sponsors useful courses Software Testing Foundations course Certification training course Writing Testable Requirements Essential Software Requirements Balancing Plan-Driven and Agile Approaches China's Quality Seminar 16
  17. 17. Quality in Delivering Offshore IT Services The Delivery of Offshore Services Quality Framework and its Business Benefits Organizational Effectiveness Service delivery Quality Certifications: CMM, CMMI, Six Sigma Reference: Stephanie M. Torto Ruthbea Yesner, ‘The Role and Benefits of Quality in Delivering Offsore IT Services’, December 2003, White Paper, Sponsored by Wipro Technologies. China's Quality Seminar 17
  18. 18. Quality influences Business Results Organizational Effectiveness Commitment to quality Highly skilled employees Responsiveness and flexibility Strong work ethic Lower turnover of employees Robust project management processes Strong communication flow between client and services firm China's Quality Seminar 18
  19. 19. Outcomes-Benefits to the customer Lower maintenance cost Lower schedule overrun cost Lower development cost IDC Recommendations * Separate the forest from the trees Deepen understanding of organizational effectiveness Quantify the benefits to the business Use a balance of onsite and offshore resources * IDC is a leading provider of data driven research analysis China's Quality Seminar 19
  20. 20. The Importance of Quality Certifications The Capability Maturity Model (CMM) The People Capability Maturity Model (PCMM) The Capability Maturity Model Integrated (CMMI) We will talk about these later Six Sigma ISO, IEEE, ANSI Standards China's Quality Seminar 20
  21. 21. SEI Strategic Themes Predictably better, faster, and cheaper by - Moving to the left Embrace a systems engineering approach and make better decisions before coding to predictably improve quality, cost, and schedule. Reusing everything Reuse code, but also the architecture and knowledge from building similar systems. Never making the same mistake twice Leverage lessons learned. China's Quality Seminar 21
  22. 22. State of Practice Versus SEI’s Vision Software state of practice (“test in” quality) 60 - 80 % of effort and cost Development Integration and System Test World-class developers * move to the left ! “design in” quality * reuse everything * never make the same *Ref: Standish Group,, 1999 mistake twice China's Quality Seminar 22
  23. 23. SEI Technicalright software delivered The Program defect free, on cost, on time, every time High confidence, evolvable, with predictable and improved product lines cost, schedule, and quality Integration Survivable Capability Team Software Systems Maturity Software Intensive Model Process Systems Product Integration Line Practice Performance Acquisition Software Critical Systems Predictable Assembly Support Engineering Software with Systems Measurement Architecture Certifiable & Analysis Technology Components Technical Practice Management Practice Initiatives Initiatives China's Quality Seminar 23
  24. 24. General Definition of Process A process is a set of practices performed to achieve a given purpose; it may include tools, methods, materials, and/or people. China's Quality Seminar 24
  25. 25. Quality Leverage Points While process is often described as a leg of the process- people-technology triad, it may also be considered the “glue” that unifies the other aspects. Everyone realizes the PEOPLE importance of having a motivated, quality work force but even our finest people can’t perform at their best when the TECHNOLOGY process is not PROCESS understood or operating “at its best.” Major determinants of product cost, schedule, and quality China's Quality Seminar 25
  26. 26. Why Focus on Process? Process provides a constructive, high- leverage focus... as opposed to a focus on people The experience and training of your work force is not always enough. Working harder is not the answer. A well defined process can provide the means to work smarter. Shifts the “blame” for problems from people to the process as opposed to a focus on technology Technology, by itself, will most likely not be used effectively. Technology, in the context of an appropriate process roadmap, can provide the most benefit. China's Quality Seminar 26
  27. 27. The Process Management Premise The quality of a system is highly influenced by the quality of the process used to acquire, develop, and maintain it. This premise implies a focus on processes as well as on products. This is a long-established premise in manufacturing. Belief in this premise is visible worldwide in quality movements in manufacturing and service industries (e.g., ISO standards). China's Quality Seminar 27
  28. 28. Process Improvement Involves Dealing with Multiple Dimensions at One Time Organization Technical Structure Strategic ? Managerial Social/Cultural ISO CMMI QA CMMI based improvement is Much More than simply asking people to use a different template. China's Quality Seminar 28
  29. 29. Simple Improvement Processes Determine where you want to be. Make a plan. Execute the plan. Learn lessons and do it again. Another improvement process is Plan Do Check Act. IDEALSM Determine where you are. China's Quality Seminar 29
  30. 30. The IDEALSM Model Learning Analyze Propose and Future Validate Actions Implement Solution Refine Solution Set Build Charter Stimulus for Change Context Sponsorship Infrastructure Acting Pilot/Test Solution Initiating Characterize Current & Desired States Create Solution Diagnosing Develop Recommendations Plan Actions Set Priorities Develop Approach Establishing SM IDEAL is a service mark of Carnegie Mellon University. China's Quality Seminar 30
  31. 31. Documented Results of CMM-based PI Process improvement benefits fall into one or more of these general categories: improved schedule and budget predictability reduction of rework improved cycle time increased productivity improved quality (as measured by defects) increased customer satisfaction improved employee morale increased return on investment decreased cost of quality All this is in addition to meeting your customer’s requirement.... China's Quality Seminar 31
  32. 32. CMMI Transition Status - 234 Introduction to CMMI instructors trained - 402 SCAMPI Lead Appraisers trained - 830 students trained in Intermediate Concepts of CMMI - 179 Introduction to CMMI instructors authorized - 16,161 students trained in Introduction in CMMI - 293 SCAMPI Lead Appraisers authorized - 80 active transition partners that offer Introduction to CMMI training - 147 active transition partners that offer SCAMPI appraisal services China's Quality Seminar 32
  33. 33. Number of Appraisals Conducted by Year Reported as of 2 March 2004 800 700 600 500 400 300 200 100 0 87 88 89 90 91 92 93 94 95 96 97 98 99 00 01 02 03 04 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 SPA SEI CBA IPI SCAMPI vX China's Quality Seminar 33
  34. 34. What is CMMI? CMMI is not a process; does not tell you How to do your work is a model of best practices in systems and software development and in product development does tell you What to do is based on the process management premise China's Quality Seminar 34
  35. 35. CMMI Model Representations An organization may choose an approach to process improvement from either of the following: process area capability organizational maturity CMMI models support each approach with a representation. process area capability - continuous representation organizational maturity - staged representation China's Quality Seminar 35
  36. 36. Continuous Representation •Some benefits of choosing the continuous representation are • It allows you to select the order of improvement that best meets your organization’s business objectives and mitigates your organization’s areas of risk. Process Area Capability • It enables comparisons across and among organizations on a process area by process area basis. • It provides an easy migration from EIA/IS-731 to CMMI. PA PA PA China's Quality Seminar 36
  37. 37. Category Process Areas Organizational Process Focus Process Organizational Process Definition Management Organizational Training Organizational Process Performance Organizational Innovation and Deployment Project Planning Project Project Monitoring and Control Management Supplier Agreement Management Integrated Project Management for IPPD Risk Management Integrated Teaming Integrated Supplier Management Quantitative Project Management Requirements Management Engineering Requirements Development Technical Solution Product Integration Verification Validation Configuration Management Support Process and Product Quality Assurance Measurement and Analysis Decision Analysis and Resolution Organizational Environment for Integration Causal Analysis and Resolution China's Quality Seminar 37
  38. 38. Capability Levels Capability levels, used in the continuous representation, describe a sequential order for approaching process improvement within each process area. Capability levels build on each other, providing a recommended order for approaching process improvement within a selected process area. Capability levels enable you to track, evaluate, and demonstrate your organization’s progress as you improve processes associated with a process area. China's Quality Seminar 38
  39. 39. Staged Representation •Some benefits of choosing the staged representation are • It provides a proven sequence of improvements, each serving as a foundation for the next. • It permits comparisons across and among organizations by the use of maturity levels. • It provides an easy migration from the SW-CMM to CMMI. • It provides a single rating that summarizes appraisal results and allows comparisons among organizations. China's Quality Seminar 39
  40. 40. Level Focus Process Areas for SE/SW/IPPD/SS Continuous Higher Quality Process Organizational Innovation and Deployment Productivity 5 Optimizing Causal Analysis and Resolution Improvement Lower Risk 4 Quantitatively Quantitative Organizational Process Performance Managed Management Quantitative Project Management Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus 3 Defined Process Organizational Process Definition Standardization Organizational Training Integrated Project Management for IPPD Risk Management Integrated Teaming Integrated Supplier Management Decision Analysis and Resolution Organizational Environment for Integration Requirements Management Project Planning Basic Project Monitoring and Control 2 Managed Project Supplier Agreement Management Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Higher Risk 1 Initial Rework China's Quality Seminar 40
  41. 41. Maturity Levels-1 Maturity levels, used in the staged representation, organize selected process areas into five evolutionary plateaus to support and guide process improvement across the organization. Maturity levels are defined evolutionary plateaus of process improvement, in which each level is supported by the characteristics of the process areas implemented within the lower levels. Maturity levels represent a process improvement evolution for the entire organization. China's Quality Seminar 41
  42. 42. Maturity Levels-2 Optimizing 5 Focus on continuous improvement Quantitatively 4 Process measured Managed and statistically controlled Defined 3 Process characterized for the organization and is proactive Managed 2 Process characterized for projects and is often reactive Initial 1 Process unpredictable, poorly controlled and reactive China's Quality Seminar 42
  43. 43. Continuous Staged . . .for a single process area or a set of process areas ML5 Process Area Capability ML4 ML3 ML2 ML 1 . . .for a specified set of process areas across an organization PA PA PA China's Quality Seminar 43
  44. 44. Comparing the Different Representations Both representations provide ways of implementing process improvement to achieve business goals. Both representations provide essentially the same content but are organized in different ways. There is nothing that requires that you use one or the other representation – you can use them both concurrently if that suits your business needs. China's Quality Seminar 44
  45. 45. Representation Synergy The continuous representation provides additional de facto granularity in support of a staged-focus initiative: • as a guide for detailed tactical planning • to demonstrate intermediate progress short of process area or maturity level • to allay concerns and build support among stakeholders The staged representation can provide structure for a continuous-focus initiative: • as a guide for big picture “strategic” planning • to “chunk” higher-granularity activities for senior management • as a means for representing high-level success in “industry standard” terms key stakeholders will more readily understand China's Quality Seminar 45
  46. 46. CMMI Can Benefit You CMMI provides Efficient, effective assessment and improvement across multiple process disciplines in an organization Improvements to best practices incorporated from the Software CMM A common, integrated vision of improvement for all elements of an organization A means of representing new discipline-specific information in a standard, proven process- improvement context China's Quality Seminar 46
  47. 47. Conclusions Developing Quality Software is essential in any software enterprise Software Testing is a close companion of Software Quality Quality is essential in Delivering Offshore IT Services Quality Impacts Business Results Quality Certifications are highly recommended The SEI vision is to develop software reducing the testing effort The importance of “Process” in Software Development CMMI can benefit any Software enterprise China's Quality Seminar 47
  48. 48. Questions? Comments? China's Quality Seminar 48