Módulo 1 - Lectura 4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

IntroducciónBloque 1Bloque 2Bloque 3Referencias

Modelo IDEAL

Introducción

El modelo IDEAL (Modelo para la Mejora Continua de Procesos) es un modelo


elaborado por el SEI para guiar el inicio, planificación e implementación de
iniciativas de mejora para el proceso de software en las organizaciones.

El modelo IDEAL provee un enfoque disciplinado de ingeniería para la mejora
del proceso de software, focaliza en el gerenciamiento del programa de
mejoras y establece los fundamentos para una estrategia de largo plazo.
(Calidad Software, 2010, http://calidadsw2010.blogspot.com/2010/02/modelo-
ideal.html).

1. Arquitectura del modelo

El modelo IDEAL se compone de cinco fases:

1. Iniciar (Initiating).
2. Diagnosticar (Diagnosing).
3. Establecer (Establishing).
4. Ejecutar (Acting).
5. Aprender (Learning).​​

Iniciar
En esta fase se definen las bases del trabajo a realizar. Deben identificarse las
necesidades de cambio en la organización. El éxito de este proceso dependerá de la
claridad en la identificación y presentación de estas necesidades al cliente.

Una vez consideradas las razones para iniciar el cambio, es necesario establecer las
metas y objetivos del trabajo a realizar. Deben evaluarse la forma en que afectará al
trabajo y los beneficios que se esperan obtener.

Es crítico contar con el apoyo efectivo y el compromiso de la dirección desde que se inicia
el programa. Finalmente, es necesario establecer la estructura organizativa que apoyará el
programa de mejora. Es menester, documentar las responsabilidades y expectativas de
cada grupo.
Diagnosticar
En esta fase debe obtenerse un entendimiento completo del trabajo a realizar. Es
necesario definir el estado actual de la organización y el estado futuro. El resultado que se
obtendrá son recomendaciones que sirven para definir las actividades siguientes del
programa. Estas influyen en las decisiones que debe tomar la gerencia.
Establecer
En esta fase debemos elaborar un plan detallado en el que se identifiquen acciones
específicas, entregables y responsabilidades para el programa de mejoras basado en los
resultados del diagnóstico y en los objetivos que se quieren alcanzar.

En esta fase también se definen las métricas que permitirán medir el progreso alcanzado.
Además, se comienza a definir y capacitar a los grupos técnicos de trabajo que
desarrollarán los
Ejecutar
En esta fase se implementan las acciones planificadas. Se trata de la fase que consume
más tiempo y recursos. Se inicia con la definición de la solución que cubre los objetivos de
la organización.

Esta debe abarcar:

Herramientas.
Procesos.
Habilidades.
Asesorías.
Información.

El proceso se itera hasta obtener una solución satisfactoria que funcione, sin esperar que
sea perfecta. Finalmente, la solución obtenida se comienza a implantar en la organización.
Aprender

Esta fase cierra el ciclo de mejora y su objetivo es garantizar que el próximo


ciclo sea más efectivo. Durante esta se revisa toda la información recolectada
en los pasos anteriores y se evalúan los logros y objetivos alcanzados para
lograr implementar el cambio de manera más efectiva y eficiente en el futuro.
Las lecciones aprendidas deben quedar documentadas.
​(Pérez Escobar, 2009, https://asprotech.blogspot.com/2009/06/ideal.html).

Conceptos de madurez de procesos


“No puedo controlar lo que no puedo medir” (De Marco, 1978).
“Si algo puede ser medido y expresado en números entonces se sabe algo acerca de ello”
(Lord Kelvin Thompson, 1900).
Me parece importante comenzar compartiendo la importancia que las mediciones tienen
en la gestión, control y calidad del producto o servicio a desarrollar. Dentro de nuestra
profesión, la ingeniería de software es la que se encarga de este tema. A título personal, la
defino como: “la disciplina o área de la informática que ofrece métodos y técnicas para
desarrollar y mantener software de calidad”. Esta ingeniería trata con áreas muy diversas
de la informática y de las ciencias de la computación, tales como:

construcción de compiladores,
sistemas operativos, o
desarrollos Intranet/Internet.

De este modo, aborda todas las fases del ciclo de vida del desarrollo de cualquier tipo de
sistemas de información. Es aplicable a infinidad de áreas (negocios, investigación
científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho,
Internet, Intranet, etc.).
Objetivos de la ingeniería de software
En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver
los problemas. La Informática aporta herramientas y procedimientos sobre los que se
apoya la ingeniería de software. Sus objetivos pueden ser resumidos en:

mejorar la calidad de los productos de software.


aumentar la productividad y trabajo de los ingenieros del software;
facilitar el control del proceso de desarrollo de software;
suministrar a los desarrolladores las bases para construir software de alta
calidad en una forma eficiente;
definir una disciplina que garantice la producción y el mantenimiento de
los productos software desarrollados en el plazo fijado y dentro del costo
estimado. (“Ingeniería de Software”, s. f.,
https://www.delfinnetsoftware.com/ingenieria-de-software/).

2. Madurez de procesos

Es importante comenzar explicando un poco qué es el Software Engineering


Institute (SEI) de Estados Unidos. Es un centro de investigación y desarrollo
perteneciente a la Universidad de Carnegie Mellon, fundado y financiado por el
departamento de Defensa de los Estados Unidos.

Su meta es proporcionar a las organizaciones las pautas de actuación
necesarias para obtener mejoras observables en su proceso del software, de
manera que desarrollen productos sin defectos respetando requerimientos,
fechas y costes.

Esto se consigue mediante el cumplimiento de cuatro objetivos:

Acelerar la introducción en las organizaciones de producción de software


de las prácticas y técnicas de ingeniería del software más eficaces y
eficientes, identificando, evaluando y mejorando aquellas que se
consideren útiles.
Mantener a largo plazo la competencia en ingeniería del software y en la
gestión del cambio tecnológico.
Habilitar a organizaciones privadas y públicas, trabajando con ellas, para
que hagan mejoras en sus prácticas de ingeniería del software.
Fomentar la adopción y uso continuo de estándares de excelencia en
prácticas de ingeniería del software. (García Alonso e Hidalgo Marquez,
s. f., http://aniei.org.mx/paginas/uam/CursoAI/CMMI_rep.pdf).

El SEI tiene varias sedes y ofrece gran variedad de servicios a las organizaciones de
desarrollo de software.
En el MODELO DE MADUREZ de la CAPACIDAD del SOFTWARE del SEI
(Software Capability Maturity Model, SW-CMM) se define un conjunto de áreas
claves del proceso, que describen las funciones de ingeniería de software que
deben llevarse a cabo para el desarrollo de las buenas prácticas, agrupadas en
cinco niveles.

Aplicando una serie de métricas, se determina la calidad de cada área clave, lo


que logra una visión precisa del rigor, la eficacia y la eficiencia de la
metodología de desarrollo de una organización productora de software.

Cada una de esas áreas está organizada en secciones denominadas


CARACTERÍSTICAS COMUNES:

• COMPROMISO DE REALIZACIÓN.
• CAPACIDAD PARA LLEVARLA A CABO.
• ACTIVIDADES QUE HAY QUE REALIZAR.
• MEDICIÓN Y ANÁLISIS.
• VERIFICACIÓN DE LA IMPLEMENTACIÓN.

En cada característica común se especifican prácticas claves que son normas,
procedimientos y actividades cuya realización lleva a la consecución de los
objetivos del área. (García Alonso e Hidalgo Marquez, s. f.,
http://aniei.org.mx/paginas/uam/CursoAI/CMMI_rep.pdf).

Asimismo, el SEI define indicadores claves que son aquellas prácticas esenciales o
componentes de prácticas fundamentales que ofrecen una visión mayor de la consecución
de los objetivos de un área imprescindible de proceso.
Áreas claves/áreas de procesos
Los niveles en los que se agrupan las áreas claves son inclusivos, es decir, para alcanzar
uno, es necesario haber alcanzado y poder mantener todos los anteriores. Los niveles que
maneja el SEI son los que se observan en la siguiente figura.
Figura 1: Niveles de las áreas claves
Fuente: Elaboración propia.
Podemos sintetizar cada nivel del siguiente modo.
INICIAL
Se caracteriza por:

una aproximación intuitiva al proceso de desarrollo de software,


definir al éxito como dependiente del esfuerzo individual,
la no definición de procesos metodológicos,
la necesidad de realizar medidas que sirvan para estimar y planificar a futuro.

Generalmente, podemos ver en este nivel que la organización no provee un ambiente


estable para el desarrollo. Cualquier beneficio de una buena práctica de ingeniería de
software se pierde por un planeamiento ineficiente.

Ante una crisis se abandonan los procedimientos planeados. El éxito depende en gran
medida de las habilidades del gerente y de su equipo. Al no tener bien definidas las
actividades, el proceso de desarrollo se asemeja a una caja negra. Los requerimientos
suelen proceder de manera descontrolada (García Alonso e Hidalgo Marquez, s. f.).
REPETIBLE
“La madurez metodológica de la organización permite estimar fiablemente el tamaño
funcional o físico del sistema” (García Alonso e Hidalgo Marquez, s. f.,
http://aniei.org.mx/paginas/uam/CursoAI/CMMI_rep.pdf). También permite llevar el control
de la gestión de recursos, costos y calendario. Se pueden repetir éxitos anteriores en
proyectos de características similares. Las áreas claves de proceso definidas en este
nivel, cuyo estado se puede conocer por diversas métricas, son:
Gestión de requisitos.
Planificación del proyecto de software.
Seguimiento y control de proyectos.
Gestión de la subcontratación de software.
Aseguramiento de la calidad.
Gestión de la configuración de software.

En este nivel se implementan procesos efectivos que son:

Definidos.
Documentados.
Utilizados.
Entrenados.
Medidos.
Reforzados.
Mejorados.

Se cuenta con estándar de los proyectos de software y la organización asegura que serán
respetados. El gerente de proyecto controla los costos, cronograma y funcionalidades; los
problemas de cumplimiento de los compromisos son identificados a medida que surgen
(García Alonso e Hidalgo Marquez, s. f.).
DEFINIDO

Se conoce la forma de construcción del sistema. El proceso de software de las


actividades de gestión e ingeniería se documenta y se estandariza. Las
actividades intermedias están bien definidas y, por lo tanto, se pueden
examinar y medir. Es plausible detectar tempranamente posibles problemas y
aplicar una adecuada gestión de riesgos.

​Las áreas claves definidas para este nivel son:

desarrollo y mejora de los procesos de la organización,


definición de los procesos de la organización,
programa de formación,
gestión integrada de software,
ingeniería de producto de software,
coordinación intergrupos,
revisión conjunta. (García Alonso e Hidalgo Marquez, s. f.,
http://aniei.org.mx/paginas/uam/CursoAI/CMMI_rep.pdf).

La capacidad del proceso de software de una organización en este nivel puede ser
resumida como estándar y consistente, porque tanto la ingeniería de software como las
actividades de administración son estables y repetibles. Esto se basa en el entendimiento
común y organizacional de las actividades, roles y responsabilidades de un proceso de
software definido (García Alonso e Hidalgo Marquez, s. f.).
GESTIONADO

Se suma la gestión a un proceso definido. Se usa realimentación desde las


primeras actividades del proyecto para seleccionar prioridades en las
actividades actuales y conocer cómo se emplean los recursos. Los efectos de
los cambios en una actividad se pueden seguir en otras. Se recopilan medidas
detalladas del proceso de software y de la calidad del producto. En definitiva,
se evalúa la efectividad del proceso. Las áreas claves definidas en este nivel
son dos:

Gestión cuantitativa del proyecto.


Gestión de calidad de software. (García Alonso e Hidalgo Marquez, s. f.,
http://aniei.org.mx/paginas/uam/CursoAI/CMMI_rep.pdf).

En este nivel, la organización establece objetivos de calidad tanto para productos como
para procesos de software. Una base de datos de procesos de software de la organización
se usa para recolectar y analizar los datos disponibles de los procesos de software
definidos de los proyectos.

Estos procesos son implementados con medidas bien definidas y consistentes. A su vez,
estas medidas establecen los fundamentos cuantitativos para evaluar los procesos y
productos de software del proyecto.
OPTIMIZADO

Existe una mejora continua de los procesos. Las medidas de actividades se


usan para mejorar el proceso, eliminando y añadiendo actividades y
reorganizando su estructura como respuesta a los resultados de las medidas.

Las áreas definidas para este nivel son:

prevención de defectos,
gestión de cambios tecnológicos,
gestión de cambios en los procesos. (García Alonso e Hidalgo Marquez,
s. f., http://aniei.org.mx/paginas/uam/CursoAI/CMMI_rep.pdf).

En este nivel toda la organización se concentra en la mejora continua de procesos. La


organización tiene los medios para identificar proactivamente las debilidades y fortalezas
del proceso con el objetivo de prevenir defectos.

Los datos, en la efectividad de los procesos de software, se usan para realizar análisis de
costo/beneficio de nuevas tecnologías y de cambios propuestos a los procesos de
software de la organización.

Durante el desarrollo del proyecto se analizan defectos para determinar su causa. Se


evalúan los procesos para prevenir la recurrencia en tipos de defectos conocidos y esto se
transfiere a toda la organización.

3. Evaluaciones de CMMI

Como vimos, el modelo de madurez de capacidad (CMM) surge como iniciativa del SEI y
propone cinco niveles de madurez, considera que una organización alcanza el nivel
cuando cumple todas las prácticas de ese nivel y de los niveles inferiores.

Los cinco niveles son:

Inicial.
Repetible.
Definido.
Gestionado.
Optimizado.

Las áreas claves tienen una serie de prácticas o procesos claves, conocidas como áreas
claves de procesos (KPA – Key Process Area). Cada área de proceso tiene definidas
buenas prácticas que deben ser:

Definidas.
Provistas.
Ejecutadas.
Medidas.
Verificadas.


Esas características reciben el nombre de características comunes.

CMM es un modelo que, si bien brinda el soporte para madurar el proceso, no asegura
que el producto construido en los proyectos sea el correcto. A medida que el nivel
aumenta, también lo hace la cantidad de documentación. CMM le brinda a las
organizaciones de software una guía de cómo controlar sus procesos para el desarrollo y
mantenimiento de software. Permite evolucionar hacia la cultura de ingeniería de software
y excelencia en la administración.

La forma de lograr estos objetivos es focalizar en un conjunto de actividades y trabajar


fuertemente para que los logros sean continuos y duraderos en el proceso de software. La
mejora continua de procesos está basada en realizar pequeños cambios evolutivos en
lugar de una innovación revolucionaria.

CMM brinda un marco, una forma de organizar pasos para lograr estos objetivos para lo
cual define los cinco niveles de madurez. Estos niveles definen en forma ordenada esta
evolución.
Figura 2: Niveles de madurez
Fuente: Elaboración propia.
El CMM es un modelo descriptivo dado que describe los atributos esenciales que se
esperan para caracterizar a una organización en un nivel de maduración en particular. Por
lo tanto, es un modelo de tipo normativo en el sentido que detalla prácticas que
caracterizan el tipo normal de comportamiento que se espera en los proyectos de gran
escala en una organización. CMM no es prescriptivo, es decir, no dice a la organización
cómo debe mejorar.

El CMM nos dice en qué nivel de maduración se encuentra la organización. Con CMMI
logramos:

previsibilidad del presupuesto,


mejoras en tiempo de entrega,
incrementar productividad,
incrementar el retorno de la inversión,
decremento en el costo de la calidad.

Según el SEI, la utilización de este modelo permite mejoras promedios de costo 34 %,


entregas 50 %, productividad 61 %, calidad 48 %, satisfacción del cliente 14 % y retorno
de la inversión 4:1.

Referencias

Calidad Software [nombre de usuario]. (2010). Modelo IDEAL. Recuperado de


http://calidadsw2010.blogspot.com/2010/02/modelo-ideal.html

García Alonso, G. e Hidalgo Marquez, G. (s. f.). Auditoría Informática. Universidad


Autónoma Metropolitana. Recuperado de
http://aniei.org.mx/paginas/uam/CursoAI/CMMI_rep.pdf

Ingeniería de Software. (s. f.). DelfínNET SOFTWARE. Recuperado de


https://www.delfinnetsoftware.com/ingenieria-de-software/

Pérez Esobar, C. (2009). IDEAL. Recuperado de
https://asprotech.blogspot.com/2009/06/ideal.html

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy