1 / 15

Characterizing the Software Process

Characterizing the Software Process. CMM - A Maturity Framework. refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, 18- 27 (Capability Maturity Model, V 1.1). Work directed by Watts Humphrey , SEI, Carnegie-Mellon.

fhendricks
Download Presentation

Characterizing the Software Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Characterizing the Software Process CMM - A Maturity Framework refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, 18- 27 (Capability Maturity Model, V 1.1). Work directed by Watts Humphrey, SEI, Carnegie-Mellon Sponsored by US Defense Dept. – to provide some way of characterizing the capabilities of software development organizations. Fundamental to the characterization -- a quality process must be under statistical control for sustained progress to be possible [Deming's work with Japanese industry after WW II]

  2. Lord Kelvin said acentury ago . . . "When you can measure what you are speaking about, and express it in numbers, you [may] know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the stage of Science."

  3. THE CONCEPT OF PROCESS MATURITY Macro-measure of an organization's capability for continuous process improvement Five-stage progressive model lowest level (1) • crisis driven and poorly controlled • highly dependent on current practitioners • unpredictable cost, schedule and quality highest level (5) • defined and documented process • measured and controlled • focused on process improvement • supported by technology

  4. In Out In Out In Out In Out In Out FIVE MATURITY LEVELS Optimized (5) Managed (4) Defined (3) Repeatable (2) Initial (1)

  5. Optimizing(5) Process change management Technology change management Defect prevention Software quality management Quantitative process management Managed(4) Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus Defined(3) Software config management Software quality assurance Software subcontract management Software project tracking & oversight Software project planning Requirements management Repeatable(2) Initial(1) KEY PROCESS AREAS

  6. Level 2 - Repeatable • policies for managing a software project and procedures implementing those policies are established • 6 key process areas apply: 2.1 Requirements Management A common understanding of the client’s needs is established between the client and the project team. This agreement forms is the basis for planning and managing the project. 2.2 Software Project Planning Reasonable plans for engineering and managing the project are established, forming the foundation for project management

  7. Level 2 - Repeatable (cont.) 2.3 Software Project Tracking & Oversight Adequate visibility into project progress is established allowing management to take effective action when project performance deviates significantly from plans. 2.4 Software Subcontract Management Qualified subcontractors are selected & managed effectively. 2.5 Software Quality Assurance Management is provided with visibility into the quality of the process being used and the products being built. 2.6 Software Configuration Management The integrity of a project’s products are established and maintained over its life cycle (e.g., nightly build)

  8. Our Process Book Level 3 - Defined • A typical process for developing and maintaining software across an organization is documented • 7 key process areas apply: 3.1 Organization Process Focus Organizational responsibility is established for activities that improve overall software process capability. 3.2 Organization Process Definition A reasonable set of process assets is developed and maintained that improve processes across projects and provide a basis for defining meaningful data for quantitative process mgmt. 3.3 Training Program Program put in place to develop needed skills & knowledge.

  9. Level 3 - Defined (cont.) 3.4 Integrated Software Management Software engineering and management activities are integrated into a coherent, defined process tailored from an organization’s standard software processes and related process assets. 3.5 Software Product Engineering A well-defined process is performed consistently; it integrates all technical activities (requirements, design, code, test) to produce correct, consistent products effectively and efficiently.

  10. Level 3 - Defined (cont.) 3.6 Intergroup Coordination Methods are established for a softeng group to participate actively with other engineering groups to form a project team. 3.7 Peer Reviews Reviews are used to remove defects early and efficiently.

  11. Level 4 - Managed • an organization sets quantitative quality goals for both products and processes and instruments processes with well- defined and consistent measurements • 2 key process areas apply: 4.1 Quantitative Process Management A project’s process performance is controlled quantitatively. 4.2 Software Quality Management A quantitative understanding of the quality of a project’s products is developed to achieve specific quality goals.

  12. Level 5 - Optimizing • the entire organization is focused on continuous process improvement • 3 key process areas apply: 5.1 Defect Prevention Causes of defects and their prevention are identified by analyzing defects & if necessary changing the defined process. 5.2 Technology Change Management Beneficial new technologies (eg tools, methods, processes) are identified, transferred into organization in an orderly fashion. 5.3Process Change Management An organization’s processes are continually improved.

  13. Common Features • The practices that describe the key process areas are organized by common feature, which are attributes indicating whether the implementation and institution- alization of a key process is effective, repeatable and lasting. • 5 common features are: Commitment to perform Measurement & analysis Ability to perform Verifying implementation Activities performed

  14. EARLY RESULTS Based on an SEI questionnaire survey and interviews with dozens of organizations 4 & up • Error projection • Test and review coverage • Process metrics data 3 • Design and code reviews • SE training • SE process group 2 • Project Planning • Change control and CM • Regression testing 1 2% 12% 28% 28% 21% 9%

  15. New Maturity Developments Spice: a combination of . . . • ESPRIT's Project Bootstrap (ended in Feb. 1993) - involved industry and research institutes from 5 countries • CMM • ISO 9000 • Allows both organization and project assessment. Watts Humphrey's Personal Software Process Assessment • To accelerate the development of SE, a framework is needed to help professionals understand and grow their capabilities

More Related