Ir al contenido principal

CMM Y CMMI

"En Dios confiamos, los demás denme datos"  --Williams Edwards Deming

La gran mayoría de empresas o personas que se dedican al desarrollo de software, no utilizan ningún proceso en el desarrollo del software, algunos confían en sus capacidades tecnológicas o  en sus programadores estrella y se limitan a un simple "vamos o bien" o "estamos atrasados, para controlar el desarrollo de un proyecto, esto no significa que los productos sean malos o que el proyecto este destinado al fracaso,  pero si aumenta la probabilidad que esto ocurra.

A esto se refería Deming, con que necesitamos datos para poder afirmar, que tanto han variado nuestros productos de software o los tiempos de implementacion y para poder aporta estos datos necesitamos procesos, estos procesos, el personal, la tecnología, la empresa tienen que cumplir ciertos parámetros y estándares,  los cuales están normandos por ejemplo por: ISO 9000:1 o ISO 12207 o ISO14.

Entonces ¿por que estandarizar procesos? en el desarrollo de software
 1. La complejidad del software, en un proyecto de software interviene una gran cantidad de personas, los dueños del proyecto, los usuarios, uno o mas programadores, etc. Esto nos lleva a pensar que sin un correcto manejo del proceso, podríamos en algún determinado momento perder el control del mismo y mas aquellas empresas que se  dedican directamente al desarrollo de sistemas que administran varios proyectos pueden perder la estandarización entre cada uno de los proyectos lo cual generaría variabilidad y para Deming falta de calidad


2. El software es parte de los productos o servicios: y por lo tanto el tener  definido un proceso asegura que el producto o servicio cumplirá con los estándares de la empresa y creara satisfacción en los usuarios.
  Que puede provocar el no estandarizar procesos
   Grandes fracasos.
-En el 2004, 71% de los proyectos de software fracasaron.
- Millones de dolares en perdidas
-Millones de usuarios insatisfechos con el software que manejan como su herramienta principal de trabajo.
Las tres principales razones por las que puede fallar  un proceso de software son:
-El personal no se involucra en el control de calidad
-La alta gerencia no ha adquirido  la importancia de un buen proceso.
-Las practicas adquiridas son inadecuadas.
Aumentar la calidad
-Reducir la variación : para Deming calidad significaba que dos productos fueran iguales, en software mantener productos que se hayan desarrollado con los mismos procesos significa disminución en el tiempo de búsqueda de errores y garantizar que el producto tiene muy pocas fallas o que estas pueden ser fácilmente superadas. 

En las organizaciones influyen tres dimensiones
  Las personas: estas cambian a través de su vida, adquieren nuevos conocimientos y emociones lo que provoca rotación en los puestos de trabajo
 Las herramientas: estas  cambian constantemente se dice que cada 10 años hay un salto importante de tecnología.
Los procesos: son los que mantienen unido el sistema y sobre los cuales se debe enfocar el funcionamiento de la organización, a estos se deben adaptar las personas y herramientas ya que estos les indican que y como deben realizar sus funciones.


Modelo de madurez: es una colección estructurada de elementos que describe características  de un proceso efectivo, nos dice que características debe tener un proceso para que se considere efectivo.
CMMes un modelo de evaluación de los procesos dentro de una organización.
Establece un conjunto de practicas o procesos clave
Los procesos se agrupan en áreas clave de proceso KPA
-Las  buenas practicas para cada área de proceso son:
-Definidas en un procedimiento documentado
-Provistas (La organización) de los medios y formación  necesarios
-Ejecutadas de un modo sistemático, universal y uniforme (institucionalizadas)
-Medidas
-Verificadas
Las áreas clave de proceso se agrupan en 5  niveles de madurez:
 5:  Optimizado: los procesos están enfocados a la mejora constante produce innovación
 4:  Administrado: el proceso esta medido y bien controlado, se tienen métricas para cuantificar el estado de alguna tarea y cuanto se espera en recursos para finalizarla se tiene total control de los procesos y se le puede indicar con certeza al cliente  el estado del producto.
  3: Definido:  Se tienen procesos institucionalizados en la organización, la mayoría de las empresas se quedan en este nivel para evitar incurrir en mas gastos ya que es equivalente a una certificación de calidad 
  2: Repetible: Se tiene la experiencia de proyectos anteriores y se pueden repetir las tareas.
  1: Inicial: los resultados son impredecibles 

§El proyecto de integración de CMMI, ha sido creado para regular el problema de utilizar distintos CMM
-SW-CMM, v2
-SECM
-IPD-CMM V0.98

          -SE-CMM
          Y OTROS
La combinación de los modelos en un único marco busca, que este se aplique en la mejora de procesos de toda la empresa
QUE ES CMMI
§Un guía para mejorar procesos y comprobar la capacidad de un grupo al ejecutarlos§Un modelo de madurez – directrices, prácticas y disciplinas basadas en estándares de la industria
§Un marco (checklist) para diagnosticar el estado de la mejora
§Indica QUÉ deben hacer los procesos, no CÓMO deben hacerlo

LO QUE NO ES CMMI
§Una metodología de desarrollo o gestión de proyectos
§NO compite con metodologías ágiles (e.g. XP) u otras metodologías de desarrollo (e.g. RUP)
§NO compite con Scrum, PMBOK, u otras metodologías de gestión de proyectos
§No es un estándar más de procesos, el modelo CMMI está alineado con los objetivos de negocio
§Puede ser complementado con otros modelos de mejora de procesos como SPICE, ITIL, SixSigma, etc

Esto es solo un extracto de lo que es CMM y CMMI de lo cual hay bastante en la web, para mas información aquí hay algunos links recomendados:
§
§Cmmi-overview05.pdf
§http://www.navegapolis.net/index.php?option=com_content&task=view&id=330&Itemid=84



Comentarios

Entradas populares de este blog

DISEÑO AL NIVEL DE COMPONENTES

El diseño a nivel de componentes se presenta a menudo despues que se ha terminado la primera iteracion del diseño arquitectonico. y  el objetivo de esta fase es traducir el diseño en software operaciona. El diseño a nivel de componentes define las estructuras de datos, los algoritmos, las caracteristicas de la interfaz  y los mecanismos de comunicacion asignados a cada componente de software. esta fase permite revisar si los detalles de diseño son correctos y consistentes con las representaciones iniciales de diseño ¿QUE ES UN COMPONENTE? Es un bloque de construccion modular par el software de computo. una parte modular desplegable y reemplazable de un sistema que encapsula implementacion y expone un conjunto de interfaces. desde el punto de vista orientado a objetos un componente es un conjunto de clases ques se interrelacionan entre si. en el contexto convencional de ingenieria de software  un componente es un elemento funcional que incorpora  la logica del procesamiento y

ESTRATEGIAS DE PRUEBAS DE SOFTWARE

La estrategia de pruebas de software proporciona un mapa que describe los pasos que se daran como parte de la prueba indica cuando se planea y cuando se daran dichos pasos ademas cuanto tiempo, esfuerzo y recursos consumiran. un software se prueba para descubrir los errores cometidos, si se realiza sin ningun plan seguramente se desperdiciara tiempo, se dedicara un esfuerzo innecesario y lo que es peor puede que no se detecten los errores. Las pruebas se deben planificar con anticipacion y realizarlas de manera sistematica por lo que es importante tener una plantilla existen diferentes y en general tienen los siguientes pasos. 1. Revisiones tecnicas formales y efectivas 2. Se inicia a nivel de componentes y se trabaja hacia afuera hacia la integracion del sistema 3. Diferentes tecnicas en diferentes momentos 4. las pruebas las dirige el desarrollador 5. la prueba y la depuracion son actividades diferentes, pero la segunda debe incluirse en cualquier estrategia de pruebas. l

AGE OF EMPIRES ERROR INICIALIZAR DIRECT 3D

Instale age of empires 3 pero no me corria me salia un mensaje de error al inicializar posibles causas direct 3d y otras que no me acuerdo la solucion luego de buscar: abrir el archivo mis documentos\my games\Age of empires 3\users\NewProfile.xml en block de notas setting name="optiongrfxres">etting Name="optiongrfxres">1280 x 720 colocar los parametros en la configuarcion que tiene el ordenador en mi caso es wide screen 1280 X 720 Setting Name="optionrefreshrate">75 esta configuracion se mira en inicio > panel de control > apariencia y temas >pantalla lengeta configuarcion > boton opciones avanzadas lengueta adaptador > boton listar modos alli colocas el modo que queres y lo pones en el archivo newProfile.xml