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

CMMI 2 Strikes back

nuevo

Finalmente la nueva generación del modelo CMMI está a la vuelta de la esquina.


Desde el 2010 que se publicó la versión 1.3 de CMMI en sus tres constelaciones DEV, SVC y ACQ no existía una revisión del modelo. En marzo del 2018 finalmente será publicada la nueva versión por el CMMI Institute que hará justicia al término "integración" en el modelo.

Qué es CMMI

Modelos
CMMI es el acrónimo de Capability Maturity Model Integration y se refiere a los modelos que contienen las mejores prácticas que ayudan a las organizaciones a mejorar sus procesos. Han sido desarrollados por equipos de trabajo formados por especialistas de la industria, el gobierno y el Software Engineering Institute (SEI) que transfirió los derechos al CMMI Institute para su operación y comercialización.

Siendo un modelo refleja una abstracción de la realidad que permite a las organizaciones adoptar prácticas útiles para alcanzar sus objetivos de negocio, constituye una referencia no es un proceso en sí. Para establecer una analogía, querer adaptar la organización al modelo es como si al ver una maqueta de una casa una persona deseara vivir en ella. 

La adecuada interpretación del modelo para cubrir las diferentes situaciones, necesidades y objetivos de una organización son esenciales para lograr los resultados que se quieren. Muchas veces por desconocimiento o por falta de sentido común o criterio, el resultado no es lo esperado. Por ello es importante saber Qúe es CMMI y Qué no esperar de CMMI.

10 prácticas poco efectivas y la solución en CMMI

Foto: Erik Moeller
¿Cómo un proyecto llega a tener un año de retraso? Un día a la vez. (Frederick Brooks, Jr.) 
CMMI es un modelo de prácticas que ayudan al desarrollo de un producto de mejor calidad y al crecimiento del negocio. Considerar su aplicación en la organización implica cambios de hábitos y costumbres que resultan en grandes beneficios, pero que muchas veces deben romper paradigmas muy arraigados dentro del personal.

Andrew Oliver en un artículo publicado por InfoWorld "10 practices of highly ineffective software developers" relaciona las diez prácticas que utilizan los programadores por malos hábitos o presiones del gerente de proyecto y que provocan malos resultados. Esas malas prácticas pueden ser corregidas con las lecciones aprendidas y mejores prácticas establecidas en CMMI y obtener resultados efectivos.

Consideraciones para el diseño

El diseño es la fase del proceso de desarrollo donde se clarifican los requisitos iniciales y se establecen las posibles soluciones del producto. Constituye un proceso creativo para producir una solución efectiva y precisa para un problema pobremente definido. El modelo CMMI considera actividades de diseño en diferentes áreas de proceso de la categoría de ingeniería y en particular se concentran en RD, TS y PI.

Consideraciones para implantar prácticas de CMMI

Hace un tiempo Neil Potter ofreció un webinar "Appraisals and CMMI Gotchas - Lessons in CMMI Use and Appraisal Preparation", donde compartió algunas cuestiones que son adecuadas considerar en la implantación de las prácticas del modelo CMMI y que se resumen a continuación.

El objetivo de las empresas que implementan prácticas de CMMI es desarrollar mejores productos, de manera controlada y optimizando el esfuerzo y costo. La documentación es un apoyo para estos productos pero no debe convertirse en el foco de la organización. Es importante cuidar el nivel de documentación sin afectar el objetivo del negocio que es desarrollar productos hacia el cliente.

Modelos, normas, metodologías y técnicas para mejora de procesos

En los proyectos de mejora existen numerosas prácticas, técnicas y metodologías que ayudan a cubrir las diferentes necesidades de la organización. La aplicación de unas u otras depende de los requerimientos del negocio y las exigencias del mercado. Es importante considerar una estrategia adecuada y tomar de cada una lo que mejor se ajuste a la organización. 


El resumen que se presenta a continuación no pretende cubrir todo el espectro disponible, pero al menos presenta los elementos generales que le permitan evaluar las diferentes alternativas, así como las direcciones de Internet donde puede obtener mayor información. 

Webinar del SEI sobre Agile

Jochen Gros
El SEI presentó el webinar "Making Agile work for you" presentada por Timothy A. Chick. Una interesante revisión de los fundamentos de Agile y cómo puede ser aplicado en la organización, en conjunción con el enfoque de TSP.
La liga para descargar la presentación se puede encontrar en http://www.sei.cmu.edu/go/making-agile-work-for-you/ 

Herramientas estratégicas para la mejora de procesos

Xhienne
Alinear las metas estratégicas en la organización con los objetivos de mejora es considerado una práctica importante como parte del ciclo de mejora, indirectamente considerado en OPF y directamente establecido por OPM en la versión 1.3 del modelo CMMI.
Existen diferentes técnicas y herramientas de apoyo a la planificación estratégica que pueden servir de entrada a las necesidades de los procesos y establecer entonces los objetivos de mejora de los mismos. En términos generales se deben identificar, analizar y priorizar esas necesidades para establecer las acciones a realizar y comprometer los recursos que se necesitan.

SCRUM y CMMI

Kadellar
Buscando información en la red sobre la implementación de métodos Agile en combinación con CMMI, encontré un artículo muy interesante de Neil Potter que habla precisamente sobre el tema. "Implementing SCRUM (Agile) and CMMI together"
Potter presenta de manera sencilla las características de cada enfoque pero adicionalmente ejemplifica, para las áreas de proceso de REQM, PP y PMC, como muchas de las prácticas específicas se pueden cumplir con elementos y técnicas de SCRUM. En otros casos presenta sugerencias, características o incluso sugiere otros artículos de como SCRUM puede considerar un enfoque que ayuda a cumplir con prácticas de CMMI. Finalmente existen áreas de proceso como: OPD, OPF y OT que, aunque no son cubiertas por SCRUM, se pueden implementar en combinación adecuadamente sin generar conflictos.

Agile y PMO, dos historias y un mismo final

Lehmann, Thomas
El uso de los enfoques Agile y PMO (Project Management Office) consideran diferentes perspectivas para la gestión y conducción de un proyecto. Hablan diferentes lenguajes pero al final deben llegar al mismo resultado. En ambos casos deben garantizar el cumplimiento de los objetivos del proyecto, desde enfoques diferentes. ¿Cómo manejar e integrar ambas perspectivas?

Agile en CMMI v1.3

Abrahamsson, P., Salo, O.,
Ronkainen, J., & Warsta, J.
Aunque el modelo CMMI es independiente del enfoque que se utiliza para aplicar las prácticas definidas, en la versión 1.3 se agregan anotaciones específicas para los que utilizan los métodos y técnicas Agile como forma de aplicación e interpretación de las prácticas descritas en el modelo.

En particular las áreas de proceso que tienen notas y referencias específicas a Agile son CM, PI, PMC, PP, PPQA, RD, REQM, RSKM, TS y VER. Estas anotaciones deben considerarse como ejemplos para ayudar a entender el contexto en que se aplican las prácticas, pero no la forma en que deben implementarse. Al final, cada organización decide el mejor enfoque para la aplicación de las prácticas en el modelo.

10 Claves para una adecuada definición y gestión de requisitos

El establecimiento de los requisitos para un producto es vital para obtener un excelente resultado. Es la base para arrancar el trabajo de desarrollo y la fuente de muchos de los problemas que se presentan, por lo que una adecuada definición y gestión de los mismos es la clave para evitar contratiempos, retrabajos e incrementos de costos.

 Existen elementos imprescindibles, que se deben tomar en cuenta, para una correcta definición y gestión de requisitos y que son presentados aquí como diez elementos claves. Estos deben ser considerados como parte del sistema de procesos, prácticas, herramientas y disciplinas a integrar para identificar, analizar, especificar, verificar y gestionar los requisitos de un producto

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.

Team Software Process (TSP)

TSP es uno de los métodos desarrollados por el SEI, para en conjunto con PSP, mejorar el desempeño de los equipos de desarrollo y la calidad de los productos que se construyen. Permite instanciar las prácticas de CMMI con elementos ya definidos y listos para utilizarse.
Adicionalmente es uno de los componentes, adicional a CMMI y Six Sigma, que integran la estrategia AIM presentada por el SEI para acelerar la implementación de las prácticas del modelo CMMI en las organizaciones. De acuerdo con este enfoque, el uso de TSP, combinado con Six Sigma, permite implementar las prácticas a nivel 3 de CMMI de manera rápida, confiable y con un alto rendimiento en un periodo de 18 meses para organizaciones pequeñas o medianas.

Método acelerado de mejora (AIM)

El SEI anunció, en su boletín del mes de marzo, la publicación del Método Acelerado de Mejora (AIM – Accelerated Improvement Method) mediante dos reportes técnicos publicados en su Web. El método permite implementar las prácticas de CMMI de manera rápida, confiable y con alto rendimiento basado principalmente en la aplicación de Team Software Process (TSP). 


AIM combina diversos métodos y técnicas para incrementar la productividad, reducir los defectos y cubrir los elementos requeridos por el modelo a nivel 3 de madurez. Las prácticas de CMMI se mezclan con elementos de TSP, Six Sigma y Goal Driven Measurement (GDM) para cumplir los objetivos de un SCAMPI. Logra transformar las prácticas a nivel de proyectos y escalarlas a la Organización al tiempo que introduce prácticas Agile


La guía constituye un punto de partida para la aplicación de CMMI y las tecnologías asociadas que permitan a las organizaciones alcanzar los objetivos como empresa mediante la aplicación de técnicas de gestión de procesos de clase mundial. Por su parte, en el caso de una evaluación SCAMPI se simplifica el tiempo de preparación y ejecución al considerar elementos y artefactos comunes al proceso, resultantes de la aplicación de estas tecnologías.


Los reportes técnicos son: 
  • Implementation Guidance for the Accelerated Improvement Method (CMU/SEI-2010-SR-032) que ofrece guía y apoyo en la implementación del método AIM para ejecutivos, gerentes e interesados. 
  • SCAMPI Appraisal Guide: Accelerated Improvement Method (CMU/SEI-2010-SR-021) que proporciona sugerencias a nivel de prácticas que se esperan en la implementación de AIM desde el punto de vista de la evaluación. Sobre todo se enfoca en explicar el uso de TSP como parte del proceso de desarrollo.
AIM se ha creado a partir de lecciones aprendidas en la industria por la aplicación de diferentes métodos y tecnologías relacionadas con CMMI y TSP. Un elemento clave en el método es trabajar la mejora de procesos como proyecto y considerar la formación y administración de los equipos de procesos como equipos de proyecto con mecanismos de dirección y puesta en marcha con el mismo trato de los equipos de desarrollo. 


El SEI está programando cursos de formación y difusión de AIM como parte del SEPG 2011 en Portland, Oregon en el mes de marzo.
Safe Creative #1102028403944

Biblioteca de procesos en CMMI

El área de procesos de OPD establece la necesidad de establecer una biblioteca de activos de procesos (PAL por sus siglas en inglés) como base para el establecimiento del proceso definido y gestionar el conocimiento de la organización. Constituye un repositorio de información que permite almacenar y publicar activos del proceso útiles para los que tienen que definir, implementar o gestionar los procesos en la Organización.  

CMMI no es suficiente

En un artículo publicado por Channel Partner se comenta sobre la problemáticas de las factorías de software en España. En el análisis se plantea que la mejora del proceso con la adopción de prácticas de CMMI no es suficiente para mejorar la competitividad de la industria de software, en particular en España, pero que es completamente aplicable a nivel internacional.


Se plantea como líneas de trabajo la relación con el cliente, especialización del personal técnico, mejor reutilización del software y mejoramiento de la efectividad del modelo de producción, valorar el producto, competitividad internacional y esquemas de subcontratación.


En general las líneas que se deben fortalecer son la formación del cliente en la calidad ante el costo del producto, incrementar el nivel profesional de los recursos humanos que son la base del desarrollo de software, internacionalización del servicio como parte de la globalización de la industria y la posibilidad de contratación de servicios a nivel mundial y mejorar el uso y operación del modelo de fábrica de software.


El trabajo en la implementación de procesos con base en el modelo CMMI sin una adecuada estrategia en la Organización o en la industria, en términos globales, no permitirá llevar un proceso artesanal a un proceso industrializado de creación y producción de software. Esta puede ser la expectativa y objetivo de muchas organizaciones y gobiernos en diferentes países, que trabajan en el fortalecimiento de la industria con programas gubernamentales. 


Al fin de cuentas CMMI sólo cubre una parte de la realidad de las organizaciones. Existen otros procesos y elementos a tomar en cuenta como parte de la mejora de procesos, que no deben ser pasados por alto.

Safe Creative #1011237914335

Enfoque de desviación positiva hacia el cambio

Las organizaciones aplican diferentes enfoques en la búsqueda de reducir la brecha entre la situación actual y la deseada, la esencia de la gestión del cambio. Un enfoque tradicional tiene que ver con el descubrimiento de los problemas y aplicar soluciones de la industria. El enfoque de “desviadores positivos” busca las fuentes inherentes del cambio dentro de la organización e involucra a los miembros como evangelizadores de su propia experiencia transformadora. 

Herramienta para gestión de proyectos: dotProject

dotProject es una herramienta OpenSource para gestión de proyectos. Se puede consultar y descargar en la página www.dotproject.net. La herramienta ha sido desarrollada en PHP y utiliza MySQL para el manejo de los datos. Está soportada vía Web para diferentes sistemas operativos (Linux, Windows, Mac). Se puede explorar y revisar a través de una aplicación demo en el mismo sitio de la herramienta. 


Las funcionalidades de la herramienta se pueden integrar a las actividades del proceso de gestión de proyectos para facilitar la aplicación del mismo en la Organización. Cubre diferentes prácticas del modelo CMMI en diferentes áreas de proceso. Veamos como se cubren en términos generales estás prácticas, indicadas entre paréntesis el área de proceso y la práctica específica (SP) o genérica (GP) según corresponda. Sólo se cubren algunos elementos para tener una idea del uso de la herramienta respecto a CMMI. 

Resumen de Solución técnica

El área de proceso de Technical Solution (TS) 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 diseñar, desarrollar e implementar soluciones para los requerimientos. Las soluciones, los diseños y las implementaciones engloban productos, componentes de producto y procesos del ciclo de vida asociados al producto, de manera individual o en combinación, según sea apropiado. TS es el centro del desarrollo y mantenimiento del producto, depende de los requerimientos definidos en RD para generar el producto y que se mantienen actualizados a través de REQM. Como parte de las prácticas definidas se desarrolla, de manera iterativa, las diferentes soluciones a los requerimientos del cliente, productos y componentes del producto. Esas soluciones son diseñadas y finalmente construidas para crear el producto o servicio y los procesos asociados durante todo el ciclo de vida. Las metas definidas en TS interactúan en diferentes etapas del desarrollo y en diferentes instancias del producto y sus componentes. El establecimiento de soluciones, el desarrollo del diseño y la implementación del diseño se ejecutan de manera iterativa de acuerdo con las necesidades del desarrollo. Establecer soluciones SG1 Las soluciones de producto o de componentes de producto son seleccionadas a partir de soluciones alternativas.
  • SP1.1 Desarrollar las soluciones alternativas y los criterios de selección.
  • SP1.2 Seleccionar las soluciones de componentes de producto que mejor satisfacen los criterios establecidos.
Desarrollar el diseño a las soluciones
SG2 Los diseños de producto o de los componentes de producto son desarrollados.
  • SP2.1 Desarrollar un diseño para el producto o el componente de producto.
  • SP2.2 Establecer y mantener un paquete de datos técnicos.
  • SP2.3 Diseñar las interfaces de componentes de producto usando los criterios establecidos.
  • SP2.4 Evaluar si los componentes de producto se deberían desarrollar, comprar o reutilizar en base a los criterios establecidos.
Implementar el diseño
SG3 Los componentes de producto y la documentación de soporte asociada son implementadas a partir de sus diseños.
  • SP3.1 Implementar los diseños de los componentes de producto.
  • SP3.2 Desarrollar y mantener la documentación de uso final

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...