CMMI: Integración de modelos de madurez de capacidades o Capability maturity model integration
(CMMI) es un modelo para la mejora y evaluación de procesos para el desarrollo,
mantenimiento y operación de sistemas de software.
Modelos
CMMI
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 para servicios (CMMI-SVC o CMMI for Services), 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.
OpenUP: OpenUP es un método y un proceso de desarrollo de software propuesto por un conjunto de empresas de tecnología, quienes lo donaron en el año 2007 a la Fundación Eclipse. La fundación lo ha publicado bajo una licencia libre y lo mantiene como método de ejemplo dentro del proyecto Eclipse Process Framework.
El OpenUP es un proceso mínimo y suficiente, lo que significa que
solo el contenido fundamental y necesario es incluido. Por lo tanto no provee
lineamientos para todos los elementos que se manejan en un proyecto pero tiene
los componentes básicos que pueden servir de base a procesos específicos. La
mayoría de los elementos de OpenUP están declarados para fomentar el
intercambio de información entre los equipos de desarrollo y mantener un
entendimiento compartido del proyecto, sus objetivos, alcance y avances.
Programación
extrema (XP): La programación extrema o eXtreme Programming (XP) es un enfoque de la ingeniería
de software formulado por Kent Beck,
autor del primer libro sobre la materia, Extreme
Programming Explained: Embrace Change (1999). Es el más destacado de los
procesos
ágiles de desarrollo de software. Al igual que éstos, la programación
extrema se diferencia de las metodologías tradicionales principalmente en que
pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores
de XP consideran que los cambios de requisitos sobre la marcha son un aspecto
natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que
ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la
vida del proyecto es una aproximación mejor y más realista que intentar definir
todos los requisitos al comienzo del proyecto e invertir esfuerzos después en
controlar los cambios en los requisitos.
Scrum: es un marco de
trabajo para la gestión y desarrollo
de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo
ágil de software.
Aunque Scrum estaba
enfocado a la gestión de procesos de desarrollo de software, puede ser
utilizado en equipos de mantenimiento de software, o en una aproximación de
gestión de programas: Scrum de Scrums.
CARACTERISTICAS
Scrum es un modelo
de referencia que define un conjunto de prácticas y roles, y que puede tomarse
como punto de partida para definir el proceso de desarrollo que se ejecutará
durante un proyecto. Los roles principales en Scrum son el ScrumMaster,
que mantiene los procesos y trabaja de forma similar al director de proyecto,
el ProductOwner, que representa a los stakeholders (interesados
externos o internos), y el Team que incluye a los desarrolladores.
Durante cada sprint,
un periodo entre una y cuatro semanas (la magnitud es definida por el equipo),
el equipo crea un incremento de software potencialmente entregable
(utilizable). El conjunto de características que forma parte de cada sprint
viene del Product Backlog, que es un conjunto de requisitos de alto
nivel priorizados que definen el trabajo a realizar. Los elementos del Product
Backlog que forman parte del sprint se determinan durante la reunión de Sprint
Planning. Durante esta reunión, el Product Owner identifica los
elementos del Product Backlog que quiere ver completados y los hace del
conocimiento del equipo. Entonces, el equipo determina la cantidad de ese
trabajo que puede comprometerse a completar durante el siguiente sprint.
Durante el sprint, nadie puede cambiar el Sprint Backlog, lo que significa que
los requisitos están congelados
durante el sprint.
Scrum permite la
creación de equipos auto organizado impulsando la co-localización de todos los
miembros del equipo, y la comunicación verbal entre todos los miembros y
disciplinas involucrados en el proyecto.
Un principio clave
de Scrum es el reconocimiento de que durante un proyecto los clientes pueden
cambiar de idea sobre lo que quieren y necesitan (a menudo llamado requirements
churn), y que los desafíos impredecibles no pueden ser fácilmente
enfrentados de una forma predictiva y planificada. Por lo tanto, Scrum adopta
una aproximación pragmática, aceptando que el problema no puede ser
completamente entendido o definido, y centrándose en maximizar la capacidad del
equipo de entregar rápidamente y responder a requisitos emergentes.
Existen varias
implementaciones de sistemas para gestionar el proceso de Scrum, que van desde
notas amarillas "post-it" y pizarras hasta paquetes de software. Una
de las mayores ventajas de Scrum es que es muy fácil de aprender, y requiere
muy poco esfuerzo para comenzarse a utilizar.
ITIL: Desarrollada a finales de los 80s, ITIL se ha convertido en un
estándar para la administración de servicios. En sus inicios en la Gran Bretaña
permitió que se administrara de manera eficaz y eficiente los costos de los
recursos; por que demostró ser útil a las organizaciones en todos los sectores.
COBIT: es un guía volcado para la Gestión de TI. Tienen una serie de
recursos que pueden servir como un modelo de referencia para Gestión de TI,
incluyendo un sumario ejecutivo, un "framework" con control de los
objetivos, mapas de auditoria, herramientas para su implementación y
principalmente, un guía con técnicas de gestión.
LEAN: La metodología de desarrollo de
software Lean es una translación de los principios y prácticas de la
manufacturación Lean hacia el dominio del desarrollo de software. Adaptado del Sistema de producción Toyota, apoyado por una sub-cultura pro-lean
que está surgiendo desde la comunidad ágil. El término de desarrollo de
software Lean tiene origen en un libro del mismo nombre, escrito por Mary
Poppendieck y Tom Poppendieck. El libro presenta los tradicionales principios
Lean en forma modificada, así como un conjunto de 22 instrumentos y herramientas
y las comparaciones con otras prácticas ágiles. La participación de Mary y Tom
en la comunidad del desarrollo ágil de software,
incluyendo charlas en varias conferencias, ha dado lugar a dichos conceptos,
que son más ampliamente aceptados en la comunidad de desarrollo ágil. Ejemplos
de ello sería la utilización del término "Lean-Agile" por
empresas de consultoría como NetObjectives Pace y CC, así como la inclusión de
algunos de estos conceptos.
MSF: es una combinación perfecta del modelo cascada y
modelo espiral. Lo cual genera interesantes ventajas al momento de desarrollar
un proyecto.
El Microsoft Solutions Framework proporciona
las mejores prácticas para planear, diseñar, convertir y desarrollar exitosas
soluciones empresariales.
El modelo
MSF nos permite trabajar de formas organizada y bien estructurada de tal manera
que dan origen a la reducción de riesgos maximizando la opción de lograr
calidad.
PMI- PMBOK: El Project
Management Body of Knowledge (PMBOK) es un término que describe la suma de los
conocimientos involucrados en la profesión de la administración de proyectos.
El conocimiento y las prácticas descritas en el PMBOK son aplicables a la
mayoría de los proyectos. Sin embargo, el equipo administrador del proyecto es
siempre el responsable de determinar lo que es apropiado para cada proyecto.
PMBOK provee la terminología común de la administración de proyectos.
PMBOK describe los métodos y prácticas que deben tenerse en consideración
desde que se inicia un proyecto hasta su finalización. La aplicación de éstas
prácticas permitirá llevar una buena gestión del proyecto y mantener un mayor
control, permitiendo al Project Manager y a su equipo realizar proyectos de
manera eficaz y eficiente (en alcance, tiempo, coste), así como asegurar la
calidad y transparencia a lo largo de toda la vida del proyecto.
PRINCE2: es una estructura de gestión de proyectos método aprobado
por el gobierno del Reino Unido como el estándar de gestión de proyectos para
proyectos públicos. La metodología abarca la gestión, control y organización de
un proyecto. PRINCE2 es también usado para referirse a la
formación y acreditación de profesionales autorizados de la metodología que
debe emprender titulaciones homologadas para obtener la certificación.
DRA: es un modelo de proceso del
desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo
extremadamente corto. (Es una adaptación a alta velocidad del modelo lineal
secuencial.)
El
proceso DRA permite al equipo de
desarrollo crear un sistema completamente funcional dentro de periodos cortos de tiempo.
El
enfoque DRA comprende las siguientes fases:
·
Modelado de Gestión
·
Modelado de datos
·
Modelado del proceso
CRYSTAL: es una
aplicación de inteligencia empresarial utilizada para diseñar y generar
informes desde una amplia gama de fuentes de datos (bases de datos).
Kanban:
es un término japonés que significa simplemente “tarjeta” u "orden de
trabajo". El término está asociado con una técnica de organización de
soporte a la producción que garantiza el aprovisionamiento inmediato de los
departamentos de producción, sin excederse con las cantidades en los almacenes
WIP (Work In Progress). En la práctica, la tarjeta-kanban sigue al contenedor enviado de
la producción a causa de un pedido de trabajo: impresa sobre una matriz con
“talones”, según la demanda determinada por el pedido, permite ser separada al
llegar al nivel de seguridad de existencias. El talón retorna al almacén para
informar al personal que es el momento de transferir un nuevo contenedor
hacia la producción, sabiendo exactamente cuál es el sector que se debe
aprovisionar, el artículo y la cantidad requerida, el pedido en ejecución y
todos los datos indicados en el kanban.
TPS: es una metodología para dirigir el trabajo de mejora y desarrollo de
software además de establecer un entorno donde el trabajo efectivo de equipo
sea normal y natural.
Conjunto
de procesos estructurados que indican qué hacer en cada fase del desarrollo del
proyecto y muestra cómo conectar cada fase para construir un producto completo.
PSP: El proceso personal de software
Es un conjunto de prácticas disciplinadas para la gestión del tiempo y mejora
de la productividad personal de los programadores o ingenieros de software, en
tareas de desarrollo y mantenimiento de sistemas. Está alineado y diseñado para
emplearse en organizaciones con modelos de procesos CMMI o ISO 15504.
Se puede
considerar como la guía de trabajo personal para ingenieros de software en
organizaciones que emplean un modelo CMMI con nivel de madurez o de capacidad
de procesos que implica la medición cualitativa y mejora de procesos.
RUP:
El Proceso Unificado de Rational (Rational Unified Process en
inglés, habitualmente resumido como RUP) es un proceso de desarrollo de
software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología
estándar más utilizada para el análisis, implementación y documentación de
sistemas orientados a objetos.
El RUP no es un
sistema con pasos firmemente establecidos, sino un conjunto de metodologías
adaptables al contexto y necesidades de cada organización.
No hay comentarios:
Publicar un comentario