stringtranslate.com

Modelo de madurez de capacidades

El Modelo de Madurez de Capacidades ( CMM ) es un modelo de desarrollo creado en 1986 tras un estudio de datos recopilados de organizaciones que tenían contratos con el Departamento de Defensa de los EE. UU. , que financió la investigación. El término "madurez" se relaciona con el grado de formalidad y optimización de los procesos, desde prácticas ad hoc , hasta pasos definidos formalmente, métricas de resultados gestionados y optimización activa de los procesos.

El objetivo del modelo es mejorar los procesos de desarrollo de software existentes , pero también se puede aplicar a otros procesos.

En 2006, el Instituto de Ingeniería de Software de la Universidad Carnegie Mellon desarrolló el Modelo de Integración de Madurez de Capacidad , que ha reemplazado en gran medida al CMM y aborda algunos de sus inconvenientes. [1]

Descripción general

El modelo de madurez de capacidades se desarrolló originalmente como una herramienta para evaluar objetivamente la capacidad de los procesos de los contratistas gubernamentales para implementar un proyecto de software contratado. El modelo se basa en el marco de madurez de procesos descrito por primera vez en IEEE Software [2] y, más tarde, en el libro Managing the Software Process de Watts Humphrey de 1989. Posteriormente se publicó como artículo en 1993 [3] y como libro de los mismos autores en 1994. [4]



Aunque el modelo proviene del campo del desarrollo de software , también se utiliza como modelo para ayudar en los procesos de negocios en general, y también se ha utilizado ampliamente en todo el mundo en oficinas gubernamentales, comercio e industria. [5] [6]

Historia

Necesidad previa de procesos de software

En la década de 1980, el uso de computadoras se generalizó, se hizo más flexible y menos costoso. Las organizaciones comenzaron a adoptar sistemas de información computarizados y la demanda de desarrollo de software aumentó significativamente. Muchos procesos de desarrollo de software estaban en sus inicios y se habían definido pocos enfoques estándar o de " mejores prácticas ".

Como resultado, el crecimiento estuvo acompañado de dificultades: el fracaso de los proyectos era común, el campo de la informática todavía estaba en sus primeros años y las ambiciones de escala y complejidad de los proyectos excedían la capacidad del mercado para entregar productos adecuados dentro de un presupuesto planificado. Personas como Edward Yourdon , [7] Larry Constantine , Gerald Weinberg , [8] Tom DeMarco , [9] y David Parnas comenzaron a publicar artículos y libros con resultados de investigación en un intento de profesionalizar los procesos de desarrollo de software. [5] [10]

En la década de 1980, varios proyectos militares estadounidenses en los que participaban subcontratistas de software superaron el presupuesto previsto y se completaron mucho más tarde de lo previsto, si es que se completaron. En un esfuerzo por determinar por qué ocurría esto, la Fuerza Aérea de los Estados Unidos financió un estudio en el Instituto de Ingeniería de Software (SEI).

Precursor

La primera aplicación de un modelo de madurez por etapas a TI no fue realizada por CMU/SEI, sino por Richard L. Nolan , quien en 1973 publicó el modelo de etapas de crecimiento para organizaciones de TI. [11]

Watts Humphrey comenzó a desarrollar sus conceptos de madurez de procesos durante las últimas etapas de su carrera de 27 años en IBM. [12]

Desarrollo en el Instituto de Ingeniería de Software

El desarrollo activo del modelo por parte del Instituto de Ingeniería de Software (SEI) del Departamento de Defensa de los EE. UU. comenzó en 1986, cuando Humphrey se incorporó al Instituto de Ingeniería de Software ubicado en la Universidad Carnegie Mellon en Pittsburgh, Pensilvania, después de jubilarse de IBM. A pedido de la Fuerza Aérea de los EE. UU., comenzó a formalizar su Marco de madurez de procesos para ayudar al Departamento de Defensa de los EE. UU. a evaluar la capacidad de los contratistas de software como parte de la adjudicación de contratos.

El resultado del estudio de la Fuerza Aérea fue un modelo para que el ejército lo use como una evaluación objetiva de la madurez de la capacidad de proceso de los subcontratistas de software. Humphrey basó este marco en la cuadrícula de madurez de gestión de calidad desarrollada anteriormente por Philip B. Crosby en su libro "La calidad es gratis". [13] El enfoque de Humphrey difería debido a su visión única de que las organizaciones maduran sus procesos en etapas basadas en la solución de problemas de proceso en un orden específico. Humphrey basó su enfoque en la evolución por etapas de un sistema de prácticas de desarrollo de software dentro de una organización, en lugar de medir la madurez de cada proceso de desarrollo separado de forma independiente. Por lo tanto, el CMM ha sido utilizado por diferentes organizaciones como una herramienta general y poderosa para comprender y luego mejorar el rendimiento general del proceso comercial.

El modelo de madurez de capacidad (CMM) de Watts Humphrey se publicó en 1988 [14] y como libro en 1989, en Managing the Software Process . [15]

Las organizaciones fueron evaluadas originalmente utilizando un cuestionario de madurez de procesos y un método de evaluación de capacidad de software ideado por Humphrey y sus colegas del Instituto de Ingeniería de Software.

La representación completa del Modelo de Madurez de Capacidades como un conjunto de áreas de procesos y prácticas definidas en cada uno de los cinco niveles de madurez se inició en 1991, y la Versión 1.1 se publicó en julio de 1993. [3] El CMM se publicó como libro [4] en 1994 por los mismos autores Mark C. Paulk, Charles V. Weber, Bill Curtis y Mary Beth Chrissis.

Integración del modelo de madurez de capacidad

La aplicación del modelo CMM en el desarrollo de software ha sido problemática en ocasiones. La aplicación de múltiples modelos que no están integrados dentro y a través de una organización puede resultar costosa en cuanto a capacitación, evaluaciones y actividades de mejora. El proyecto Capability Maturity Model Integration (CMMI) se formó para resolver el problema del uso de múltiples modelos para los procesos de desarrollo de software, por lo que el modelo CMMI ha reemplazado al modelo CMM, aunque el modelo CMM sigue siendo un modelo teórico general de capacidad de proceso utilizado en el dominio público. [16] [ cita requerida ] [17]

En 2016, la responsabilidad de CMMI se transfirió a la Asociación de Auditoría y Control de Sistemas de Información (ISACA). Posteriormente, ISACA lanzó CMMI v2.0 en 2021. Se actualizó nuevamente a CMMI v3.0 en 2023. CMMI ahora pone mayor énfasis en la arquitectura de procesos, que generalmente se realiza como un diagrama de procesos. Las copias de CMMI ahora solo están disponibles mediante suscripción.

Adaptado a otros procesos

El CMM fue concebido originalmente como una herramienta para evaluar la capacidad de los contratistas gubernamentales para llevar a cabo un proyecto de software contratado. Aunque proviene del área de desarrollo de software, puede aplicarse, se ha aplicado y sigue aplicándose ampliamente como modelo general de la madurez de los procesos (por ejemplo, los procesos de gestión de servicios de TI ) en organizaciones de SI/TI (y otras).

Temas modelo

Modelos de madurez

Un modelo de madurez puede verse como un conjunto de niveles estructurados que describen qué tan bien los comportamientos, prácticas y procesos de una organización pueden producir de manera confiable y sostenible los resultados requeridos.

Un modelo de madurez puede utilizarse como punto de referencia para la comparación y como ayuda para la comprensión; por ejemplo, para la evaluación comparativa de diferentes organizaciones en las que existe algo en común que puede utilizarse como base de comparación. En el caso del CMM, por ejemplo, la base de comparación serían los procesos de desarrollo de software de las organizaciones.

Estructura

El modelo involucra cinco aspectos:

Niveles

Hay cinco niveles definidos a lo largo del continuo del modelo y, según el SEI: "Se cree que la previsibilidad, la eficacia y el control de los procesos de software de una organización mejoran a medida que la organización avanza en estos cinco niveles. Si bien no es riguroso, la evidencia empírica hasta la fecha respalda esta creencia". [18]

  1. Inicial (caótico, ad hoc, heroísmo individual): el punto de partida para el uso de un proceso repetido nuevo o no documentado.
  2. Repetible : el proceso está al menos documentado lo suficiente como para que se pueda intentar repetir los mismos pasos.
  3. Definido : el proceso se define/confirma como un proceso empresarial estándar .
  4. Capaz : el proceso se gestiona cuantitativamente de acuerdo con métricas acordadas.
  5. Eficiente : la gestión de procesos incluye la optimización/mejora deliberada de los mismos.

Dentro de cada uno de estos niveles de madurez hay Áreas de Proceso Clave que caracterizan ese nivel, y para cada una de ellas hay cinco factores: objetivos, compromiso, capacidad, medición y verificación. Estos no son necesariamente exclusivos de CMM, ya que representan las etapas por las que deben pasar las organizaciones en su camino hacia la madurez.

El modelo proporciona un continuo teórico a lo largo del cual se puede desarrollar la madurez del proceso de manera incremental de un nivel al siguiente. No se permite/es factible saltarse niveles.

Nivel 1 - Inicial
Los procesos de este nivel se caracterizan por no estar documentados (normalmente) y estar en un estado de cambio dinámico, y tienden a ser impulsados ​​de manera ad hoc , no controlada y reactiva por los usuarios o los acontecimientos. Esto genera un entorno caótico o inestable para los procesos (por ejemplo, un cirujano que realiza una nueva operación una pequeña cantidad de veces; no se conocen los niveles de resultados negativos).
Nivel 2 - Repetible
Es característico de este nivel de madurez que algunos procesos sean repetibles, posiblemente con resultados consistentes. Es poco probable que la disciplina de procesos sea rigurosa, pero cuando existe puede ayudar a garantizar que los procesos existentes se mantengan en tiempos de estrés.
Nivel 3 - Definido
Una característica de los procesos de este nivel es que existen conjuntos de procesos estándar definidos y documentados, establecidos y sujetos a cierto grado de mejora con el tiempo. Estos procesos estándar están en funcionamiento. Es posible que los procesos no se hayan utilizado de forma sistemática o repetida (lo suficiente para que los usuarios adquieran competencia o para que el proceso se valide en una variedad de situaciones). Esto podría considerarse una etapa de desarrollo: con el uso en una gama más amplia de condiciones y el desarrollo de la competencia del usuario, el proceso puede avanzar hasta el siguiente nivel de madurez.
Nivel 4 - Gestionado (Capaz)
Una característica de los procesos de este nivel es que, mediante el uso de métricas de proceso, se puede demostrar el logro efectivo de los objetivos del proceso en una variedad de condiciones operativas. Se ha probado la idoneidad del proceso en múltiples entornos y se lo ha refinado y adaptado. Los usuarios del proceso han experimentado el proceso en múltiples y variadas condiciones y pueden demostrar competencia. La madurez del proceso permite realizar adaptaciones a proyectos particulares sin pérdidas mensurables de calidad ni desviaciones de las especificaciones. La capacidad del proceso se establece a partir de este nivel. (Ejemplo: un cirujano que realiza una operación cientos de veces con niveles de resultados negativos que se acercan a cero).
Nivel 5 - Optimización (Eficiencia)
Una característica de los procesos en este nivel es que el enfoque se centra en mejorar continuamente el desempeño del proceso a través de cambios/mejoras tecnológicas tanto incrementales como innovadoras. En el nivel de madurez 5, los procesos se ocupan de abordar las causas estadísticas comunes de variación del proceso y de cambiar el proceso (por ejemplo, para cambiar la media del desempeño del proceso) para mejorar el desempeño del proceso. Esto se haría al mismo tiempo que se mantiene la probabilidad de lograr los objetivos cuantitativos establecidos de mejora del proceso.

Entre 2008 y 2019, aproximadamente el 12% de las valoraciones realizadas correspondían a niveles de madurez 4 y 5. [19] [20]

Crítica

El modelo se diseñó originalmente para evaluar la capacidad de los contratistas gubernamentales para llevar a cabo un proyecto de software. Se ha utilizado para ese fin y puede resultar adecuado para ello, pero los críticos [¿ quiénes? ] señalaron que la madurez del proceso según el CMM no era necesariamente obligatoria para el éxito del desarrollo de software.

Marco de proceso de software

El marco de trabajo del proceso de software documentado tiene como objetivo orientar a quienes deseen evaluar la coherencia de una organización o un proyecto con las áreas clave de proceso. Para cada nivel de madurez existen cinco tipos de listas de verificación:

Véase también

Referencias

  1. ^ Nayab, N. (27 de abril de 2010). "La diferencia entre CMMI y CMM". Bright Hub PM . Consultado el 15 de febrero de 2020 .
  2. ^ Humphrey, WS (marzo de 1988). "Caracterización del proceso de software: un marco de madurez". IEEE Software . 5 (2): 73–79. doi :10.1109/52.2014. ISSN  0740-7459. S2CID  1008347.
  3. ^ ab Mark C. Paulk; Bill Curtis; Mary Beth Chrissis; Charles V. Weber (julio de 1993). "Capability mature model, version 1.1" (Modelo de madurez de capacidad, versión 1.1). IEEE Software . 10 (4). IEEE : 18–27. doi :10.1109/52.219617.
  4. ^ ab Mark C. Paulk; Charles V. Weber; Bill Curtis; Mary Beth Chrissis (1 de enero de 1994). El modelo de madurez de la capacidad: directrices para mejorar el proceso de software (1.ª ed.). Addison-Wesley Professional . ISBN 978-0-201-54664-4.
  5. ^ ab McKay, Vivienne. "¿Qué es el modelo de madurez de la capacidad (CMM)? | Madurez del proceso | Preguntas frecuentes". www.selectbs.com . Consultado el 20 de marzo de 2017 .
  6. ^ White, Sarah K. (16 de marzo de 2018). "¿Qué es CMMI? Un modelo para optimizar los procesos de desarrollo". CIO . Consultado el 4 de junio de 2020 .
  7. ^ Yourdon, E. (1989). 1989. Análisis estructurado moderno . Nueva York: Prentice Hall. ISBN 978-0135986240.
  8. ^ Weinberg, GM (1992). Gestión de software de calidad: Anticipación del cambio. Vol. 1: Pensamiento sistémico . Nueva York: Dorset House Pub. ISBN 978-0-932633-72-9.
  9. ^ DeMarco, T.; Lister, T. (1997). Bailando con osos: gestión de riesgos en proyectos de software . Nueva York: Dorset House Pub. ISBN 978-0-932633-60-6.
  10. ^ "CMMI-Six Sigma, sus raíces". Process Enhancement Partners, Inc. 23 de enero de 2011. Consultado el 11 de mayo de 2018 .
  11. ^ Nolan, RL (julio de 1973). "Gestión de los recursos informáticos: una hipótesis de etapas". Comm. ACM . 16 (7): 399–405. doi : 10.1145/362280.362284 . S2CID  14053595.
  12. ^ "People Capability Maturity Model (P-CMM) Version 2.0" (Modelo de madurez de la capacidad de las personas [P-CMM], versión 2.0). resources.sei.cmu.edu . 30 de junio de 2001. Consultado el 17 de enero de 2017 .
  13. ^ Crosby, PB (1979). La calidad es gratis . Nueva York: New American Library . ISBN 0-451-62247-2.
  14. ^ Humphrey, WS (marzo de 1988). "Caracterización del proceso de software: un marco de madurez" (PDF) . IEEE Software . 5 (2): 73–79. doi :10.1109/52.2014. S2CID  1008347.
  15. ^ Humphrey, WS (1989). Gestión del proceso de software . Serie SEI sobre ingeniería de software. Reading, Mass.: Addison-Wesley . ISBN 0-201-18095-2.
  16. ^ Juran (26 de agosto de 2010). Juran's Quality Hb 6E. McGraw-Hill Education (India) Pvt Limited. ISBN 9780071070898.
  17. ^ Natarajan, R (2015). Actas de la Conferencia Internacional sobre Transformaciones en la Educación en Ingeniería . Springer.
  18. ^ El Apéndice SDLC del Estado de Michigan sobre CMM da fe del uso del texto en 2001, por lo que no podría haber venido de aquí.
  19. ^ "Tendencias de adopción de CMMI: actualización de mitad de año de 2019". CMMI Institute . 2019-10-21.
  20. ^ Fishman, Charles (31 de diciembre de 1996). "Escriben lo que hay que escribir". Fast Company . Consultado el 15 de febrero de 2020 .

Enlaces externos