Método de evaluación del
estándar CMMI para el proceso de mejora (SCAMPI)
Las mejores prácticas
CMMI se publican en los documentos llamados modelos. En la actualidad hay tres
áreas de interés cubiertas por los modelos de CMMI: Desarrollo, Adquisición y Servicios.
La versión actual de
CMMI es la versión 1.3 la cual corresponde a CMMI-SVC, liberada el 1 de
noviembre de 2010. Hay tres constelaciones de la versión 1.2 disponible:
·
CMMI para el Desarrollo (CMMI-DEV o CMMI for
Development), Versión 1.2 fue liberado en agosto de 2006. En él se tratan
procesos de desarrollo de productos y servicios.
·
CMMI para la adquisición (CMMI-ACQ o CMMI for
Acquisition), Versión 1.2 fue liberado en noviembre de 2007. En él se tratan la
gestión de la cadena de suministro, adquisición y contratación externa en los
procesos del gobierno y la industria.
·
CMMI (CMMI-SVC o CMMI for Servicies), está diseñado
para cubrir todas las actividades que requieren gestionar, establecer y
entregar Servicios.
Dentro de la
constelación CMMI-DEV, existen dos modelos:
·
CMMI-DEV
·
CMMI-DEV + IPPD (Integrated Product and Process Development)
Independientemente de
la constelación\modelo que opta una organización, las prácticas CMMI deben
adaptarse a cada organización en función de sus objetivos de negocio.
Las organizaciones no
pueden ser certificadas CMMI. Por el contrario, una organización es evaluada
(por ejemplo, usando un método de evaluación como SCAMPI y recibe una
calificación de nivel 1-5 si sigue los niveles de Madurez (si bien se comienza
con el nivel 2). En caso de que quiera la organización, puede coger áreas de
proceso y en vez de por niveles de madurez puede obtener los niveles de
capacidad en cada una de las Áreas de Proceso, obteniendo el "Perfil de
Capacidad" de la Organización.
Muchas organizaciones
valoran el medir su progreso llevando a cabo una evaluación (appraisal) y
ganando una clasificación del nivel de madurez o de un nivel de capacidad de
logro. Este tipo de evaluaciones son realizadas normalmente por una o más de
las siguientes razones:
·
Para determinar que tan bien los procesos de la
organización se comparan con las mejores prácticas CMMI y determinar qué
mejoras se pueden hacer.
Las valoraciones de
las organizaciones utilizando un modelo CMMI deben ajustarse a los requisitos definidos
en el documento "Appraisal Requirements for CMMI" (ARC). La
evaluación se enfoca en identificar oportunidades de mejora, y comparar los
procesos de la organización con las mejores prácticas CMMI. Los equipos de
evaluación usan el modelo CMMI y un método conforme a ARC para guiar su
evaluación y reporte de conclusiones. Los resultados de la evaluación son
usados para planear mejoras en la organización. Hay tres clases de evaluación:
Clase A,B,C. El Standard CMMI Appraisal Method for Process Improvement (SCAMPI)
es un Método de evaluación que cumple todos los requerimientos ARC. Una
evaluación de clase A es más formal y es la única que puede resultar en una
clasificación de nivel.
El Standard CMMI
Appraisal Method for Process Improvement (SCAMPI) es el método oficial SEI para
proveer puntos de referencia de sistemas de calificación en relación con los
modelos CMMI. SCAMPI se usa para identificar fortalezas y debilidades de los
procesos, revelar riesgos de desarrollo/adquisición, y determinar niveles de
capacidad y madurez. Se utilizan ya sea como parte de un proceso o programa de
mejoramiento, o para la calificación de posibles proveedores. El método define
el proceso de evaluación constando de preparación; las actividades sobre el
terreno; observaciones preliminares, conclusiones y valoraciones; presentación
de informes y actividades de seguimiento.
Evaluación basada en CMM para la mejora
del proceso interno (CBA IPI).
La evaluación y mejora de procesos
software se ha demostrado como un método fiable para mejorar la calidad del software, a través de
la mejora del proceso que se sigue para desarrollarlo. Debido a
ello han ido apareciendo diversos modelos y normas que nos ayudan a la mejora
de la calidad de nuestros procesos software (CMMI,ISO 15504, etc.).
Gracias a la
implantación de un modelo de evaluación y mejora de procesos, las empresas
consiguen una importante ventaja
competitiva, estableciendo además una cultura organizativa y aumentando su productividad, lo que repercute en una mayor satisfacción del cliente.
En Kybele Consulting
hemos trabajado en más de 50
proyectos de evaluación y mejora de procesos software, habiendo
realizado el diagnóstico, evaluación y mejora de procesos software y de
servicios TI: CMMI, ISO 15504, TMMI, ISO 2000, ISO 9126, ISO 25000, ISO 13485,
etc.
Las tareas más
comunes a la hora de implementar procesos en una empresa son las siguientes:
·
Evaluación inicial y
planificación de siguientes pasos
·
Apoyo en la definición de los procesos de desarrollo
·
Implantación de
los procesos (tradicionales/ágiles) en la organización
·
Evaluaciones intermedias y
pilotaje para asegurar la correcta implantación.
SPICE
(ISO/IEC 15504)
Este
servicio permite instaurar una política de trabajo común en el departamento de
desarrollo software de su empresa.
La
norma ISO/IEC 15504 define un modelo de evaluación de procesos. Se trata de una
estándar internacional que permite evaluar la capacidad y madurez de los
procesos software de una organización.
Los
procesos de desarrollo software evaluados con la ISO 15504 se encuentran
recogidos en la norma ISO/IEC 12207. Esta norma contiene un conjunto de
procesos que abarcan el ciclo completo de un proyecto software, desde la
definición de un proyecto hasta la entrega y cierre del mismo.
La
certificación se basa en 6 niveles de madurez. Cada nivel obliga a cumplir una
serie de requisitos sobre un grupo de procesos determinado. Por ejemplo, el
nivel 2 de madurez contempla 10 procesos y el nivel 3 contempla 21 procesos de
ISO 12207.
Entre
los principales beneficios de
una implantación de SPICE, podemos destacar los siguientes:
·
Reconocimiento en el mercado, siendo un factor diferenciador
ante su competencia.
·
Aumenta la satisfacción de sus clientes.
·
Mejora interna de su empresa:
o
Implantación de una metodología común a todas las
áreas.
o
Control de todas las fases y áreas de gestión de un
proyecto software.
o
Detectar y corregir posibles fallos en cada etapa de
un proyecto.
o
Aumento de los beneficios del proyecto.
En
resumen, la implantación de SPICE en su empresa le permitirá abordar cualquier
tipo de proyecto software siguiendo unas directrices comunes en todos ellos.
Forma
de trabajo:
El
objetivo principal de Audisec para sus proyectos de implantación es aportar valor. Por ello, la filosofía
de nuestros proyectos es la siguiente:
·
Enfoque práctico y didáctico de
los proyectos. Los procesos deben ser asimilados y comprendidos.
·
No a la "consultoría
intrusiva": primero se analizan las necesidades de la
organización y después se decide cuál es la solución que mejor puede encajar.
·
Los procedimientos fáciles de usar se utilizan y aprovechan.
·
Cumplimiento con la norma.
Las
fases de las que consta el proyecto de SPICE son:
·
Evaluación inicial.
·
Desarrollo de procesos
·
Aplicación de los procesos en proyectos software de su
empresa.
·
Evaluación final.
·
Certificación.
Recuerde también que podemos
alinear SPICE con las Normas ISO 27001, ISO 2000, ISO 22301, ISO 9001, ISO
14001, etc.
ISO9001: 2000 para software
En primer lugar hay que tener en claro que no hay una empresa de software
genérica, pues dentro del software, hay productos que tienen grandes
diferencias funcionales y criticidad. Lo que puedo opinar es sobre Concepto que es una
empresa que tiene algunos desarrollos mas o menos productizados y son usados
por algunas empresas de américa latina. Estamos certificados desde el
2003.
Que es ISO 9001:2000?.
Son un conjunto de normas, que rigen la forma en que las
organizaciones que las cumplan, deben crear su sistema de gestión de calidad.
En ellas se establecen que controles son obligatorios para los procesos
de la empresa, que hay que hacer determinadas mediciones, chequeos con los
clientes, etc.
Originalmente se aplicaban a empresas industriales, por lo que adaptarlas a
empresas de servicios o desarrollo de software era bastante traumático, cosa
que mejoró muchísimo con la versión del año 2000.
Para cumplir con las normas ISO 9001:2000 debe decir lo que hace (escribiendo
un manual de calidad) y hacer lo que dice (pues se auditan los
procesos, donde se chequean que se este cumpliendo con lo que está determinado
en el manual de calidad).
Teniendo una certificación ISO 9001:2000 se producen productos de buena
calidad?
El cumplimiento de la norma, no garantiza la calidad de los productos. Uno
puede establecer un procedimiento y un manual de calidad, en donde se diga que
lo que se va a fabricar es una porquería y si se cumple con los requisitos
básicos, puede tener una porquería certificada. Por ejemplo, puedo decir en mi
manual, que voy a instalar en mis clientes todos los programas que genere sin
realizar absolutamente ningun testeo funcional. Si cumplo que lo que digo en mi
manual de calidad, puedo certificar mi empresa, aunque el producto no tenga
buena calidad.
Entonces para qué sirve?
Por lo pronto, la norma exige fijarse objetivos a nivel de la empresa. Creo
que todas las empresas deben tener en forma más o menos formal, que es lo que
quieren que la empresa sea, y por lo tanto fijarse alguna meta en lo que tienen
que realizar en el año.
La norma exige también tener procesos y dichos procesos tienen puntos de
control e indicadores. Por ejemplo se pueden tener:
·
Proceso de atención al cliente
·
Proceso de desarrollo de software
·
Proceso de testeo de software
·
Proceso de deployment
·
Capacitación de usuarios
·
Capacitación de los integrantes de la empresa
Para cada uno de estos procesos, hay que definir un procedimiento a seguir
e indicadores de cómo se están realizando estos procedimientos.
También hay algunos mecanismos para el manejo de documentación, de forma de
mantenerla actualizada y la obligación de que la dirección de la empresa tenga
participación activa en los objetivos y calidad de la empresa.
Otras de las cosas que la norma obliga, es a tener auditorías internas y
una vez al año externas. Es algo muy bueno pues ayuda a tener controlados los procesos.
Que es lo que hay qué evitar?
Al haber trabajado para varias empresas que están certificadas en calidad y
al haber participado en la certificación de Concepto, he visto que algunas
veces se termina "trabajando para la norma", o sea, adaptando algún
procedimiento a lo que dice la norma, sin pensar si se esta agregando valor al
proceso en general.
El procedimiento debe pensarse para brindar lo máximo a la empresa y
luego hacerle los ajustes necesarios para cumplir la norma y no al revés.
Siempre se encuentran formas originales de cumplir las normas aportando al
proceso.
Cosas a tener en cuenta.
En una empresa de software, casi siempre existe una tensión grande, entre
la innovación que hay que tener para mantenerse al día con la tecnología y para
entregar nuevas funcionalidades a los clientes y la entrega de productos sin
defectos a los clientes (que se hace más facil, cuando hay pocos
cambios).
Esta tensión inevitable, y muchas veces se tiene una seccion de la
empresa dedicada a la investigacion y otra al proceso de desarrollo, documentación
e instalacion.
El cumplimiento de normas es mucho mas aprovechable, cuando hay procesos
bien conocidos y repetibles, y los mismos pueden medirse y optimizarse.
Es difícil establecer procesos repetibles para la innovación, pues si
se tuvieran, no se estaría haciendo algo realmente nuevo. Por eso es
bueno, que este proceso dentro del manual de calidad, tenga gran libertad de
acción (o sea poco detalle de cómo se realiza) y recién introducir estas
mejoras al proceso más controlado, cuando ya se haya comprobado su
eficacia.
Por lo tanto, la certificación bajo la norma ISO 9001:2000 es muy buena
para lo que es captura de requerimientos, análisis, programación, atención al
cliente, documentación e instalación, pues es algo que la empresa debe hacer en
forma controlada y repetible.
Debe usarse con cuidado para el estudio de nuevas tecnologías, betatesting
o cualquier proceso que no esté maduro en la organización.
Conclusión.
Para nosotros, la aplicación de la norma nos ha dado buenos resultado. Nos
permitió ordenar varias de nuestro proceso y además nos dio un marco
consistente para la mejora en el tiempo.
Después del segundo año, las auditorías no causan ningún stress en la
organización y creo que esto es muy bueno.
PD: El post quedó muy largo. Si tengo ganas después escribo sobre algunas
diferencias entre CMM (de donde usamos algunas cosas) y ISO 9001.
PD2: Uno de los problemas más grandes que encontramos es en la
nomenclatura que utiliza la norma que no es la misma que usamos en el día a
día. Por ejemplo, los términos de validación, verificación a veces se chocan y
mezclan con los de testeo, pruebas y chequeo con el cliente.
Verificación
confirmación mediante la aportación de evidencia objetiva de que se han cumplido los requisitos de diseño especificados
Validación
confirmación mediante la aportación de evidencia objetiva de que se han cumplido los requisitos para una utilización o aplicación específica prevista.
confirmación mediante la aportación de evidencia objetiva de que se han cumplido los requisitos de diseño especificados
Validación
confirmación mediante la aportación de evidencia objetiva de que se han cumplido los requisitos para una utilización o aplicación específica prevista.




No hay comentarios:
Publicar un comentario