viernes, 2 de febrero de 2007

Calidad de software con CMMI

El nacimiento de CMM - CMMI

El departamento de defensa de los estados unidos tenía muchos problemas con el software que desarrollaba para otras empresas, los presupuestos se disparaban, las fechas alargaban más y más. ¿Quién no se ha encontrado con este tipo de problemas si ha trabajado con una empresa de software?

Como esta situación les parecía intolerable convocó un comité de expertos para que solucionarán estos problemas, en el año 1983 dicho comité concluyó "Tienen que crear un instituto de la ingeniería del software, dedicado exclusivamente a los problemas del software, y a ayudar al Departamento de Defensa".

Convocaron un concurso público en el que dijeron: "Cualquiera que quiera enviar una solicitud tiene que explicar como van a resolver estos 4 problemas", se presentaron diversos estamentos y la Universidad Carnegie Mellon ganó el concurso en 1985, creando el SEI.

El SEI (Software Engineering Institute) es el instituto que creó y mantiene el modelo de calidad CMM - CMMI


¿Qué es CMMI?

El CMMI (Capability Maturity Model® Integration)es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir software.


Niveles CMMI

Los niveles CMMI son 5:

Nivel 1 CMMI.
Este es el nivel en donde están todas las empresas que no tienen procesos. Los presupuestos se disparan, no es posible entregar el proyecto en fechas, te tienes que quedar durante noches y fines de semana para terminar un proyecto. No hay control sobre el estado del proyecto, el desarrollo del proyecto es completamente opaco, no sabes lo que pasa en él.Es el típico proyecto en el que se da la siguiente situación:

- ¿Cómo va el proyecto?
- Bien, bien.Dos semanas después…
- ¿Cómo va el proyecto?
- Bien, bien.Tres semanas después…
- El lunes hay que entregar el proyecto.
- No se por qué pero los proyectos se entregan los lunes.
- El lunes !!?. Todavía falta mucho!!
- ¿Cómo? Me dijiste que el proyecto iba bien!! Arréglatelas como quieras, pero el proyecto tiene que estar terminado para el lunes.

Si no sabes el tamaño del proyecto y no sabes cuanto llevas hecho, nunca sabrás cuando vas a terminar.

Nivel 2 CMMI.
Quiere decir que el éxito de los resultados obtenidos se pueden repetir. La principal diferencia entre este nivel y el anterior es que el proyecto es gestionado y controlado durante el desarrollo del mismo. El desarrollo no es opaco y se puede saber el estado del proyecto en todo momento.

Los procesos que hay que implantar para alcanzar este nivel son:

-Requirements Management
-Project Monitoring and Control
-Project Planning
-Supplier Agreement Management
-Configuration Management
-Measurement and Analysis
-Process and Product Quality Assurance


Nivel 3 CMMI.
Resumiéndolo mucho, el alcanzar este nivel significa que la forma de desarrollar proyectos (gestión e ingeniería) esta definida, por definida quiere decir que esta establecida, documentada y que existen métricas (obtención de datos objetivos) para la consecución de objetivos concretos.

Los procesos que hay que implantar para alcanzar este nivel son:

-Product Integration
-Requirements Development
-Technical Solution
-Validation
-Verification
-Organizational Process Definition
-Organizational Process Focus
-Organizational Training
-Integrated Project Management
-Integrated Supplier Management
-Integrated Teaming
-Risk Management
-Decision Analysis and Resolution
-Organizational Environment for Integration


La mayoría de las empresas que llegan al nivel 3 y paran aquí, ya que es un nivel que proporciona muchos beneficios y no ven la necesidad de ir más allá porque tienen cubiertas la mayoría de sus necesidades.

Nivel 4 CMMI.
Los proyectos usan objetivos medibles para alcanzar las necesidades de los clientes y la organización. Se usan métricas para gestionar la organización.

Los procesos que hay que implantar para alcanzar este nivel son:

-Organizational Process Performance
-Quantitative Project Management

Nivel 5 CMMI.
Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades. Mejoras incrementales e innovadoras de los procesos que mediante métricas son identificadas, evaluadas y puestas en práctica.

Los procesos que hay que implantar para alcanzar este nivel son:

Organizational Innovation and Deployment
Causal Analysis and Resolution

Normalmente las empresas que intentan alcanzar los niveles 4 y 5 lo realizan simultáneamente ya que están muy relacionados.

La implantación de un modelo de estas características es un proceso largo y costoso que puede costar varios años de esfuerzo. Aun así el beneficio obtenido para la empresa es mucho mayor que lo invertido.

Espero esto les haya dado un mejor panorama de lo que es y en que consiste CMMi

jueves, 1 de febrero de 2007

Configuration Management Principles and Practice

Hola como estan aqui les dejo un muy buen libro de CM.


By Anne Mette Jonassen Hass.

Published by Addison Wesley Professional.

Series: The Agile Software Development Series.




Descripción del libro

La administración de la configuración (CM) es una importante, pero descuidado a menudo, la práctica que permite que los reveladores de uso y los encargados de proyecto identifiquen mejor los problemas potenciales, manejar cambios, y seguir el progreso de los proyectos de software.

Una estrategia eficaz del CM que adhiere a la complejidad de la práctica mientras que enjaeza su profundidad-puede ser el punto angular del desarrollo rápido, flexible del software. Sin embargo, los especialistas de CM confían a menudo demasiado en las herramientas comerciales del CM, y no pueden entender el concepto en su totalidad.

Mientras que el CM no es una disciplina fácil, no necesita ser difícil. Los principios y la práctica de administración de la configuración explica los elementos y las ventajas de una estrategia del CM del sonido y demuestra cómo poner esa estrategia en la acción.

Con los ejemplos y las recomendaciones de la configuración dibujados de la experiencia considerable del autor, esta voluntad práctica de la guía ayuda a lectores a manejar y a entregar mejores proyectos.

La cobertura del asunto dominante incluye: CM que incorpora el proceso total del desarrollo relacionar casos de la prueba con los requisitos y el seguimiento, determinación, y divulgación sobre la prueba, cambios del producto que remontan la aplicando del CM en diversos ambientes, incluyendo ágil, iterativo, integrar-producto, y métodos secuenciales del desarrollo empleando en el CM en proyectos grandes y pequeños, para seguridad-crítica, compuestos, las multiplataformas, y los sistemas de desarrollo variantes de manejo de multisitios funciones cruz-de organización que sirven con diversas herramientas del CM que integran el mejoramiento de procesos de CM una guía comprensiva al estado actual del CM, el texto comienza con una introducción a los principios fundamentales y a las actividades del CM y después ilustra cómo cada uno se puede adaptar a la reunión las necesidades únicas de una organización enfocada al desarrollo de software.

En fin, esta referencia fácil de utilizar dará a organizaciones y a individuos las herramientas que necesitan para asegurar la integridad de sus productos y manejar con eficacia la evolución de sus sistemas.