Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tarea Semana 5 MCC
Tarea Semana 5 MCC
TAREA SEMANA 5
1. Defina las características principales de un framework para la mejora de procesos. Describa los pasos a
seguir e indique en términos generales cuál o cuáles serían las ventajas de introducir este instrumento en
una empresa de desarrollo de software.
R: El trabajo desarrolla un framework de mejora de procesos sobre organizaciones que realicen desarrollo
o mantenimiento de software independientemente del tamaño de la organización. Este framework no
está atado a un modelo de referencia en particular, proveyendo los lineamientos para guiar a las
organizaciones de software en la elección de estrategias de mejoras de procesos mediante la
determinación de la madurez de sus procesos actuales y la identificación de algunos puntos críticos que
afectan a la calidad del software y a la mejora de procesos. El objetivo del trabajo es: Desarrollar un
trabajo de tesis que permita definir conceptualmente un framework de mejora de procesos de desarrollo
de software.
El trabajo se compone del framework en sí modelado como un conjunto de procesos que guíen a la
empresa o sector para poder certificar o evaluar estándares internacionales. El desarrollo del framework
de mejora de procesos es complementado con un conjunto de herramientas para realizar la mejora, y un
caso práctico concreto. Esto se detalla en la sección de alcance. El framework se basa en el modelo de
mejora de procesos de software IDEAL del SEI, pero acotado respecto:
1. Nivel de capacidad que pretende alcanzar la organización
2. Tipo de software desarrollado y objetivos perseguidos por la organización (ver sección 0.7).
3. Proveer un conjunto de prácticas alternativas que permitan alcanzar los objetivos de cada área clave de
proceso.
Ventajas
Reutilización del código. Evitar duplicidad de código. En el desarrollo de una aplicación existen
ciertos apartados que suelen repetirse, como la conexión con la base de datos, validación de
formularios, páginas de estilos, etc. Con la utilización de un framework ahorraremos tiempo en
desarrollar funcionalidades que ya están cubiertas y podremos enfocarnos en el funcionamiento
de la aplicación más que en cómo llevarla a cabo.
Buenas prácticas de desarrollo con el uso de patrones. La mayoría de frameworks están basados
en patrones de diseños, que nos indican pautas sobre cómo solucionar un problema específico
que ya ha ocurrido con anterioridad. El patrón de diseño más popular es MVC (Modelo-Vista-
Controlador), que nos ayuda a separar la capa de datos de la lógica del negocio de la interfaz con
el usuario.
Minimizar errores y mayor facilidad para solucionarlos. Como el framework ya incorpora código
implementado por otros programadores, los posibles errores que este pueda tener siempre serán
menores que al desarrollarlo desde cero. Además, en caso de que hubiera un error, lo más
probable es que ya haya sido solucionado por la comunidad.
Facilita la colaboración con otros desarrolladores. Tanto si son compañeros de tu equipo como
de GitHub, leer el código desarrollado por otra persona puede resultar complejo. Sin embargo, si
ya sabes qué estructura va a seguir el código y cómo se organiza, resultará más fácil
comprenderlo y poder aplicarle nuevos cambios. Lo que nos lleva a la siguiente ventaja.
Facilita el mantenimiento. Si todos los miembros de un equipo trabajan de la misma forma, en el
momento que haya que actualizar la aplicación o realizar algún evolutivo, tardaremos menos
tiempo y el coste será menor.
2. Como jefe del área de informática, usted está a cargo de diez profesionales del área. Dentro de las
funciones que realiza su área está el desarrollo de soluciones de software para empresas de la industria
financiera. Usted ha llegado a ocupar este cargo hace un mes y se ha encontrado con una serie de
compromisos dentro de los próximos doce meses. Como usted es un profesional experimentado, una de
sus primeras tareas es conocer el proceso de desarrollo de software que ha dejado la anterior jefatura.
a. Realice una evaluación, determine oportunidades de mejoras e identifique las capacidades con que
cuenta su área.
Id Nombre Predecesoras
0 Proceso de Evaluación
1 Establecer Requisitos y objetivos
2 Establecer el Propósito de la Evaluación
3 Identificar el Producto a Evaluar 2
4 Identificarlos Requerimientos de Calidad 3
5 Elegir el Marco de Calidad
6 Definir El Modelo de Calidad a Usar 4
7 Definir la Rigurosidad del Modelo 6
8 Especificar la Evaluación
9 Administrar Riesgos de la Evaluación 7
10 Identificar Riesgos de Proyecto y/o Producto 9
11 Analizar los Riesgos 10
12 Tratar los Riesgos 11
13 Monitorear los Riesgos 12
14 Definir Recursos para la Evaluación 9
15 Conformar Equipo Evaluador 9
16 Seleccionar las Métricas 9
17 Establecer Ponderación 16
18 Establecer Fidelidades de Medición 17
19 Establecer Criterios de aprobación 18
20 Diseñar la Evaluación
21 Preparar Recursos e Infraestructura 14
22 Elaborar el Plan de Mediciones 19
23 Elaborar las Pruebas 22
24 Elaborar casos de Prueba 23
25 Diseñar los registros de las Pruebas 24
26 Obtener y Adecuar Recursos para la Evaluación 22
27 Diseñar el Ambiente de Prueba 21,22
28 Evaluar el Producto
29 Completar las Encuestas 25
30 Realizar las Pruebas 29
31 Armar el Ambiente de Prueba 25
32 Ejecutar casos de Prueba 27;31
33 Documentar sus Ejecuciones 32
34 Concluir la Prueba 33
35 Medir los Atributos requeridos por las Métricas 18;22;30
36 Registrar los Valores de las Métricas en el Modelo de Evaluación 35
37 Obtener Resultados 36
38 Concluir la Evaluación
39 Analizar los resultados 37
40 Concluir el Grado de Calidad 39
41 Documentar la Evaluación 40
b. Elabore un plan de tareas que muestre las siguientes actividades que realizará para afrontar los
compromisos.
Para su elaboración será necesario establecer los objetivos que se proponen alcanzar y diseñar la
planificación de las tareas para conseguirlos.
El plan elaborado en base a este documento permite tener de una manera organizada, priorizada y
planificada las acciones de mejora.
c. Usted cuenta con el apoyo de la gerencia, por lo cual le han asignado un presupuesto bastante holgado.
Se debe identificar claramente el Producto a Evaluar, o la Parte del producto sujeto a Evaluación. Así,
tenemos 4 posibles escenarios:
En Desarrollo: Para pasar a la siguiente Etapa de Desarrollo. Aquí tienen impacto los Artefactos y
los Módulos existentes, tanto como sus relaciones con el Plan de Proyecto de Desarrollo del
Software. Estos pueden cambiar y actualizarse en tanto se avanza en el desarrollo de la
Aplicación.
Desarrollado: Para estimar su calidad Final. Se debe identificar todos los Artefactos y los Módulos
existentes relativos al Software o al Módulo bajo estudio.
Desarrollado: Cuando queda Obsoleto o Cuando lanzar una Actualización. Además de identificar
todos los Artefactos y los Módulos existentes relativos al Software o al Módulo bajo estudio;
debemos incluir el RoadMap (Hoja de Ruta) del Ciclo de Vida del Producto.
Evaluación y Selección de un Software entre Productos Alternativos: los productos a evaluar son
productos finales de software o componentes, ya sean construidos a Medida, Prefabricados o
incluso Prototipos.
- analizar y aprender lecciones a partir de los eventos (incluyendo los eventos que son casi accidentes), los
cambios, las tendencias, los éxitos y los fracasos;
- detectar cambios en el contexto externo e interno (cambios en los criterios del riesgo y en el riesgo
mismo) que puedan exigir revisión de los tratamientos del riesgo y las prioridades.
El avance en la implementación de los planes para tratamiento del riesgo suministra una medida de
desempeño.
Las tareas de Medición de Métricas deben estar consignadas en un Calendario de Actividades, teniendo
en cuenta los recursos y sus disponibilidades. Así, el plan debe incluir lo siguiente:
3. Un amigo suyo inició hace un par de meses un procedimiento de mejora de los procesos en su
empresa, específicamente en el área informática. Le comenta que han tenido un trabajo arduo pero que
aún no logran alcanzar el objetivo que se ha propuesto. Como usted es un conocedor del modelo CMMI,
le propone revisar las prácticas y definiciones de este modelo, dado que ha sido desenvuelto
específicamente para empresas que desarrollan soluciones de software. Dado lo anterior, usted le ofrece
su ayuda. Se compromete a enviarle una descripción detallada de cada uno de los niveles para orientarlo
y ayudarle a definir sus requerimientos de mejora. Elabore un breve informe donde explique cada nivel y
destaque las características de cada uno.
R: Uno de los modelos de mejora de procesos más usados en las organizaciones es el CMMI.El CMMI, es
un modelo que ayuda a: integrar las funciones de la organización, conducir la mejora de los procesos,
proporciona una guía de calidad de los procesos y puntos de referencia para la evaluación de estos. El
propósito del modelo es proveer una guía para mejorar los procesos de la organización y la capacidad
para gestionar el desarrollo, la adquisición y el mantenimiento de productos y servicios.
Este modelo consta de cinco niveles de madurez que clasifican a la organización, estos niveles sirven para
conocer la madurez de los procesos que se realizan para producir software.
1. Inicial.
2. Gestionado.
3. Definido.
4. Gestionado cuantitativamente.
5. Optimizado.
Cada nivel comprende un conjunto de áreas de proceso estas cubren desde el desarrollo de los productos
y de los servicios hasta el mantenimiento de los mismos. Independientemente de la disciplina a cual esté
enfocada la organización, las áreas de proceso se subdividen en grupos distintos los cuales dependen de
cada representación ya sea la continua o por etapas.
1 - Inicial. Las organizaciones en este nivel no disponen de un ambiente estable para el desarrollo y
mantenimiento de software. Aunque se utilicen técnicas correctas de ingeniería, los esfuerzos se ven
minados por falta de planificación.
El éxito de los proyectos se basa la mayoría de las veces en el “esfuerzo personal”, aunque a menudo se
producen fracasos y casi siempre retrasos y sobre costes. El resultado de los proyectos es impredecible.
3 - Definido. Además de una buena gestión de proyectos, a este nivel las organizaciones disponen de
correctos procedimientos de coordinación entre grupos, formación del personal, técnica de ingeniería
detallada y un nivel avanzado de métricas en los procesos. Se implementan técnicas de revisión por pares
(peer reviews).
4 - Gestionado. Se caracteriza por que las organizaciones disponen de un conjunto de métricas de calidad
y productividad, que se usan de modo sistemático para la toma de decisiones y la gestión de riesgos. El
software resultante es de alta calidad.
5 - Optimizado. La organización completa está en la mejora continua de los procesos. Se hace uso
intensivo de las métricas y se gestiona el proceso de innovación.
El CMMI incluye cuatro disciplinas, en función de la amplitud de los procesos que cubre:
1. CMMI-SW: Software (SW – Software Engineerin)
2. CMMI-SE/SW: + Ingeniería de sistemas (SE – System Engineering)
3. CMMI-SE/SW/IPPD : + Desarrollo integrado de procesos y productos (IPPD – Integrated Product
and Process Development)
4. CMMI-SE/SW/IPPD/SS: + Gestión de proveedores (SS – Supplier Sourcing)
Características Generales
CMMI presenta dos representaciones del modelo: continua (capacidad de cada área de proceso) y/o por
etapas (madurez organizacional).
En la representación por etapas, se da un mapa predefinido, dividido en etapas (los niveles de madurez),
para la mejora organizacional basada en procesos probados, agrupados y ordenados y sus relaciones
asociadas. Cada nivel de madurez tiene un conjunto de áreas de proceso que indican donde una
organización debería enfocar la mejora de su proceso. Cada área de proceso se describe en términos de
prácticas que contribuyen a satisfacer sus objetivos.
Las prácticas describen las actividades que más contribuyen a la implementación eficiente de un área de
proceso; se aumenta el ‘nivel de madurez’ cuando se satisfacen los objetivos de todas las áreas de
proceso de un determinado nivel de madurez.