2. • El Orbitador se destruye por
estres atmosférico.
• Causa: Error del software.
Confusión entre millas y km.
• Costo total: U$327.6 millones
Mars Climate Orbiter
7. Modelos
Dificultad de
implementación
Impacto en la calidad
del producto
Genéricos
Específicos
ISO 9001ISO 27001
CMMI
ISO/IEC 15504
ISO/IEC 20000
Automotive
SPICE
Enterprise
SPICE
ISO 17025ISO/IEC 12207
9. Los Modelos en el mundo
0
100
200
300
400
500
600
China United States India España Corea del Sur Japón Brasil México
Nro.deevaluaciones"A"
Evaluaciones CMMI v1.2/1.3
2007
2008
2009
2010
2011
2012
2.425
1.519
662
10. Los Modelos en Uruguay
ISO 9001
30 certificadas en algún
proceso de TI
22 certificadas en el
proceso de desarrollo de
software
CMMI
2 Nivel 5
1 Nivel 3
ISO/IEC 20000-1
2 certificados
11. ”
“Lo más importante no es el
modelo, sino su habilidad para
utilizar el modelo y
transformarlo en algo que
agregue valor para su
organización”.
Nabil Abdel Malek
14. Estructura para la mejora del proceso
Dirección
Gerentes
Ingenieros de software
Equipo Guía
Equipo de Procesos
Equipo
Mejora 1
Equipo
Mejora 2
Equipo
Mejora n
Repositorio de Procesos
19. Condiciones para el éxito
Establecer el contexto para la
mejora y seleccionar un modelo
Hacer un diagnóstico y elaborar
un plan de mejoras
Buscar generar éxitos en corto
plazo y trabajar en el largo plazo
Comunicación
efectiva, involucrar a las
personas
21. Conferencias relacionadas
Mobile Usability Testing - Sala
4R, 1/10, 17:00
La visión del líder de Testing - Sala
2A, 2/10, 10:30
¿Por qué correr cuando puedes testear? -
Sala 2A, 2/10, 11:00
Notas del editor
Presentación Oradores.Queremos comenzar queremos contarles un par de historias:
Aca tenemos al Galileo, cuyo objetivo fue Jupiter y sus Lunas. Nuevamente podemos ver los datos respecto a los defectos a lo largo del tiempo. Ambos productos tienen una dimensión de 22 KLOC.En el caso del Galileo, luego de 5 años y medio de pruebas, se encontraron 3 defectos críticos en 8 semanas. Como se puede ver, los datos de prueba no pueden decirnos cuando no quedan mas defectos, es decir Testear no garantiza la calidad de nuestros productos.Como sabemos, el test ocurre demasiado tarde ya que necesitamos tener el producto desarrollado. Hay casos de test que pueden ser muy complicados de ejecutar. No es efectivo cuando tenemos gran cantidad de defectos. La solución a esto es desarrollar los productos bien desde el principio. Necesitamos apoyarnos en procesos de desarrollo robustos y guiados por las mejores prácticas.
Para ver un ejemplo de esto, les presentamos el siguiente caso de BMW.Como dice el slogan del Evento, “SoftwareisEverywhere”. Aquí les presentamos la evolución en el tiempo del software que BMW incluye en sus autos.A través de los años, ellos detectaron que había una correlación entre la detección temprana de defectos y los proceso utilizados durante el desarrollo de los productos. Para esto se apoyaron en un modelo de procesos especifico para la industria automotriz.
De esto se trata esta sesión/charla. Cómo logramos definir y mejorar nuestros procesos de trabajo para generar mejor calidad y trabajar en forma más eficiente.Por esto comenzamos viendo los modelos, luego como los aplicamos a nuestra organización y por último las condiciones de éxito necesarias para que la implantación de los procesos sea la deseada.
Bien, ya tenemos una noción de qué modelos de gestión podemos utilizar para orientar la mejora de mis procesos pero:¿Cómo se enfocan las actividades de mejora? ¿Por dónde comienzo?En definitiva, como dice el nombre de la charla,¿Qué puedo Hacer?Una opción que es de utilidad es seguir el modelo de mejora de procesos de software del SEI que es el modelo IDEAL. A continuación les vamos a mostrar una simplificación de dicho modelo para comprender sus fases básicas.
Modelo IDEALIniciación:Todas las actividades de mejora, poseen un estímulo, las organizaciones no elijen implementar un modelo de procesos porque sí. El primer paso sería detectar dicho estímulo, hacerse la pregunta porque quiero mejorar? A modo de ejemplo, en el caso de la NASA que vimos hoy, las gráficas y datos respecto al Testing serían un buen estímulo para comenzar la mejora del proceso de Software. Otra pregunta que está bueno hacerse es que quiero cómo resultado del procesos de mejora? Quiero la certificación cómo un cuadrito o quiero mejorar mis procesos?Otro punto importante es establecer el contexto para el programa de mejoras(a grandes rasgos, cuál será el alcance, áreas o procesos a incluir, cuales son los objetivos de la organización y en función de esto, qué modelos se usarán, etc) y el sponsorship (debe ser unapoyo sostenido) dentro de la organización.Luego de esto es necesario establecer la estructura e infraestructura para la mejora. Vamos a entrar más en detalle más adelante.La siguiente fase del modelo es elDiagnóstico: En esta etapa, se evalúan las prácticas actuales y se documenta el resultado de la evaluación. Aquí se compara contra los modelos de gestión seleccionados como base y se detectan oportunidades de Mejora. El foco debe ser comprender el estado actual de la organización y luego concentrarse en mejorar, no buscar culpables.Existen diferentes técnicas para realizar la evaluación, talleres, entrevistas con referentes de un proceso, etc. Es interesante detectar el nivel de madurez en la utilización/adopción de una determinada práctica y también el nivel deseado. Establecimiento: En este punto se establecen prioridades para la mejora de acuerdo al contexto definido inicialmente y a los recursos destinados. Resulta interesante identificar y disparar aquellas acciones de mejora que puedan generar resultados visibles y en corto tiempo. Se crean equipos para la mejora y se planifican sus acciones. Estos grupos de trabajo estarán integrados por personas con experiencia y prestigio dentro de la empresa. Referentes de las áreas a mejorar.Actuación: En esta etapa los equipos de mejora, diseñan e incorporan las mejoras a los nuevos procesos.Luego se valida mediante un proyecto piloto. Es deseable que sea un proyecto con resultados visibles en corto plazo, que otorguen valor agregado a la organización y cuyo coordinador apoye el proceso de mejora.Se mejora el proceso mediante varios pilotos hasta que se lleva al resto de la organización. Se planifica la implantación del proceso en la organización. Se definen y toman las medidas de los procesos actualizados.Leverage/Learning / Influencia, apalancar: Se documentan las lecciones aprendidasSe revisa el enfoque de la organización y se vuelven a detectar estímulos para mejorar. Se cierra el ciclo.
Hoy hablamos de brindar una infraestructura que soporte la mejora y guíe todo el proceso:Si partimos de la estructura formal genérica de la empresa (como la del ejemplo) se debe generar una estructura/infraestructura paralela formada por: Equipo Guía: Integrado por la dirección de la empresa, debe definir los objetivos a largo plazo, monitorear su cumplimiento, asignar recursos y dar autoridad al equipo de procesos. Equipo de Procesos o Software EngineeringProcessGroup (SEPG): Es el grupo líder de los cambios en la organización, planifica, ejecuta la mejora del proceso, introduce tecnologías y métodos, institucionaliza el conocimiento.Realiza auditorías periódicas, informa periódicamente al equipo guía y al resto de la organización. Brinda asesoramiento y coordina los equipos de mejora.N Equipos de mejora: Diseñan las políticas y procesos técnicos, prueban las prácticas definidas y entrenan al resto en dichas prácticas. Una vez que se ejecuta el proceso ideal en esta estructura, el equipo de procesos actualiza el repositorio de los procesos de Software para la empresa. Básicamente allí se guardan los checklist, pautas, estándares, métricas, procedimientos técnicos etc, que luego sirven de entrada a la organización.
Para ir cerrando, La idea ahora es abordar algunos de los mitos o cosas que hemos escuchado por los pasillos cuando se encaran los programas de mejora de procesos en las organizaciones.
Burocracia:Un mito bastante tradicional está relacionado con la burocracia y el overhead que genera la definición de procesos en la empresa. Papeleo innecesario… Quino bautizó a la mascota de Mafalda con el nombre de Burocracia y nos la muestra en esta historia.Definir mis procesos siguiendo un modelo de gestión (CMMI o ISO) genera mucha burocracia que es inútil y hace más lenta la entrega de valor al cliente.Los modelos de buenas prácticas mencionados anteriormente, establecen ciertos requisitos para implementar sistemas de gestión de calidad en las organizaciones. De ninguna manera, prescriben cómo hay que hacer las cosas y mucho menos tienen como objetivo complejizar el trabajo diario. Por el contrario, estos modelos buscan introducir la mejora continua en la organización mediante la revisión crítica de los procesos y por ende la simplificación de los mismos. Como resultado de esto, la burocracia tiende a disminuir y no aumentar.La burocracia suele ser en general fruto de hacer las cosas de una forma que nadie cuestiona y que termina aceptándose como “Normal” en la organización.Lo que en una visión de corto plazo se interpreta como “Burocracia” por tener que hacer documentos que antes no hacía, en el largo plazo redunda en tener un producto con menos defectos, tener confianza en el cumplimiento de los compromisos asumidos de plazos y presupuestos; y reducir de forma significativa el costo de no hacer las cosas bien la primera vez, que en la jerga se conoce como “costos de la no-calidad”.
Credibilidad de la certificación:Hay empresas certificadas siguiendo un modelo de gestión (CMMI o ISO) cuyos productos no son buenos.La existencia de un sistema de gestión de calidad evaluado/certificado no siempre garantiza que dicho sistema sea el más eficaz para la organización. Esto se debe a múltiples factores. En algunos casos, las organizaciones buscan la certificación únicamente por requerimientos del mercado o para diferenciarse de cierto competidor (dicho en criollo: “Para colgar el cuadrito en la pared”) y terminan generando en corto plazo un sistema impuesto que no se corresponde con su forma de trabajo y que no responde a las verdaderas necesidades de sus clientes. La mejora continua implica la adaptación de los requisitos establecidos a la organización de forma crítica y requiere: gran compromiso de la dirección y un profundo dominio del modelo de referencia.
Innovación:Definir mis procesos siguiendo un modelo de gestión (CMMI o ISO) reduce la innovación en la empresa.Esta creencia es muy común. En realidad, la definición e institucionalización de los procesos busca ordenar el trabajo en la organización de manera de brindar los canales y posibilitar las instancias para que las ideas innovadoras que surjan se canalicen de buena manera. Todo sistema de gestión debería proveer mecanismos de comunicación y participación que permitan la generación, evaluación y puesta en práctica de ideas innovadoras. Los procesos definidos deben ser una plataforma para la innovación en la empresa. Por otro lado, existen modelos que incluyen buenas prácticas para fomentar la innovación dentro de los equipos, como ser Enterprise Spice.Como ejemplo de empresa innovadora podemos ver a BMW que fue mencionada al principio de la charla.
Acotar el esfuerzo de mejora y seleccionar áreas donde las transformaciones produzcan máximos beneficios a largo plazo.A modo de ejemplo, se podría enfocar la mejora al proceso de ingeniería, el “core” la empresa o a un área específica que desarrolle cierto tipo de proyectos.Buscar generar éxitos en corto plazo y trabajar en el largo plazo.Se debe equilibrar las trasformaciones a largo plazo con la obtención de hitos y generación de valor en el corto plazo. Para esto, es clave identificar e implantar las mejoras de gran impacto y bajo esfuerzo que se detecten. Contar con pilotos de corto tiempo, etc.Primero comprender el proceso actual y ser conscientes que la mejora debe ser continua y requiere inversión.Brindar recursos para esto, el apoyo de la dirección debe ser sostenido. Al establecer la infraestructura/estructura de mejora, combinar procesos eficaces con las personas apropiadas y motivadas. Grupos de trabajo formados por gente con experiencia y prestigio en la empresa.Comunicación efectiva. El proceso de trasformación debe ser participativo e incluir a tantos miembros de la organización como sea posible. Es importante difundir a toda la organización la prioridad del proceso de mejora y los logros intermedios.