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
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
Modelo de Madurez y Capacidad Integrado
Capability Maturity Model® Integration (CMMI®)
(CMMI®)
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
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
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.
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
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
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
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
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.
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).
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
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.
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.
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.
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
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
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
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
?
?
The CapabilityDimension Level 1 Generic Practices
n GG 1 Achieve Specific Goals
n GP 1.1 Perform Base Practices
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
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
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
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
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.
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
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
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
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:
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
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
La rápida difusión de los modelos en el
ámbito internacional
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%
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
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%
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