1. Calidad y mejora continua
de los procesos de software
Ángel G. Jordán
University Professor Emeritus
7/26/2006 1
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
Modelo de Madurez y Capacidad Integrado
Software Engineering Institute
Programas e iniciativas del SEI
La importancia del Proceso en el Desarrollo del Software
Los modelos de capacidad y madurez del desarrollo del
software SW-CMM
Datos empíricos sobre la Mejora por Nivel
Impacto del Software CMM e ISO 9001
Software CMM v1.1
CMM Integration (CMMI)
7/26/2006 2
CMM Integration (CMMI)
CMM Integration (CMMI-SE/SW/IPPD/SS v1.1)
La mejora del Proceso es Multidimensional
ISO/IEC 15504
Ejemplos concretos de mejoras cuantitativas en el
desarrollo del software
La rápida difusión de los modelos en el ámbito
internacional
La adopción del CMMI supone un cambio cultural
Conclusiones
3. Modelo de Madurez y
CapacidadIntegrado
Capability Maturity Model® Integration
(CMMI®)
7/26/2006 3
(CMMI®)
4. Un modelo a adoptar por cualquier
empresaque quiera mejorar el proceso del
desarrollo de susoftware
Un cambio cultural necesario para que la
empresa se incorpore a la vanguardia en la
7/26/2006 4
empresa se incorpore a la vanguardia en la
producción de su software.
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
7/26/2006 5
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 MellonUniversity
• 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
7/26/2006 6
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
Reconocer y analizar las mejores tecnologías
existentes y las mejores prácticas
Establecerlas como estado del arte y estado
de la practica
7/26/2006 7
de la practica
Transferencia de tecnología
Crear nueva tecnología si se necesita
Formación
8. Diseno del Software empieza
demasiado tarde
Desarrollo Integración y Prueba del Sistema
60 - 80 % de esfuerzo y coste*
7/26/2006 8
* 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
7/26/2006 9
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
Aunque 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
7/26/2006 10
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
Un proceso es un conjunto de prácticas que
se ejecutan para alcanzar un determinado
objetivo; puede incluir herramientas, métodos,
7/26/2006 11
objetivo; puede incluir herramientas, métodos,
materiales, y/o personal.
12. La Premisa de Gestión del Proceso
La calidad de un sistema esta altamente influenciada por la
calidad del proceso utilizado para adquirirlo, desarrollarlo, y
mantenerlo.
Esta premisa implica un enfoque en procesos tanto como en
productos.
7/26/2006 12
productos.
Esta es una premisa bien establecida en manufacturing.
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 capacidadymadurez del
desarrollo del software SW-CMM.
La concepción empezó en 1986
Watts Humphrey se incorpora al SEI
Se observan los modelos de Crosby, y otros
7/26/2006 13
Se observan los modelos de Crosby, y otros
en la fabricación
Se reconoce que el desarrolo del software
tiene puntos comunes con la fabricació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
7/26/2006 14
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
La Calidad (fiabilidad, defectos) mejora por un
factor de 2 (o más)
Capers Jones, “Software Benchmarking,” IEEE Computer, October 1995.
Karl D. Williams, "The Value of Software Improvement… Results!
Results! Results!" SPIRE97, June 1997.
Robert Yacobellis, “Panel: Does SEI Level 5 Lead to High Quality
Software?” COMPSAC 2001.
El esfuerzo para un determinado producto
disminuye por un 15-21%, la productividad
7/26/2006 15
disminuye por un 15-21%, la productividad
aumenta, el tiempo del ciclo disminuye
Bradford K. Clark, “Quantifying the Effects on Effort of Software Process
Maturity,” IEEE Software, November/December 2000.
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.
Lawrence H. Putnam, “Linking the QSM Productivity Index with the SEI
Maturity Level,” QSM, 2000.
16. Impacto del Software CMMe ISO9001
Empresas Certificadas indican mejores atributos del producto y
un retorno en la calidad que empresas no certificadas
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
7/26/2006 16
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
Managed4
5
Defined
Software CMMv1.1
7/26/2006 17
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
Initial1
Repeatable2
18. CMMIntegration(CMMI)
El Software CMM ha evolucionado para convertirse en el CMMI.
CMMI incluye
ingeniería de sistemas
ingeniería de software
Desarrollo del software integrando el producto y el proceso
selección de los suministros
7/26/2006 18
selección de los suministros
módulo de adquisición para organizaciones gubernamentales de adquisición
Mary Beth Chrissis, Mike Konrad, and Sandy Shrum, CMMI: Guidelines for Process Integration and Product Improvement, 2003.
http://www.sei.cmu.edu/cmmi/
http://www.sei.cmu.edu/cmmi/adoption/sunset.html
19. CMMIntegration(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
7/26/2006 19
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
Integrated Project 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
7/26/2006 20
CMMI based improvement is Much More than simply asking
people to use a different template.
Structure
Managerial Social/Cultural
Strategic
ISOISO
CMMICMMI
QAQA
??
22. The CapabilityDimension
Level 2 GenericPractices
GG 1 Achieve Specific Goals
GG 2 Institutionalize a Managed Process
GP 2.1 Establish an Organizational Policy
GP 2.2 Plan the Process
GP 2.3 Provide Resources
7/26/2006 22
GP 2.3 Provide Resources
GP 2.4 Assign Responsibility
GP 2.5 Train People
GP 2.6 Manage Configurations
GP 2.7 Identify and Involve Relevant Stakeholders
GP 2.8 Monitor and Control the Process
GP 2.9 Objectively Evaluate Adherence
GP 2.10 Review Status with Higher Level Management
23. The CapabilityDimension
Level 3 GenericPractices
GG 1 Achieve Specific Goals
GG 2 Institutionalize a Managed Process
GG 3 Institutionalize a Defined Process
GP 3.1 Establish a Defined Process
GP 3.2 Collect Improvement Information
7/26/2006 23
GP 3.2 Collect Improvement Information
24. The CapabilityDimension
Level 4 GenericPractices
GG 1 Achieve Specific Goals
GG 2 Institutionalize a Managed Process
GG 3 Institutionalize a Defined Process
GG 4 Institutionalize a Quantitatively Managed Process
GP 4.1 Establish Quantitative Objectives for the Process
7/26/2006 24
GP 4.1 Establish Quantitative Objectives for the Process
GP 4.2 Stabilize Subprocess Performance
25. The CapabilityDimension
Level 5 GenericPractices
GG 1 Achieve Specific Goals
GG 2 Institutionalize a Managed Process
GG 3 Institutionalize a Defined Process
GG 4 Institutionalize a Quantitatively Managed Process
GG 5 Institutionalize an Optimizing Process
7/26/2006 25
GP 5.1 Ensure Continuous Process Improvement
GP 5.2 Correct Root Causes of Problems
26. ISO/ IEC 15504
(Software Engineering– Process Assessment)
Process Reference Models
ISO/IEC 12207 (Software Life Cycle Processes)
ISO/IEC 15288 (Systems Life Cycle Processes)
Continuous representation
processes (purpose + outcomes)
capability dimension (six levels)
7/26/2006 26
capability dimension (six levels)
Process Assessment Models
ISO/IEC 15504-5 exemplar (under development)
Terence 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
en empresas líderes que adoptaron el
modelo SW-CMM y luego el CMMI
7/26/2006 27
28. Lockheed MartinM&DS
SW CMM ML2 (1993) to ML 3 (1996) to
CMMI ML5 (2002)
Results
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:
7/26/2006 28
baseline that remained unrealized at SW-CMM level
2
1996 - 2002
Increased software productivity by 30%
Decreased unit software cost by 20%
Decreased defect find and fix costs by 15%
Proprietary sources with permission; August 2003.
Productivity
Product cost
29. General MotorsCorporation
CMMI focus 2001
Goal is Integration of Supplier Work and GM
Project Execution
Results:
Improved schedule – projects met milestones
Improvements in:
7/26/2006 29
Improved schedule – projects met milestones
and were fewer days late
Camping on a Seesaw: GM’s IS&S Process Improvement Approach. Hoffman, Moore & Schatz,
SEPG 2003.
Schedule /
cycle time
30. Thales ATM
CMMI Level 4 helps THALES meet their business
objectives.
Ability to see into the future with a known level of
confidence
Increasing number of processes under statistical
control
Measurement based process improvement
7/26/2006 30
Measurement based process improvement
Return on investment due to
earlier defect detection
improved risk management
better control of projects
CMMI® Level 4 Preparation: The Story of the Chicken and the Egg. Anne De Goeyse and Anne
Sophie Luce, Thales ATM; and Annie Kuntzmann-Combelles, Q-Labs France, ESEPG 2003.
Predictability
Quality
Improvements in:
31. Bosch Gasoline Systems
CMM based improvements
Predictability -- Internal On-Time Delivery improved
by 15%
Less Rework – first pass yield improved by 10%
Product Quality – reduction in error cases in the
factory by one order of magnitude - Rework
Predictability
Schedule /
cycle time
Improvements in:
7/26/2006 31
Next Steps include
Move to CMMI and applying it to software, system
and hardware
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. MorganChase & Co
1st CMM success 2001
today, 28 teams at CMM Level 2
CMMI success – 1st team ML3 in 2003
Investment in PI = $4 million
Results:
Improved predictability of delivery schedule
Improvements in:
7/26/2006 32
Improved predictability of delivery schedule
Reduction of post-release defects
Reduced severity of post-release defects
And, from CMMI specifically
Increased through-put = more releases per year
Goal to achieve CMMI throughout organization
Predictability
Quality
Schedule /
cycle time
With permission from presentation to the SEI, September 2003.
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%
OrganizationSize
Based on the total number of employees within the area of the
organization that was appraised
201 to 2000+
7/26/2006 34
Based on organizations reporting size data
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,083
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
7/26/2006 35
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
37. La adopción del CMMI supone un cambio
cultural en las empresas pero el retorno en
la inversión es significativo
El cambio cultural requiere cambio de
gestión, de métodos y tecnologías
7/26/2006 37
gestión, de métodos y tecnologías
Tiempos que se requieren y compromisos
por parte de la empresa