Calidad y mejora continua de los procesos de software

Texto completo

(1)

Calidad y mejora continua de los procesos de software

Ángel G. Jordán

University Professor Emeritus University Professor Emeritus Provost Emeritus

Carnegie Mellon University

Universidad Pública de Navarra Curso de verano

26 de Julio, 2006

(2)

De lo que voy a hablar

nModelo de Madurez y Capacidad Integrado

nSoftware Engineering Institute

nProgramas e iniciativas del SEI

nLa importancia del Proceso en el Desarrollo del Software

nLos modelos de capacidad y madurez del desarrollo del software SW-CMM

nDatos empíricos sobre la Mejora por Nivel

nImpacto del Software CMM e ISO 9001

nSoftware CMM v1.1

nCMM Integration (CMMI)

nCMM Integration (CMMI)

nCMM Integration (CMMI-SE/SW/IPPD/SS v1.1)

nLa mejora del Proceso es Multidimensional

nISO/IEC 15504

nEjemplos concretos de mejoras cuantitativas en el desarrollo del software

nLa rápida difusión de los modelos en el ámbito internacional

nLa adopción del CMMI supone un cambio cultural

nConclusiones

(3)

Modelo de Madurez y Capacidad Integrado

Capability Maturity Model® Integration (CMMI®)

(CMMI®)

(4)

Un modelo a adoptar por cualquier

empresa que quiera mejorar el proceso del desarrollo de su software

n Un cambio cultural necesario para que la empresa se incorpore a la vanguardia en la empresa se incorpore a la vanguardia en la producción de su software.

n De donde vienen el los modelos CMM y CMMI

(5)

Fundado como Centro de I+D financiado for el Gobierno Federal (FFRDC)

Software EngineeringInstitute

Otorgado a Carnegie Mellon University en 1984 en competición con otras universidades

Patrocinado por el Under Secretary of Defense Patrocinado por el Under Secretary of Defense (Acquisition, Technology, & Logistics)

Contrato administrado por USAF Electronic Systems Center (ESC)

Oficinas en Arlington, VA, Huntsville AL, Pittsburgh, PA and Frankfurt, Germany

Unos 600 empleados

(6)

El Software EngineeringInstitute (SEI) de Carnegie Mellon University

Se creó respondiendo a la crisis originada por la falta de productividad en el desarrollo del software.

Esta falta de productividad concidía con la correspondiente falta de productividad en la correspondiente falta de productividad en la fabricación.

La concepción de crear un SEI vino del Pentágono, respondiendo a estudios de entidades de software.

(7)

Proyectos iniciales del SEI respondiendo a la crisis

n Reconocer y analizar las mejores tecnologías existentes y las mejores prácticas

n Establecerlas como estado del arte y estado de la practica

de la practica

n Transferencia de tecnología

n Crear nueva tecnología si se necesita

n Formación

(8)

Diseno del Software empieza demasiado tarde

Desarrollo Integración y Prueba del Sistema

60 - 80 % de esfuerzo y coste*

* Movimiento a la izquierda !

* Reusar todo

* Nunca cometer la misma equivocación dos veces El metodo nuevo

El metodo antiguo

(9)

SEI Technical Program

Capability Maturity

Model Integration Integration

Software Intensive

Systems

Team Software Process Survivable

Systems Product

The right software delivered

defect free, on cost, on time, every time High confidence, evolvable,

product lines

with predictable and improved cost, schedule, and quality

Management Practice Initiatives

Integration Acquisition

Support Systems Systems

Performance Critical Systems

Architecture Tradeoff Analysis

Technical Practice Initiatives

Software Engineering Measurement

& Analysis Product

Line Practice Predictable

Assembly with Certifiable Components

(10)

Puntos Palanca para la Calidad

nAunque el proceso se describe con frecuencia como una pata en el trípode proceso-personal-tecnología, se le puede considerar como el aglutinador que unifica los otros aspectos.

Todos reconocen la importancia de tener personal motivado y de alta calidad pero el

PERSONAL

alta calidad pero el

mejor personal no puede funcionar óptimamente si el proceso no se

entiende

Principales

determinantes del coste del producto, horario, y calidad.

PROCESO

TECNOLOGIA

(11)

Definición General de Proceso

nUn proceso es un conjunto de prácticas que se ejecutan para alcanzar un determinado

objetivo; puede incluir herramientas, métodos, objetivo; puede incluir herramientas, métodos, materiales, y/o personal.

(12)

La Premisa de Gestión del Proceso

nLa calidad de un sistema esta altamente influenciada por la calidad del proceso utilizado para adquirirlo, desarrollarlo, y mantenerlo.

nEsta premisa implica un enfoque en procesos tanto como en productos.

productos.

q Esta es una premisa bien establecida en manufacturing.

q La credibilidad de esta premisa es visible en todo el mundo en movimientos de calidad en industrias de manufacturing y servicios

(e.g., ISO standards).

(13)

Los modelos de capacidad y madurez del desarrollo del software SW-CMM.

n La concepción empezó en 1986

n Watts Humphrey se incorpora al SEI

n Se observan los modelos de Crosby, y otros

n Se observan los modelos de Crosby, y otros en la fabricación

n Se reconoce que el desarrolo del software tiene puntos comunes con la fabricación

n Se adaptan estos modelos al software y se cambian como sea preciso

(14)

The CapabilityMaturityModel

for Software (SW-CMM

)

Una aplicación de sentido común de los conceptos de Total Quality Management a proyectos de software

Una guía desarrollada por la comunidad - con descripciones de buenas prácticas de buena ingeniería y buena gestión

Un modelo prescriptivo de cinco niveles para la transformación organizativa

La base para evaluaciones fiables y consistentes basadas en en el Modelo de Capacidad y Madurez

Mark C. Paulk, Charles V. Weber, Bill Curtis, and Mary Beth Chrissis, The Capability Maturity Model: Guidelines for Improving the Software Process, 1995.

(15)

Datos empíricos sobre la Mejora por Nivel

nLa Calidad (fiabilidad, defectos) mejora por un factor de 2 (o más)

n Capers Jones, “Software Benchmarking,” IEEE Computer, October 1995.

n Karl D. Williams, "The Value of Software Improvement… Results!

Results! Results!" SPIRE97, June 1997.

n Robert Yacobellis, “Panel: Does SEI Level 5 Lead to High Quality Software?” COMPSAC 2001.

nEl esfuerzo para un determinado producto disminuye por un 15-21%, la productividad disminuye por un 15-21%, la productividad aumenta, el tiempo del ciclo disminuye

n Bradford K. Clark, “Quantifying the Effects on Effort of Software Process Maturity,” IEEE Software, November/December 2000.

n Donald E. Harter, Mayuram S. Krishnan, and Sandra A. Slaughter,

“Effects of Process Maturity on Quality, Cycle Time, and Effort in Software Product Development,” Management Science, April 2000.

n Lawrence H. Putnam, “Linking the QSM Productivity Index with the SEI Maturity Level,” QSM, 2000.

(16)

Impacto del Software CMM e ISO 9001

n Empresas Certificadas indican mejores atributos del producto y un retorno en la calidad que empresas no certificadas

n Empresas altamente clasificadas con CMM (niveles 4 y 5) son mejores que las empresas certificadas con ISO 9001 en lo que respecta a atributos de producto y retorno en la calidad

n George Issac, Chandrasekharan Rajendran, and R.N. Anantharaman, “Do Quality Certifications Improve the Software Industry’s Operational

Performance?” ASQ Software Quality Professional, December 2003.

(17)

Defect Prevention Technology Change Management

Process Change Management Continuous

process improvement Product and process quality Engineering processes and organizational

Quantitative Process Management Software Quality Management Organization Process Focus Organization Process Definition Training Program

Level Focus Key Process Areas

Optimizing

3

Managed

4 5

Defined

Software CMM v1.1

Competent people (and heroics) organizational

support

Project

management processes

Training Program

Integrated Software Management Software Product Engineering Intergroup Coordination

Peer Reviews

Requirements Management Software Project Planning

Software Project Tracking & Oversight Software Subcontract Management Software Quality Assurance

Software Configuration Management Initial

1

Repeatable

2

(18)

CMM Integration (CMMI)

nEl Software CMM ha evolucionado para convertirse en el CMMI.

nCMMI incluye

q ingeniería de sistemas

q ingeniería de software

q Desarrollo del software integrando el producto y el proceso

q selección de los suministros

q selección de los suministros

q módulo de adquisición para organizaciones gubernamentales de adquisición

nMary Beth Chrissis, Mike Konrad, and Sandy Shrum, CMMI: Guidelines for Process Integration and Product Improvement, 2003.

nhttp://www.sei.cmu.edu/cmmi/

nhttp://www.sei.cmu.edu/cmmi/adoption/sunset.html

(19)

CMM Integration (CMMI-SE/ SW/ IPPD / SS v1.1)

Process is measured and controlled

Focus is on quantitative continuous process improvement

Level Process

Characteristics

Quantitative Project Management Organizational Process Performance Causal Analysis and Resolution

Organizational Innovation and Deployment Process Areas

Requirements Development Quantitatively

Managed Optimizing

Integrated Teaming

Organizational Environment for Integration

Process is unpredictable, poorly controlled, and reactive

Process is characterized for projects and is often reactive

Process is characterized for the organization and is proactive

Requirements Management Project Planning

Product and Process Quality Assurance

Configuration Management Project Monitoring and Control

Supplier Agreement Management Requirements Development

Technical Solution Product Integration

Validation Verification

Organizational Process Focus IntegratedProject Management

Initial Managed

Defined

Measurement and Analysis Organization Process Definition Organizational Training

Risk Management

Decision Analysis & Resolution

Organizational Environment for Integration Integrated Supplier Management

(20)

Process Improvement Involves Dealing with Multiple Dimensions at One Time

Organization Structure

Technical

CMMI based improvement is Much More than simply asking Structure

Managerial Social/Cultural Strategic

ISO ISO

CMMI

QA CMMI

QA

?

?

(21)

The CapabilityDimension Level 1 Generic Practices

n GG 1 Achieve Specific Goals

n GP 1.1 Perform Base Practices

(22)

The CapabilityDimension Level 2 Generic Practices

n GG 1 Achieve Specific Goals

n GG 2 Institutionalize a Managed Process

n GP 2.1 Establish an Organizational Policy

n GP 2.2 Plan the Process

n GP 2.3 Provide Resources

n GP 2.3 Provide Resources

n GP 2.4 Assign Responsibility

n GP 2.5 Train People

n GP 2.6 Manage Configurations

n GP 2.7 Identify and Involve Relevant Stakeholders

n GP 2.8 Monitor and Control the Process

n GP 2.9 Objectively Evaluate Adherence

n GP 2.10 Review Status with Higher Level Management

(23)

The CapabilityDimension Level 3 Generic Practices

n GG 1 Achieve Specific Goals

n GG 2 Institutionalize a Managed Process

n GG 3 Institutionalize a Defined Process

n GP 3.1 Establish a Defined Process

n GP 3.2 Collect Improvement Information

n GP 3.2 Collect Improvement Information

(24)

The CapabilityDimension Level 4 Generic Practices

n GG 1 Achieve Specific Goals

n GG 2 Institutionalize a Managed Process

n GG 3 Institutionalize a Defined Process

n GG 4 Institutionalize a Quantitatively Managed Process

n GP 4.1 Establish Quantitative Objectives for the Process

n GP 4.1 Establish Quantitative Objectives for the Process

n GP 4.2 Stabilize Subprocess Performance

(25)

The CapabilityDimension Level 5 Generic Practices

n GG 1 Achieve Specific Goals

n GG 2 Institutionalize a Managed Process

n GG 3 Institutionalize a Defined Process

n GG 4 Institutionalize a Quantitatively Managed Process

n GG 5 Institutionalize an Optimizing Process

n GP 5.1 Ensure Continuous Process Improvement

n GP 5.2 Correct Root Causes of Problems

(26)

ISO/ IEC 15504

(Software Engineering– Process Assessment)

nProcess Reference Models

q ISO/IEC 12207 (Software Life Cycle Processes)

q ISO/IEC 15288 (Systems Life Cycle Processes)

nContinuous representation

q processes (purpose + outcomes)

q capability dimension (six levels)

q capability dimension (six levels)

nProcess Assessment Models

q ISO/IEC 15504-5 exemplar (under development)

nTerence P. Rout, “ISO/IEC 15504 – Evolution to an International

Standard,” Software Process Improvement and Practice, January/March 2003, pp. 27-40.

(27)

Ejemplos concretos de mejoras

cuantitativas en el desarrollo del software

n en empresas líderes que adoptaron el modelo SW-CMM y luego el CMMI

(28)

Lockheed Martin M& DS

nSW CMM ML2 (1993) to ML 3 (1996) to CMMI ML5 (2002)

nResults

q captured a greater percentage of available award

fees, now receiving 55 percent more compared to the baseline that remained unrealized at SW-CMM level

Customer satisfaction

Improvements in:

baseline that remained unrealized at SW-CMM level 2

1996 - 2002

q Increased software productivity by 30%

q Decreased unit software cost by 20%

q Decreased defect find and fix costs by 15%

Productivity Product cost

(29)

General Motors Corporation

nCMMI focus 2001

nGoal is Integration of Supplier Work and GM Project Execution

n

Results:

Improved schedule – projects met milestones

Improvements in:

q Improved schedule – projects met milestones and were fewer days late

Camping on a Seesaw: GM’s IS&S Process Improvement Approach. Hoffman, Moore & Schatz,

Schedule / cycle time

(30)

Thales ATM

nCMMI Level 4 helps THALES meet their business objectives.

q Ability to see into the future with a known level of confidence

q Increasing number of processes under statistical control

Measurement based process improvement

q Measurement based process improvement

q Return on investment due to

n earlier defect detection

n improved risk management

n better control of projects

CMMI® Level 4 Preparation: The Story of the Chicken and the Egg. Anne De Goeyse and Anne

Predictability Quality

Improvements in:

(31)

Bosch Gasoline Systems

nCMM based improvements

q Predictability -- Internal On-Time Delivery improved by 15%

q Less Rework – first pass yield improved by 10%

q Product Quality – reduction in error cases in the

factory by one order of magnitude - Rework

Predictability Schedule /

cycle time

Improvements in:

Next Steps include

q Move to CMMI and applying it to software, system and hardware

q Expand process improvement program to include sales, hardware and component development

Critical success factors for improvement in a large embedded systems organisation. Wolfgang Stolz, Robert Bosch GmbH Gasoline Systems GS-EC/ESP and Hans-Jürgen Kugler, Q-Labs Software Engineering, ESEPG 2003.

Quality

(32)

J.P. Morgan Chase & Co

n1st CMM success 2001

n today, 28 teams at CMM Level 2

nCMMI success – 1st team ML3 in 2003

nInvestment in PI = $4 million

nResults:

q Improved predictability of delivery schedule

Improvements in:

q Improved predictability of delivery schedule

q Reduction of post-release defects

q Reduced severity of post-release defects And, from CMMI specifically

q Increased through-put = more releases per year Goal to achieve CMMI throughout organization

Predictability Quality

Schedule / cycle time

(33)

La rápida difusión de los modelos en el

ámbito internacional

(34)

25 or fewer 9.9%

26 to 50 12.7%

301 to 500

501 to 1000 9.1%

1001 to 2000

6.3% 2000+

3.3%

Organization Size

Based on the total number of employees within the area of the organization that was appraised

201 to 2000+

101 to 200 18.9%

201 to 300 11.0%

76 to 100 8.7%

51 to 75 10.3%

301 to 500

9.8% 1 to 100

41.6%

201 to 2000+

39.5%

(35)

Appraisals and MaturityLevels byCountry

Country

Number of Appraisals

Maturity Level 1 Reported

Maturity Level 2 Reported

Maturity Level 3 Reported

Maturity Level 4 Reported

Maturity Level 5

Reported Country

Number of Appraisals

Maturity Level 1 Reported

Maturity Level 2 Reported

Maturity Level 3 Reported

Maturity Level 4 Reported

Maturity Level 5 Reported

Argentina 12 No Yes Yes Yes No Latvia 10 or fewer

Australia 21 Yes Yes Yes Yes Yes Malaysia 10 or fewer

Austria 10 or fewer Mauritius 10 or fewer

Belarus 10 or fewer Mexico 10 or fewer

Belgium 10 or fewer Netherlands 10 or fewer

Brazil 22 No Yes Yes No Yes New Zealand 10 or fewer

Canada 15 No Yes Yes No Yes Philippines 10

Chile 10 or fewer Portugal 10 or fewer

Chile 10 or fewer Portugal 10 or fewer

China 117 Yes Yes Yes Yes Yes Russia 10 or fewer

Colombia 10 or fewer Singapore 10 or fewer

Czech Republic 10 or fewer Slovakia 10 or fewer

Denmark 10 or fewer South Africa 10 or fewer

Egypt 10 or fewer Spain 18 No Yes Yes No Yes

Finland 10 or fewer Sweden 10 or fewer

France 42 Yes Yes Yes Yes Yes Switzerland 10 or fewer

Germany 22 Yes Yes Yes No Yes Taiwan 26 No Yes Yes No No

Hong Kong 10 or fewer Thailand 10 or fewer

India 140 No Yes Yes Yes Yes Turkey 10 or fewer

Ireland 10 or fewer Ukraine 10 or fewer

Israel 10 or fewer United Kingdom 35 Yes Yes Yes Yes No

Italy 10 or fewer United States 500 Yes Yes Yes Yes Yes

Japan 131 Yes Yes Yes Yes Yes Vietnam 10 or fewer

Korea, Republic of 50 Yes Yes Yes Yes Yes

(36)

Disciplines Selected for Appraisals

350 400 450 500 550 600 650 700

49.8%

Number of Appraisals

34.5%

0 50 100 150 200 250 300 350

SE/SW SW SE/SW/SS SE/SW/IPPD/SS SE SE/SW/IPPD SW/IPPD SW/SS SE/SS SE/IPPD/SS SW/IPPD/SS

Number of Appraisals

3.0% 1.8% 1.2% 0.5% 0.2%

4.6% 4.1%

0.1% 0.1%

(37)

La adopción del CMMI supone un cambio cultural en las empresas pero el retorno en la inversión es significativo

n El cambio cultural requiere cambio de gestión, de métodos y tecnologías

gestión, de métodos y tecnologías

n Tiempos que se requieren y compromisos por parte de la empresa

(38)

Questions?

Comments?

Figure

Actualización...

Referencias

Actualización...

Related subjects :