Mostrando entradas con la etiqueta defectos. Mostrar todas las entradas
Mostrando entradas con la etiqueta defectos. Mostrar todas las entradas

Aseguramiento de calidad, variantes y alternativas

auditoria

El aseguramiento de calidad se asocia normalmente con auditorías a procesos y productos pero existen otras técnicas y medios para cubrir la función. Cada caso y situación tiene sus pros y contras, el resultado debe ofrecer los mejores beneficios.


El modelo CMMI establece entre sus prácticas básicas el Aseguramiento de la calidad del proceso y productos (PPQA).para proporcionar al personal y a la gerencia una visión objetiva del cumplimiento de los mismos que soporte la entrega de productos con mayor calidad. Es la manera planificada y sistemática en que la gerencia se asegura que los estándares, prácticas, procedimientos y métodos definidos en los procesos son utilizados. Proporciona visibilidad y retroalimentación durante todo el proyecto.

Inconsistencia con los requisitos, una práctica poco valorada o entendida

Inconsistencias
Zeedonk by sannse

La gestión de requisitos considera diferentes tareas desde el acuerdo sobre lo que se va a hacer, el control de las modificaciones a lo que se acordó y la revisión de que se está haciendo lo correcto. Cuando las dos primeras se realizan correctamente se podría pensar que la última está de más, pero sería como pensar que porque el proyecto va bien no existen riesgos.


El modelo CMMI establece en el área de proceso de REQM las prácticas necesarias para la gestión de los requisitos. Su propósito es gestionar los requisitos de productos y componentes y asegurar que se mantienen alineados con los planes y productos de trabajo. La segunda parte de ese propósito es el foco principal de este artículo.

Control vs aseguramiento de calidad

Calidad
Aseguramiento y control de calidad tienen tiempos diferentes y muchas veces se confunden en el ciclo de vida de un proyecto. Cuando se asocian con las prácticas de CMMI en las áreas de proceso PPQA, VER y VAL la confusión puede ser mayor.

La intención de PPQA en CMMI es separar la función de aseguramiento de calidad relacionada con las pruebas y enfocarse en el proceso. De ninguna forma se relaciona con las prácticas de VAL y VER. Si acaso para comprobar que se cumple el proceso y que los productos del proceso están considerando de manera correcta lo que se tiene establecido.

Estrategias de recuperación del servicio

La lealtad del cliente es un activo importante en el servicio. El cliente satisfecho valorará el servicio y regresará. Un cliente insatisfecho no solo tendrá una mala imagen sino que le contará a otros 10 o 20 clientes potenciales sobre el mal servicio. Sin embargo el cliente insatisfecho que siente que es escuchado y su problema ha sido solucionado comentará su experiencia y resultados con cinco personas en promedio.

Una falla en el servicio puede convertirse en una oportunidad para fortalecerlo y recuperar la confianza del cliente. Empleados bien entrenados y contentos con su trabajo, aunado a una adecuada estrategia para atender la falla, pueden transformar la percepción del cliente y revalorar la calidad del servicio.

Planificación y estrategia de pruebas

Krishnavedala
La planificación y ejecución de las pruebas puede considerar la ejecución de pruebas con base en casos de pruebas y en otras circunstancias con base en la intuición. En general se utiliza una mezcla de ambos enfoques en dependencia de las necesidades, conocimiento del producto y experiencia para la ejecución de las pruebas.


En el modelo CMMI la SG1 tanto en VER como en VAL considera la definición de la estrategia para las actividades de verificación y validación.



Clasificación general de las pruebas

DevEd
Las pruebas de software es una actividad fundamental en el ciclo de desarrollo. En el modelo CMMI esta actividad se relaciona con las prácticas en las áreas de proceso de VER y VAL. El entendimiento y uso correcto de éstas técnicas tiene un fuerte impacto en el producto y en la calidad que se entrega al cliente, lo que se traduce en beneficios directos para la Organización.

10 principios fundamentales para la calidad

Los proyectos de desarrollo de software presentan fallas y problemas en relación con los planes y requisitos iniciales. La industria de software tiene pocas estadísticas o resultados cuantitativos con relación a los atributos de calidad, tales como: seguridad, portabilidad, adaptabilidad, mantenibilidad, robustez, usabilidad, confiabilidad y eficiencia. Para poder mejorar la calidad del software se requiere medir, cuantificar y ajustar el proceso, no sólo contar defectos o fallas.

Inconsistencias con requisitos

Richard Croft
Uno de los cambios que se realizaron con la nueva versión de CMMI tiene que ver con la SP1.5 de REQM. En esta práctica se identifican inconsistencias entre los requisitos establecidos y los planes y productos de trabajo que reflejan esos requisitos.


El cambio básicamente modifica la frase "identificar las inconsistencias" por "asegurar que los planes y productos de trabajo permanecen alineados con los requisitos". Con esta variación se le da más sentido a la práctica, que es una de las más cuestionadas particularmente cuando no se presentan problemas.


Cambios a requisitos y control de cambios

El modelo CMMI establece prácticas para control de cambios en dos áreas de proceso: REQM y CM. En la primera la SP 1.3 gestiona los cambios a requisitos durante el proyecto, mientras que en la segunda la SG2 contiene prácticas para registrar y controlar los cambios a los componentes bajo gestión de la configuración.


Estas prácticas son complementarias y para efectos del modelo se separan para analizarlas con propósitos diferentes. La organización puede determinar un mecanismo de control que le permita cumplir con ambas perspectivas.

JIRA: Una herramienta para gestión de issues

JIRA, desarrollado por Atlassian, es una herramienta de software para la gestión de issues y seguimiento de proyectos. La interfaz sencilla y el manejo de los indicadores a través de sus múltiples vistas en un tablero de control, le proporciona herramientas a líderes, gerentes y personal del proyecto para mantenerse al día de lo que sucede en el proyecto.

Para CMMI es un excelente apoyo para cubrir diversas prácticas en diferentes áreas de proceso. En un artículo anterior, de modelado con BPMN, revisaba el flujo general de un proceso similar y las diferentes prácticas que cubría al utilizarlo adecuadamente. Con el apoyo de una herramienta, como JIRA, se simplifica el control y seguimiento de estas actividades.

CMMI y TMMi

CMMI  es un modelo de procesos, desarrollado por el SEI, reconocido en la industria como referente para la mejora de procesos. TMMi (Test Maturity Model Integration) es un modelo para la mejora de procesos de pruebas desarrollado por TMMi Foundation, que se considera como complemento para CMMI. 


Ambos modelos son independientes y tienen mecanismos de evaluación diferentes, pero la implementación de CMMI se puede enriquecer con las prácticas de TMMi ya que es un modelo mucho más amplio para cubrir las actividades relacionadas con la calidad del producto. TMMi hace referencia a áreas de proceso de CMMI que complementan las áreas de proceso internas descritas.

Modelado de procesos con BPMN

BPMN (Business Process Modeling Notation) permite definir procesos con una notación sencilla y entendible por el usuario. Los objetos gráficos, que considera la notación, permiten establecer el flujo del proceso y complementarlo con la descripción de las actividades y características de los diferentes elementos.

En CMMI un subproceso muy recurrente tiene que ver con la identificación y seguimiento de acciones. PMC en SG2 establece las prácticas que se requieren para implementar la gestión de acciones correctivas hasta su cierre. Revisemos como se pueden establecer estas prácticas en un flujo con BPMN.

Análisis de causas

El análisis de causas de problemas es una herramienta utilizada en la mejora de procesos. En el modelo CMMI se considera como una práctica altamente efectiva para identificar e implantar iniciativas de mejora en los procesos. Se puede encontrar a diferentes niveles desde subprácticas en IPM, prácticas en QPM y área de proceso en CAR, lo que implica que la práctica va madurando en la medida que se tiene mayor conocimiento del proceso.

Como parte de las actividades de gestión de proyectos se identifican problemas sobre los cuales se requiere buscar una solución. Una herramienta efectiva que ayuda a identificar las causas de los problemas es el diagrama causa-efecto. Las acciones resultantes pueden aplicarse en el proyecto con el fin de eliminar los problemas o evitar que se puedan presentar nuevamente en el futuro. 

Otras doce uvas en la mejora de procesos

Al final de cada año se evalúan los resultados alcanzados, los logros personales, los sueños realizados. Es una época para replantearse metas y objetivos y buscar nuevos propósitos en el nuevo año. 
El año pasado elaboré este artículo y creo que aún es vigente como metas en el caso de la mejora de procesos, con algunas prioridades y adecuaciones que considero apropiadas y tomando en cuenta los hábitos que debemos integrar en la organización.
  1. Lograr el crecimiento del negocio. El objetivo final de un negocio es crecer y obtener ingresos, independiente de los medios para lograr esto si no se alcanza este resultado no puede ser exitoso. El objetivo final de un proyecto de mejora es lograr el crecimiento del negocio, el cumplimiento de un modelo de referencia es un medio y no el fin.
  2. Mejorar la satisfacción del cliente. Un negocio exitoso requiere de clientes satisfechos. Un cambio en la dinámica del negocio que no resulte en un incremento de la satisfacción del cliente, no va a dar los resultados que se esperan. No pierda de vista lo que es importante para el cliente y lleva al negocio a alcanzar ese objetivo de la manera más eficiente posible, la nueva versión de CMMI hace mayor énfasis en esto.
  3. Mejor definición de requerimientos. Los problemas y fallas en los productos por una mala definición de requerimientos representan alrededor del 60% de los defectos presentes en el producto, representan entre 10 y 200 veces más de costo corregirlo en producción y entre un 40% y 80% de re-trabajo. Definir adecuadamente las necesidades y expectativas y validarlo con los clientes o usuarios finales puede ayudar a disminuir esa incidencia.
  4. Gestionar la configuración de los componentes del producto. Los problemas asociados con la calidad y re-trabajo asociados con la integración y liberación de productos que no consideran los componentes adecuados o las versiones correctas, provocan desmotivación y pérdida de recursos. Una adecuada identificación y control de versiones de los componentes pueden cambiar los resultados.
  5. Eliminar de forma temprana los defectos en el producto. El costo y esfuerzo asociado a la detección y corrección de un defecto se incrementa de manera exponencial mientras más lejos esté del momento en que es introducido o generado. Una detección temprana de los defectos puede disminuir hasta en 100 veces ese costo y re-trabajo, además de incrementar la calidad del producto y la satisfacción del cliente.
  6. Mejorar la precisión en la estimación. La mala estimación de los proyectos conllevan re-trabajos, pérdidas económicas y clientes insatisfechos. Atender esta situación puede marcar la diferencia en los proyectos y lograr algo que los clientes esperan, más que entregar rápido desean saber cuándo se le va a entregar y tener certeza de ello.
  7. Gestionar los compromisos del proyecto. Una buena estimación es un elemento deseado en el proyecto, pero si no es controlada y monitoreada la ejecución, no podemos garantizar que se cumplan los resultados que se esperan o que se tomen acciones correctivas de manera oportuna. La gestión de compromisos también considera el control sobre todos los acuerdos y acciones que han sido tomadas durante el proyecto, incluso el cumplimiento de los procesos definidos que resulta en un compromiso más.
  8. Establecer indicadores efectivos. La recolección de métricas es costoso para un proyecto y cuando estas no son utilizadas o no reflejan el comportamiento como base para la toma de decisiones, entonces es dinero perdido. Es importante establecer indicadores efectivos que permitan mejorar la toma de decisiones y optimizar los recursos destinados a la recolección de información.
  9. Establecer mecanismos efectivos de comunicación. Cuando todo está dicho, aún falta mucho por decir. La comunicación es un sistema dinámico y lo que en un momento fue efectivo, en otro deja de serlo. Es importante mantener una comunicación abierta, incluyente, influyente y efectiva para el proceso de mejora con todos los interesados.
  10. Aprender de la experiencia y hacer uso de ella. La inversión que se hace para recolectar y poner a disposición el conocimiento en la organización no ve resultados mientras no se utilice adecuadamente. La base del proyecto de mejora es el aprendizaje colectivo en la organización y el compartir esas experiencias. Si este ciclo no es completo, mediante el uso de ese conocimiento, es tiempo perdido. .
  11. Establecer la mejora continua como una forma de vida en la organización. El ciclo de mejora no es suficiente con la definición de procesos porque requiere aplicarse e instituirse en los proyectos de la organización. Pero tampoco termina con la evaluación de que los procesos están siendo utilizados porque los resultados nos dirán que ya existen mejoras a considerar, es por ello que es un ciclo continuo. Una vez que inicia la mejora, no termina.
  12. Mejorar la satisfacción personal. El motor de la organización es su personal, y su valor se da como resultado de la combinación de: trabajo, actitud y motivación. El equilibrio entre los tres es importante, pero muchas veces el último es el que menos en cuenta se toma. Enfocarse en el beneficio del cambio hacia las personas puede lograr la motivación adicional y acelerar la transformación. Muchas veces el apoyo en la formación, bien orientada, constituye un motivador para las personas que les ayuda a crecer.
Los deseos no quedan a la buena suerte, fortuna y buenas intenciones. Hay que trabajar y enfocarse en los resultados que se esperan. Al final queda la satisfacción y el reconocimiento por los frutos alcanzados.
Safe Creative #1012288147673

Siete hábitos de las empresas altamente efectivas

De acuerdo con las premisas descritas por Stephen R. Covey en su libro “Los siete hábitos de las personas altamente efectivas” podemos hacer un símil hacia el modelo CMMI para lograr comportamientos que hacen efectivas a las organizaciones. 


Los hábitos que enuncia Covey son: 
  • Proactividad 
  • Comenzar con un fin en mente 
  • Primero lo primero 
  • Pensar en el beneficio mutuo (ganar/ganar) 
  • Respeto por los demás, comprender primero para ser comprendido 
  • Sinergizar, sintetizar ideas diversas de un grupo por encimas de las individuales 
  • Afilar la sierra, en el sentido de la mejora continua 
Estos comportamientos tienen un fin ético y ayudan a las personas a lograr una mayor efectividad en sus vidas. El modelo CMMI integra un conjunto de prácticas que ayudan a las empresas a ser efectivas y alcanzar sus objetivos. Existen comportamientos y dinámicas que identifican a estas organizaciones en la ejecución de sus procesos y que podríamos agrupar como hábitos efectivos. 
  • Proactividad. La evolución del proceso permite llevar a la organización de un proceso pobremente controlado y reactivo a un proceso de mejora continua y proactivo. Para ello es fundamental la actitud en la ejecución de las actividades para la identificación de necesidades, problemas, riesgos y defectos que se pueden presentar en los diferentes ámbitos de un proyecto. La detección temprana y oportuna de éstos permite reducir costos, incrementar la calidad y mejorar la productividad. 
  • Orientación al negocio. Las prácticas que se utilizan en la organización deben estar orientadas a las necesidades del negocio, y en consecuencia a mejorar la satisfacción del cliente. No sirve de nada implementar acciones que no tengan este propósito como fin puesto que al final confundir los medios con el fin lleva al fracaso y decepción en la organización. 
  • Seguimiento a compromisos. En todos los contextos de la organización, el cumplimiento de compromisos es esencial para lograr el éxito. Implica un adecuado establecimiento de los mismos y el seguimiento a su cumplimiento para tomar acciones o medidas efectivas en caso de que se identifiquen desviaciones que impidan el logro de éstos. En este caso las medidas que se toman se convierten a su vez en nuevos compromisos. 
  • Medición de resultados. La medición de los resultados es crítico para tomar acciones o decisiones efectivas. No podemos controlar lo que no se mide y la objetividad en esas mediciones es elemental para lograr un buen resultado y comportamiento correcto. 
  • Comunicación efectiva. La comunicación adecuada y efectiva hacia todos los interesados es vital en la organización. La salud de una organización se puede medir por el nivel de comunicación que existe, tanto por los medios como por los participantes en el proceso. Cuando no es efectiva se provocan problemas y situaciones que producen comportamientos inesperados y fuera de control. 
  • Aprendizaje de la experiencia. La organización aprende de sus experiencias y cuando ese conocimiento no es adecuadamente controlado y recolectado, se pierde un “activo” imprescindible para la vitalidad de la misma. Los mecanismos de gestión del conocimiento son primordiales para el crecimiento del negocio. 
  • Mejora continua. Las prácticas establecidas en una organización cambian en la medida que cambian los objetivos, las necesidades y el entorno de la misma. Requiere mecanismos efectivos para gestionar el ciclo de mejora continua y garantizar la evolución hacia niveles más efectivos de operación. La evaluación e identificación de oportunidades de mejora y la implementación y difusión de las acciones definidas son críticas en los resultados para la organización.
Estos comportamientos se logran con un uso apropiado de las prácticas descritas en las diferentes áreas de proceso, aplicadas adecuadamente para lograr un uso, no solo efectivo sino, eficaz para la organización.
Safe Creative #1012228117780

Calidad, niveles de madurez y niveles de capacidad

Recibí una pregunta a través de un comentario en un artículo y trataré de darle respuesta por aquí. Básicamente la duda tiene que ver con la calidad y los niveles de madurez y capacidad. La pregunta es: "Una empresa que obtenga un determinado nivel de madurez puede asegurar al cliente que su software es de mejor calidad (porque sus procesos son de mejor calidad) que la que obtuvo un nivel más bajo. Por ejemplo la que obtuvo 3 es mejor, en cuanto a calidad de sus productos, que una que obtuvo el 2. ¿Lo mismo pasa con los niveles de capacidad?".

Hay que establecer en principio qué es la calidad. En general se entiende o asume la calidad como el conjunto de propiedades o características que satisfacen las necesidades, implícitas o explícitas, que se esperan de un producto servicio desde el punto de vista del cliente. Considerando esto, la calidad puede variar desde el punto de vista del cliente para el mismo producto o servicio pero podemos tener elementos para minimizar esa variación a través de los procesos.

Resumen de Verificación en CMMI DEV v1.3

El área de proceso de Verification (VER) corresponde al nivel 3 en la representación por etapas y está ubicada dentro de la categoría de proceso de Ingeniería para la representación continua. Tiene como propósito asegurar que los productos de trabajo seleccionados cumplen sus requerimientos especificados.

ROI en Inspecciones

David F. Rico en un artículo publicado en Noviembre del 2002 en la revista Software Tech News “How to Estimate ROI for Inspections, PSP, TSP, SW CMM, ISO 9000 and CMMI” ofrece, entre otros, un ejemplo muy concreto para obtener el retorno de inversión (ROI) en la aplicación de las inspecciones


En términos generales el ROI es el cálculo de los beneficios en términos económicos que se esperan obtener como resultado de la inversión de recursos y activos en una organización. Se utilizan dos ecuaciones que obtienen la tasa de Beneficios vs. Costos (B/C R), dividiendo los beneficios entre los costos y el %ROI que es la tasa de sustraer los Costos a los Beneficios antes de dividirlo entre los Costos. 


Costo de capacitación e implementación 
Se considera para el ejemplo un costo de capacitación de $410.00 por persona durante tres días y suponiendo un costo por persona de $100.00 por hora implicarías $2.400.00 adicional al costo del curso, sería $2,810.00 por persona. Considerando que sean cuatro personas las que toman el curso el total de capacitación serían $11,240.00. 


Se considera que los recursos capacitados participan en un proyecto de 10,000 SLOC y que consideran en cada revisión 240 SLOC para 41,67 reuniones. Se suponen 17 horas por revisión, considerando la planificación, preparación, ejecución y seguimiento, se requieren 708.33 horas. Considerando el costo por persona de $100,000.00, el costo de revisión es de $70,833.00. 


El costo total, considerando el costo de capacitación y de implementación es de $82,073.00.  


Beneficios obtenidos 
Para el proyecto de 10,000 SLOC se estima, después de las inspecciones, un esfuerzo para mantenimiento de 11,806 horas. Mientras que para un proyecto similar sin inspecciones el esfuerzo se estima en 41,800 horas, lo que implica un ahorro de 29,994 horas para el caso de las inspecciones. Traducidas a los $100.00 por hora se convierten en ahorros por $2,999,400.00.  


Considerando la ecuación de B/C R ($2,999,400.00 / $82,073.00) se obtiene una tasa aproximada de 37:1 mientras que el %ROI ($2,999,400.00 - $82,073.00 / $82,073.00) *100 se obtiene 3,555%. 


El ejemplo puede ser muy claro para demostrar los beneficios que se obtiene. Se pueden hacer los cálculos con números de cada organización o jugar con otros valores, hay otros ejemplos que utilizan el ahorro que se obtiene por la corrección temprana de defectos. Estas son bases para obtener los números y poder demostrar la ventaja de aplicar estas técnicas de inmediato en la organización.

Realidades de los Peer reviews

Las inspecciones y revisiones están consideradas como una de las mejores prácticas en la industria para identificar de manera efectiva y eficiente defectos en los productos. Adicionalmente, permiten compartir el conocimiento dentro del equipo, mostrar supuestos, compartir expectativas y establecer un entendimiento común sobre los productos de trabajo. Todo lo cual se traduce en reducción de los costos de mantenimiento y mejora e incremento de la calidad del producto. La inversión que se haga en este sentido, cuando se hace adecuadamente, mostrará los resultados de manera inmediata. 

Elementos a considerar en los Peer reviews

Peer reviews o revisiones entre colegas es una técnica de revisión estructurada, que puede utilizar diferentes enfoques, donde participan los “colegas” del autor de los productos de trabajo para identificar defectos y cambios que se requieren. 
Son una parte fundamental de las verificaciones, una meta específica en el área de proceso VER “obliga” a ejecutar peer reviews además de otras técnicas que se puedan considerar, por constituir un mecanismo efectivo en la eliminación de defectos. Permite desarrollar un mayor entendimiento del proceso y de los productos de trabajo que puede ayudar a prevenir los defectos e identificar mejoras al proceso.

CMMI v2, cinco puntos para entender la nueva versión del modelo

El mes de marzo del 2018 fue el lanzamiento de la versión 2.0 del modelo CMMI (Capability Maturity Model for Integration) por el CMMI Ins...