Professional Documents
Culture Documents
Fecha 11/09/2018
ABSTRACT:
Tabla De Contenidos
LISTA DE TABLAS................................................................................................................................................5
1. INTRODUCCIÓN..........................................................................................................................................6
2. MARCO TEÓRICO.......................................................................................................................................7
2.1 CMMI: ASPECTOS GENERALES...............................................................................................................7
2.1.1. ¿Qué es CMMI?............................................................................................................................7
2.1.2. Propósito del CMMI.....................................................................................................................8
2.1.3. Objetivos del CMMI......................................................................................................................9
2.1.4. Áreas de conocimiento de CMMI..................................................................................................9
2.2. EVOLUCIÓN DEL ESTÁNDAR CMMI......................................................................................................10
2.2.1. Historia de los modelos CMM....................................................................................................10
2.2.2. Integración de los modelos CMM...............................................................................................11
2.2.3. Variaciones..................................................................................................................................12
2.2.4. Modelos CMMI...........................................................................................................................12
2.3. ESTRUCTURA DE CMMI........................................................................................................................12
2.3.1. Componentes de CMMI..............................................................................................................12
2.3.2. Categorías y áreas de proceso....................................................................................................14
2.3.3. Tipos de representación de CMMI..............................................................................................15
2.3.3.1. CMMI: Representación por Etapas......................................................................................................16
2.3.3.1.1. Estructura de CMMI por etapas.......................................................................................................16
2.3.3.1.2. Niveles de madurez.........................................................................................................................17
2.3.3.2. CMMI: Representación Continua.........................................................................................................20
2.3.3.2.1. Estructura de CMMI continuo.........................................................................................................20
2.3.3.2.2. Niveles de Capacidad......................................................................................................................21
2.4. INTERPRETACIÓN DE CMMI..................................................................................................................23
2.5. USOS Y BENEFICIOS DEL ESTÁNDAR......................................................................................................24
2.5.1. Usos de CMMI............................................................................................................................24
Lista De Tablas
Lista De Figuras
Introducción
A medida de que van creciendo los proyectos informáticos se presentan problemas para
analizar estos, los requerimientos del producto van surgiendo a medida que el cliente se da
cuenta de que necesita algo nuevo y por ende el diseño se ve afectado, esto hace que se vayan
aplicando metodologías que permitan realizar un trabajo adecuado, dado las situaciones que
puedan presentarse y ofrecer buenos resultados en la gestión de proyectos.
Las metodologías tradicionales y las agiles tiene características comunes. Las mismas,
comparten tres conceptos, los objetivos del proyecto, el tiempo y los costes; estos términos
forman el triángulo de hierro ya que van relacionados entre sí, de modo que si uno de ellos
cambia los demás se ven afectados. Es decir si tenemos menos tiempo es necesario delimitar el
proyecto, con la finalidad de reducir el coste y mejorar los objetivos. Si esto no sucede, se
compromete la calidad del proyecto.
Es por eso que, debe realizarse un control permanente analizando que falta por hacer; Por lo
tanto, la metodología SCRUM que es una metodología ágil, se vuelve una gran opción a la hora
de planificar o realizar un análisis de sistemas.
El Análisis de Sistemas trata básicamente de determinar los objetivos y límites del sistema
objeto de análisis, caracterizar su estructura y funcionamiento, marcar las directrices que
permitan alcanzar los objetivos propuestos y evaluar sus consecuencias. Dependiendo de los
objetivos del análisis, podemos encontrarnos ante dos problemáticas distintas:
Los sistemas en relación con el análisis de sistemas están relacionados con cualquier campo
tales como: procesos industriales, administración, toma de decisiones, procesos, protección al
medio ambiente, etc. (Kendall, 1991)
Las Metodologías de Desarrollo de Software surgen ante la necesidad de utilizar una serie de
procedimientos, técnicas, herramientas y soporte documental a la hora de desarrollar un producto
software. Las metodologías pretenden guiar a los desarrolladores a crear un nuevo software, pero
los requisitos de un software a otro son tan variado y cambiante, que ha dado lugar a una gran
variedad de metodologías para la creación del software. (Canos Jose, 2000)
Actualmente una metodología es un conjunto integrado de técnicas y métodos que permite
abordar de forma homogénea y abierta cada una de las actividades del ciclo de vida de un
proyecto de desarrollo. Las metodologías se basan en una combinación de los modelos de
proceso genéricos (cascada, incremental, etc.). Definen artefactos, roles y actividades, junto con
prácticas y técnicas recomendadas. (Canos Jose, 2000)
Cada una de las metodologías disponibles es más adecuada para tipos específicos de
proyectos, basados en consideraciones técnicas, organizacionales, de proyecto y de equipo. Una
metodología de desarrollo de software o metodología de desarrollo de sistemas en ingeniería de
software es un marco de trabajo que se usa para estructurar, planificar y controlar el proceso de
desarrollo de un sistema de información. Se podrían clasificar en dos grandes grupos:
Las metodologías tradicionales
Las metodologías agiles
2.2.1. Las metodologías tradicionales
Las metodologías agiles nacen como una reacción contra los métodos tradicionales, muy
estructurados y estrictos, extraídos del modelo de desarrollo en cascada. El proceso originado de
uso del modelo en cascada era visto como burocrático, lento degradante e inconsistente con las
formas de desarrollo que realmente realizaban un trabajo eficiente. (Canos Jose, 2000)
Su objetivo fue esbozar los valores y principios que deberían permitir a los equipos
desarrollar software rápidamente y respondiendo a los cambios que puedan surgir a lo largo del
proyecto. Se pretendía ofrecer una alternativa a los procesos de desarrollo de software
tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que se genera en
cada una de las actividades desarrolladas. Además son un marco conceptual de la ingeniería de
software que promueve iteraciones en el desarrollo a lo largo de todo el ciclo de vida del
proyecto, donde cada iteración del ciclo de vida incluye planificación, análisis, diseño,
codificación, revisión y documentación. Una iteración no debe agregar demasiada funcionalidad
para justificar el lanzamiento del producto al mercado, pero la meta es tener un producto parcial
o una parte del todo al final de cada iteración. (Canos Jose, 2000)
A todo esto se puede añadir un cambio bastante importante, en cuanto a la demanda del
mercado del software, cada vez más orientada a la Web, con requisitos muy volátiles y en
constante cambio, que requieren tiempos de desarrollo cada vez más cortos, lo que provocó que
las empresas se fijaran más en nuevos desarrolladores, con nuevos métodos que se combinan con
técnicas de las metodologías formales. Los modelos de desarrollo de las comunidades pudieron
ciertamente determinar la aparición de las metodologías ágiles, pero cada autor determina el
surgimiento de las metodologías ágiles de diferentes maneras. (Cockburn, 2000)
De las metodologías ágiles las más representativas corresponden a:
SCRUM
Programación Extrema XP (Extreme Programming)
Kanban
8. Metodología SCRUM
Ligero
Fácil de entender.
Extremadamente difícil de llegar a dominar.
Scrum es un marco de trabajo de procesos que ha sido usado para gestionar el desarrollo de
productos complejos desde principios de los años 90. Scrum no es un proceso o una técnica para
construir productos; en lugar de eso, es un marco de trabajo dentro del cual se pueden emplear
varias técnicas y procesos. (Cockburn, 2000)
Scrum muestra la eficacia relativa de las prácticas de gestión de producto y las prácticas de
desarrollo, de modo que podamos mejorar. (Cockburn, 2000)
El marco de trabajo Scrum consiste en los Equipos Scrum, roles, eventos, artefactos y reglas
asociadas. Cada componente dentro del marco de trabajo sirve a un propósito específico y es
esencial para el éxito de Scrum y para su uso. (Cockburn, 2000)
Las reglas de Scrum relacionan los eventos, roles y artefactos, gobernando las relaciones e
interacciones entre ellos.
Los Equipos Scrum entregan productos de forma iterativa e incremental, maximizando las
oportunidades de obtener retroalimentación. Las entregas incrementales de producto Terminado
aseguran que siempre estará disponible una versión potencialmente útil y funcional del producto.
(Scrum.org., 2013)
Los equipos auto-organizados eligen la mejor forma de llevar a cabo su trabajo y no son
dirigidos por personas externas al equipo. Los equipos multifuncionales tienen todas las
competencias necesarias para llevar a cabo el trabajo sin depender de otras personas que no son
parte del equipo. El modelo de equipo en Scrum está diseñado para optimizar la flexibilidad, la
creatividad y la productividad.
El Equipo Scrum consiste:
Product Owner (dueño del producto): Su trabajo va desde expresar claramente los
elementos de la Lista del Producto, establecer las prioridades adecuadas que permitan
alcanzar los objetivos, asegurar que los elementos de la Lista del Producto sean claros,
transparentes y se entiendan completamente por parte del Equipo de Desarrollo.
Development Team (Equipo de desarrollo): Consiste en un grupo de personas que
desempeñan funciones para conseguir los objetivos establecidas por el Dueño del
Producto, este trabajo se ve reflejado en la entrega de un nuevo incremento del producto
que ser puesto en producción una vez finalizado cada sprint.
Scrum Master: Entre las tareas que debe cumplir un Scrum Master podemos encontrar:
debe ayudar al Dueño del Producto a entender la necesidad de contar con elementos de la
Lista del Producto claros y concisos, así como priorizarlos; ayuda al Equipo de Desarrollo
a ser auto organizado y multifuncional, crear productos de alto valor y solventar
impedimentos para el progreso del equipo.