Documento de Análisis de un Requerimiento Bancario, según Metodología CMMI
Adjunto encontraran un documento que especifica desde el punto de vista Funcional, los requerimientos de Diseño de Software, desde el punto de Vista del Usuario Final.
Es en documento donde se plasman las necesidades de automatización que tiene el usuario banco, para que el equipo de desarrollo, genere la aplicación solicitada, la que posteriormente pasara por un control exhaustivo de calidad, donde se revisará completamente, para evitar que el software llegue con errores donde el cliente y presente defectos o problemas en producción
https://rapidshare.com/files/2666493744/CD21B_-_ALT-10-01279-0A-G1-Vi.j__Analisis_de_Requerimientos__v13.pdf
Calidad en el Desarrollo de Software
lunes, 25 de junio de 2012
Mi proyecto
Espero concretarlo en el corto plazo
Es mi Proyecto y mi idea de Negocio
http://www.megapyme.cl
Espero concretarlo en el corto plazo
Es mi Proyecto y mi idea de Negocio
http://www.megapyme.cl
RELACIÓN DE LOS MODELOS CMM/CMMI CON LOS TIPOS DE CULTURA ORGANIZACIONAL
El modelo CMM/CMMI en su esencia lleva a las organizaciones que lo aplican a una cultura racionalista, sin embargo, a medida que se alcanzan los niveles superiores de madurez según el modelo, tiene características del tipo de cultura jeráquica. El modelo P- CMM (People – CMM) que fue concebido como un complemento del anterior con foco en el factor humano, tiene aspectos culturales racionales y consensuales enfocados a la misma función creando una contradicción interna. Los modelos SW-CMM y P-CMM en lugar de complementarse son
contradictorios entre sí. Ambos modelos afirman que tienen como fin una cultura organizacional de desarrollo humano, y no como un medio. Sin embargo, las acciones recomendadas sólo la presentan como un medio y se abandona cuando la organización alcanza niveles superiores de madurez.
Cuando se comienza con la implementación de un proceso de mejoras basado en alguno de los modelos CMM/CMMI, los cambios propiciados por el modelo deben ocurrir en tantas dimensiones de la organización que seguramente se producirá un choque con su cultura. Sin embargo, las contradicciones internas del modelo pretenden poner en marcha procesos de racionalización, por un lado, y por el otro, pretende generar equipos de trabajo consensuados y capacitación basada en desarrollo humano que no pueden convivir en una misma función de la organización en un mismo momento. Los patrones de comunicación y las expectativas departicipación de los miembros son tan distintos para cada tipo de cultura que
la confusión es inevitable. Por un lado, la conformación del equipo sobre la base consensual alienta el desarrollo de objetivos mediante procesos deliberativos y por otro, la elaboración racional de reglas demanda que se las siga sin cambios, por ejemplo.
Cuando la organización ha superado los primeros niveles con alto contenido participativo, generando una cultura consensual, la implementación de los niveles siguientes reglamenta su funcionamiento quitando los espacios de consenso que se habían formado durante el proceso
anterior. Repentinamente, miembros de equipos exitosos que han sacado sus propias conclusiones acerca del buen funcionamiento de los projectos ven su contribución reemplazada por decisiones jerárquicas correspondientes a los procesos de los niveles superiores del modelo (4/5).
De lo expresado rescatamos la idea de que cuando el proceso de mejoras avanza, su implementación afecta de distintas maneras a la organización representada por sus miembros, su forma de relacionarse y de cumplir sus roles. Si sólo se presta atención y se pone foco en la implementación de los aspectos técnicos del modelo, los cambios producidos generan condiciones caóticas difíciles de comprender. Si no se reconocen estos síntomas y se planea su prevención y resolución, se estará frente a dificultades que llegan a veces al fracaso del proceso de mejoras. Esto es debido a que las premisas seguidas mientras la organización trabajaba para lograr su nivel de capacidad CMM/CMMI 3 cambian cuando la organización trabaja para lograr niveles superiores (4/5). Pasan de tener, primero, características consensuales y de desarrollo humano para seguir con pautas y reglas racionales y terminar finalmente en un sistema áltamente jerárquico que quita toda la
participación innovadora que habían tenido antes. Este cambio afecta de varias maneras la conducta de los miembros de la organización hasta el punto de socavar todo el proceso de mejoras.
El CMM y la mejora continúa del proceso de software
Resumen:
Dentro de la competitividad actual, conseguir productos software excelentes a
buen precio en márgenes de tiempo estrechos es el sueño de miles de
empresas. Ello se puede conseguir concentrando esfuerzos en torno a dos
pilares fundamentales: Las personas por un lado, y los métodos y
procedimientos por otro. El Modelo de Madurez de Capacidad del Software
(CMM) hace hincapié en la mejora del proceso de software en base a los
procedimientos internos y sin descuidar a las personas. Intentaremos en estas
líneas explicar este Modelo.
INTRODUCCIÓN
En una economía capitalista como la nuestra, basada en la obtención de beneficios
económicos derivados del comercio, el estudio de las organizaciones dedicadas a la
consecución de dichos beneficios ha sido objeto de numeroso material bibliográfico.
En un entorno donde lo que prevalece es la maximización de los beneficios se busca
como consecuencia inmediata la máxima eficiencia y efectividad en las tareas que generan el
beneficio.
Al mismo tiempo, la globalización a todos sus efectos, el nuevo orden social, las
nuevas formas de hacer negocios, las nuevas necesidades, los nuevos descubrimientos en
todos los ámbitos, las nuevas relaciones sociales y, en definitiva, la propia evolución de la
sociedad, elevan día a día la complejidad no solo de los procesos económicos sino también de
las relaciones personales.
Todos sabemos, que una de las formas más importantes de enfrentarse a estos retos,
es a través de las distintas herramientas informáticas eficaces y eficientes que facilitan la
ejecución y control del trabajo diario.
Sin embargo, la historia de la ingeniería del software o de la producción de material
informático esta repleta de grandes fracasos y decepciones. Proyectos de miles de millones de
dólares que no han cumplido sus objetivos y a menor nivel pero de forma mucho mas
abundante, millones de usuarios decepcionados con el software que manejan como principal
elemento de su trabajo. Los problemas mas frecuentes que nos encontramos en la producción
de software son:
1. La entrega del material fuera del plazo estipulado.
2. El material no cumple los requisitos estipulados, ya sea en eficiencia o
funcionalidad.
Todos los problemas reflejados en el párrafo anterior originan pérdidas económicas en
el mejor de los casos, ya que si es un sistema crítico podemos llegar a hablar incluso de
perdidas de vidas humanas.
Por tanto, la pregunta que nos planteamos es: ¿Cómo se pueden evitar los fracasos en
la producción de software?
LA MEJORA DEL PROCESO DE GESTIÓN DEL SOFTWARE
Para conseguir tener un proceso de producción de software sin fallos, adecuado a las
necesidades estipuladas en un principio y entregado a tiempo, esta claro que la producción de
software debe convertirse en un proceso disciplinado y aceptado por todos.
Son varias las razones por las que puede fallar el proceso de software, mencionamos
las tres principales:
1. El personal no se involucra lo suficiente en el control de calidad del trabajo.
2. La alta dirección no ha adquirido conciencia de la importancia de un buen proceso
de software para su compañía, la principal consecuencia de esto es que el proceso
de software no tiene los recursos adecuados ya sea en forma de tiempo, dinero,
tecnología, personal y formación de este.
3. Las prácticas establecidas no son las adecuadas.
Hasta ahora hemos empleado el termino "proceso de software", pero ¿qué queremos
decir con este término?: "Un proceso es un conjunto de pasos definidos para lograr una tarea",
mientras que "un proceso definido es aquel que esta escrito a tal detalle que permite que los
ingenieros lo usen constantemente". Los procesos definidos ayudan a la planificación y
desarrollo de un trabajo. El proceso que establezcamos debe ser flexible y debe facilitar el
cambio y la innovación. Al mismo tiempo el proceso debe poder ser aprendido.
Aquí es donde entra el CMM o "Modelo de Madurez de Capacidad del Software". El
CMM esta destinado a la evaluación y mejora de procesos. Se debe evaluar a la organización
para conocerla ya que sin conocerla no se puede mejorar. El propósito de CMM es guiar a
las organizaciones en la selección de estrategias de mejora determinando la madurez del
proceso actual e identificando los puntos importantes que se deben estudiar y trabajar
para mejorar tanto el proceso como la calidad del software. Dicho en palabras de Dymon
[Dymon 1997] ayudar a las personas a identificar aquellas actividades críticas que indican la
capacidad para realizar de la organización. Hay dos razones fundamentales para creer la
efectividad de este modelo:
1. El modelo CMM esta construido en base a prácticas reales.
2. Cada nueva (y correcta) implementación del CMM es un nuevo éxito.
EL MODELO DE MADUREZ DE CAPACIDAD DEL SOFTWARE (CMM)
Acabamos de ver una pequeña introducción al significado del CMM. También
consideramos brevemente las ventajas de su empleo en una organización. Ahora bien, ¿tan
bueno es el CMM que no tiene ningún inconveniente? Por supuesto que el CMM tiene
inconvenientes, aunque mejor deberíamos llamarlo riesgos. El CMM puede ser mal
interpretado, para evitarlo es conveniente que las personas que lo utilicen comprendan el
modelo y sus implicaciones a la hora de aplicarlo a la organización.
Este modelo es fruto del trabajo de SEI (Software Engineering Institute), desde 1986
centra sus esfuerzos en mejorar la practica del proceso del Software. En 1991 consiguieron
estabilizar la primera versión del CMM. Desde entonces este modelo se ha empleado en
organizaciones tales como el Departamento de Defensa de los EEUU, sedes que necesitaban
controlar de manera exhaustiva el proceso de producción de software.
El CMM es una forma de comprender la propia gestión de procesos dentro de la
organización. Es cierto que el CMM evalúa a la organización ya que para mejorar es preciso,
antes, evaluar. Pero no podemos cometer el error de reducir el CMM a una mera lista de
comprobación, el CMM es mucho más que eso, es una "institucionalización" del proceso para
construir software con el objetivo de conseguir una mejora continua.
A la hora de aplicar el CMM debemos tener claro una serie de aspectos sobre la
organización, dichos aspectos son:
1. El tamaño de la organización.
2. Su nivel cultural.
3. Las tecnologías que emplea.
Conociendo estos tres puntos podemos acometer el conocimiento de los objetivos de
la organización. Posteriormente deberemos decidir como vamos a medir.
El CMM establece 5 posibles niveles de madurez en los que puede encontrarse una
organización:
a) Nivel 1: El más básico.
b) Nivel 2 (el proceso repetible).
c) Nivel 3 (el proceso definido).
d) Nivel 4 (el proceso gestionado).
e) Nivel 5 (el proceso de optimización).
Nadie puede obtener el significado exclusive del CMM. El CMM no aporta una medida
absoluta, no existe un nivel de 2'5, todos los resultados deben ser interpretados, mejor así ya
que el CMM es flexible para adaptarse en su utilización a las peculiaridades de cada
organización. Debido a este punto, el conocimiento del Modelo por parte de quien lo aplica se
hace aún más importante.
Nos queda ahora abordar en profundidad el proceso del CMM, para ello debemos tener
en cuenta las siguientes definiciones [Paulk 1994]:
a) Institucionalizar: Edificar una infraestructura y una cultura que soporte los métodos,
las prácticas y los procesos para que éstos sean la forma real de hacer negocios.
Será fundamental conocer cual es el grado de conocimientos de todos sus
trabajadores, así como el esquema cultural y social en que se ubica la empresa.
b) Proceso de Software: Conjunto de actividades, métodos, prácticas y
transformaciones para desarrollar y mantener software y productos asociados.
c) Capacidad de un proceso: Rango de resultados esperados que se pueden obtener
tras seguir un proceso.
d) Madurez de un proceso de software: Es el punto hasta el que un determinado
proceso está explícitamente definido, administrado, medido, controlado y ejecutado
de manera efectiva.
e) Nivel de madurez: Plataforma bien definida desde la que podemos obtener un
proceso maduro de software.
f) Procedimiento documentado: La actividad o procedimiento es un proceso rutinario
y que ha sido codificado.
DESCRIPCIÓN
DEL MODELO CMMI
Aspectos claves
Los aspectos claves del modelo son, por un lado, la clasificación
de las organizaciones en maduras e inmaduras y, luego, la prescripción del
camino a seguir por una organización inmadura para evolucionar y convertirse en
una organización madura.
El modelo entiende por organización inmadura
aquella que lleva adelante sus proyectos sin una definición previa de los
procesos a seguir. Estos proyectos frecuentemente sobrepasan sus presupuestos y
tiempos de terminación debido a que son iniciados con estimaciones poco
realistas, sin una planificación adecuada, y son llevados adelante sin ningún
tipo de gestión. En general estos proyectos no terminan o terminan con una
disminución importante en la calidad esperada del producto.
Por organizaciones maduras el modelo entiende
a aquellas que desarrollan sus proyectos en forma planeada. El logro de los
objetivos del proyecto es asignado al cumplimiento de las reglas
preestablecidas. Los presupuestos asignados y el tiempo previsto son los
necesarios porque se parte de estimaciones metódicas y basadas en datos de
proyectos previos, con roles y responsabilidades bien definidos.
Para que una organización se convierta en madura debe evolucionar
con el tiempo alcanzando sucesivos niveles de madurez.
El modelo CMM identifica los siguientes niveles de madurez:
- Nivel
de Madurez 1 - Inicial – ausencia total de procesos definidos.
- Nivel
de Madurez 2 - Repetible – procesos de administración
establecidos para lograr el seguimiento de los costos, tareas y
funcionalidad. La disciplina está dada por la repetición en proyectos con
aplicaciones similares.
- Nivel
de Madurez 3 - Definido – Además de las definiciones del nivel
anterior, son incorporadas actividades de administración de ingeniería en
forma documentada, estandarizada e integradas en una familia de procesos
normalizados de la organización. Los proyectos utilizan una versión
adaptada de esas normas para su desarrollo.
- Nivel
de Madurez 4 - Administrado – se llevan adelante los proyectos en
forma controlada con métricas que permiten mediciones confiables de los
procesos y productos.
- Nivel
de Madurez 5 - Optimizado – incluye la mejora continua de procesos
a partir de la comparación y análisis de mediciones sucesivas de los
proyectos.
El modelo
CMMI incorpora al modelo por niveles de madurez de las organizaciones una vista
de niveles de capacidad por área de procesos. La misma está orientada a incluir
los casos en los cuales las organizaciones necesitan una capacidad diferenciada
por área de proceso debido a los objetivos de sus negocios. Además, este modelo
enfatiza a lo largo de sus definiciones la relación de cada una de sus áreas de
proceso con los objetivos de negocio mencionados.
Estos niveles de capacidad son caracterizados genéricamente de la
siguiente manera:
- Nivel
de Capacidad 0 – Incompleto: área de proceso sin objetivos.
- Nivel
de Capacidad 1 – Ejecutada: objetivos específicos del área de
proceso son satisfechos.
- Nivel
de Capacidad 2 – Administrada: área de proceso institucionalizada a
partir de una política organizacional de uso de los procesos.
- Nivel
de Capacidad 3 – Definida: área de proceso institucionalizada a
partir de un proceso definido.
- Nivel
de Capacidad 4 – Cuantitativamente Administrada: área de
proceso institucionalizada a partir de una política organizacional de la
administración cuantitativa de procesos.
- Nivel
de Capacidad 5 – Optimizada: área de proceso institucionalizada a
partir de la optimización de sus procesos.
En el modelo CMMI las áreas de
proceso son clasificadas en las siguientes categorías:
a.
Process
Management
b.
Project Management
c.
Engineering
d.
Support
Implementación
La implementación de un proceso
de mejoras según el modelo CMMI está compuesto de las siguientes fases:
- Inicio, en esta fase
se relevan los procesos, tareas, actividades y activos con que cuenta la
organización, así como las políticas generadas por la conducción de la
organización. El método que CMMI propone para la realización de
este relevamiento es SCAMPI (Standard CMMI Assessment Method for Process
Improvement). Consiste de un conjunto estructurado de actividades tales
como entrevistas, revisión de documentos, presentaciones y análisis de
respuestas a cuestionarios. El resultado de esto es la obtención de las
fortalezas y debilidades, sobre las cuales se elaborará el Plan de
Mejoras. El objetivo de esta fase es determinar las fortalezas,
debilidades y oportunidades de mejora de la organización. Todo esto
conducido por los objetivos de negocio de la organización.
- Diseño, basados en las
debilidades y fortalezas encontradas en el SCAMPI se elabora el Process
Improvement Plan (PI Plan) y los Action Plan (PAs).
- Piloto, de acuerdo a
los objetivos planteados en cada PATs (Process Action Team) y al producto
resultante de su trabajo (proceso, tarea, actividad, estándares), se
capacita a los miembros del grupo del proyecto piloto y se prueba las
prácticas correspondientes.
- Implementación, en esta fase
se extiende al resto de la organización las prácticas llevadas adelante en
todos y cada uno de los proyectos piloto.
Implementar un programa de mejora
requiere de la cooperación y coordinación de todos los niveles de gerencia y
subordinados.
El
CMM se centra en los tres principales aspectos que influyen en una
organización:
a)
Las personas: Se trata
por disciplinas como el desarrollo organizativo, gestión de los RRHH y la Gestión
de la Calidad Total (TQM).
b)
La tecnología: La
tecnología cambia a su propio ritmo a lo largo del tiempo, se puede adquirir.
c)
El proceso: Pero,
¿cómo se gestiona el proceso y cómo se mejora?, ¿se puede comprar? La gestión
del proceso se puede aprender e institucionalizar, aquí es donde entra el CMM.
La
complejidad aparente del CMM se simplifica en cuatro conceptos base:
-
La evolución es posible pero lleva tiempo.
-
Hay etapas distinguibles en la madurez del proceso.
-
La evolución implica que algunas cosas deben ser aplicadas antes que otras.
-
La madurez disminuirá al menos que se mantenga. "Los cambios duraderos requieren un esfuerzo constante".
Para
cambiar el proceso del software debemos gestionar las influencias y gestionar
las mejoras sistemáticas.
El
cambio puede empezar a aplicarse a través del ciclo de Deming: Planificar,
Hacer, Verificar y Actuar. Adaptado a nuestra situación, Iniciar es acordar el
motivo y la estrategia para el cambio. Diagnosticar es acordar qué cambiar,
posteriormente debemos Establecer la infraestructura (equipos y planes), Actuar
(llevar a cabo los planes) e Institucionalizar (capturar y reutilizar las
lecciones aprendidas).
Al
aplicar el modelo CMM se han de recorrer varios niveles de madurez, cada uno de
los cuales se compone de una serie de prácticas, las colecciones de prácticas
de software y de gestión específicas de un nivel de madurez se denominan Áreas
Clave de Proceso (KPAs). Cada KPA tiene una serie de prácticas claves a
realizar, algunas de ellas comunes a todos los niveles, en concreto:
-
Compromiso para realizar (Co).
-
Capacidad para realizar (Ab).
-
Actividades realizadas (Ac).
-
Medición y análisis (Me).
-
Verificación de la implementación (Ve).
Hay
que tener en cuenta que todo este proceso generará datos; la existencia de un repositorio
de datos facilita la labor de proyectos futuros y será parte fundamental para la
mejora del proceso dentro de la organización.
Si lo que pretendemos es aplicar el modelo CMM a una
organización de tipo medio y queremos que el CMM sea efectivo, puede ser
necesario depurar y eliminar ciertas acciones o condiciones que para este tipo
de organización puede resultar excesivo y no hará sino saturar de trabajo al
personal sin producir resultados. (Adecuación de los procesos a las distintas
realidades de las organizaciones)
Suscribirse a:
Comentarios (Atom)

