Está en la página 1de 6

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de

la Industria Colombiana de Software


Hugo F. Arboleda Jimnez. MSc.
Docente-Investigador, Facultad de Ingenieras, Universidad de San Buenaventura Cali.
Magster Ingeniera de Sistemas y Computacin, Universidad de los Andes, 2002.
Ingeniero de Sistemas Universidad del Valle, 1999.

1 INTRODUCCIN
La evolucin de la disciplina de ingeniera de software ha trado consigo propuestas diferentes para mejorar
los resultados del proceso de construccin. Las metodologas tradicionales haciendo nfasis en la planeacin,
y las metodologas giles haciendo nfasis en la adaptabilidad del proceso, delinean las principales propuestas
presentes en la literatura. De manera paralela, el tema de modelos para el mejoramiento de los procesos de
desarrollo ocupa un lugar importante en la bsqueda de la metodologa adecuada para producir software de
calidad en cualquier contexto de desarrollo. De una u otra forma, las caractersticas de los proyectos de
software hacen necesario seguir prcticas especficas para optimizar los resultados de los desarrollos. Este
artculo presenta en contexto las generalidades del estado actual de evolucin de los modelos de ciclo de vida
de desarrollo de software. Luego, se hace una reflexin de la importancia de las caractersticas de cada
proyecto al momento de escoger el modelo de desarrollo a seguir. La clasificacin de los proyectos de
software de acuerdo a sus caractersticas especficas, es til para enmarcar contextos de desarrollo para los
cuales prcticas particulares de proceso resulten en mayor probabilidad de xito. De igual forma, la
adaptabilidad de los modelos propuestos de acuerdo al contexto enmarcado, y a las mtricas mantenidas,
ayudan a mejorar la calidad de los productos de software desarrollados.

2 MODELOS DE DESARROLLO DE SOFTWARE


2.1 Metodologas tradicionales
Las metodologas tradicionales se caracterizan por exponer procesos basados en planeacin exhaustiva.
Esta planeacin se realiza esperando que el resultado de cada proceso sea determinstico y predecible. La
experiencia ha mostrado que, como consecuencia de las caractersticas del software, los resultados de los
procesos no son siempre predecibles y sobre todo, es difcil predecir desde el comienzo del proyecto cada

resultado. Sin embargo, es posible por medio de la recoleccin y estudio de mtricas de desarrollo lograr
realizar estimaciones acertadas en contextos de desarrollo repetibles.
Remontndose a la historia, el modelo de cascada fue uno de los primeros modelos de ciclo de vida (MCV)
que formaliz un conjunto de procesos de desarrollo de software. Este MCV describe un orden secuencial en
la ejecucin de los procesos asociados. El modelo espiral se postul como una alternativa al modelo de
cascada. La ventaja de este modelo radica en el perfeccionamiento de las soluciones encontradas con cada
ciclo de desarrollo, en trminos de dar respuesta a los requerimientos inicialmente analizados. El modelo de
cascada y el modelo espiral suponen, de manera general, que los requerimientos del cliente no cambian
radicalmente en el transcurso del desarrollo del sistema.
Por otro lado, la realizacin de prototipos es una herramienta en la que se apoyan diferentes MCV. Un
prototipo debe tener el objetivo de mostrar al cliente o a la gerencia del proyecto el resultado que se obtendr
de la implementacin de cada uno de los requerimientos del cliente una vez terminado el desarrollo. Con los
prototipos se tiene la posibilidad de obtener retroalimentacin de manera temprana.
La solucin a algunos de los problemas presentados por las metodologas tradicionales se logra con una
gran evolucin del modelo espiral. El proceso unificado propone la elaboracin de varios ciclos de desarrollo,
donde cada uno finaliza con la entrega al cliente de un producto terminado. Este se enmarca entre los
conocidos modelos iterativo-incremental.
2.2 Metodologas giles
Grupos de desarrollo han experimentado soluciones que basan su fundamento en la adaptabilidad de los
procesos de desarrollo, en lugar de seguir esperando lograr resultados predecibles de un proceso que no
evoluciona. Esta comunidad de desarrolladores e investigadores han nombrado su trabajo bajo lo que
conocemos como metodologas giles. Las metodologas giles como puede entenderse mal, no estn en
contra de administrar procesos de desarrollo. Por el contrario promueve la formalizacin de procesos
adaptables.
La compilacin de los principios y valores que resaltan las metodologas giles fue formalizada en el
manifiesto para el desarrollo de software gil. Este documento desarrollado por los representantes de cada una
de las metodologas que en el momento se presentaban como giles, logra resumir en un conjunto de ideas las
prcticas que una metodologa de este estilo debe llevar a cabo. Como caracterstica fundamental, la habilidad
de responder al cambio es la principal caracterstica de las metodologas giles.
XP, una de las ms difundidas, es una metodologa de desarrollo de software gil que define pocas reglas y
pocas prcticas. XP promueve la adaptabilidad de los procesos de desarrollo basndose en los principios y
prcticas que presenta. Quienes trabajan usando XP deben seguir procesos disciplinados, pero ms que eso,
deben combinar la disciplina con la adaptabilidad necesaria del proceso.

Las metodologas de Cristal se basan en el principio de que tipos diferentes de proyectos requieren tipos
diferentes de metodologas. La metodologa escogida debe depender de dos factores: el nmero de personas
en el proyecto, y las consecuencias de los errores. Conforme al principio de las metodologas giles, Scrum
recalca la imposibilidad de encontrar procesos definidos y repetibles cuando no existen problemas, personas,
ni ambientes definidos y repetibles.
2.3 Metodologas giles o metodologas tradicionales?
En las metodologas tradicionales el principal problema es que nunca se logra planear bien el esfuerzo
requerido para seguir la metodologa. Pero entonces, si logramos definir mtricas que apoyen la estimacin de
las actividades de desarrollo, muchas prcticas de metodologas tradicionales podran ser apropiadas. El no
poder predecir siempre los resultados de cada proceso no significa que estamos frente a una disciplina de azar.
Lo que significa es que estamos frente a la necesidad de adaptacin de los procesos de desarrollo que son
llevados por parte de los equipos que desarrollan software.
Tener metodologas diferentes para aplicar de acuerdo con el proyecto que se desarrolle resulta una idea
interesante. Estas metodologas pueden involucrar prcticas tanto de metodologas giles como de
metodologas tradicionales. De esta manera podramos tener una metodologa por cada proyecto, la
problemtica sera definir cada una de las prcticas, y en el momento preciso definir parmetros para saber
cual usar.
Es importante tener en cuenta que el uso de un mtodo gil no es para todos. Sin embargo, una de las
principales ventajas de los mtodos giles es su peso inicialmente ligero y por eso las personas que no estn
acostumbradas a seguir procesos encuentran estas metodologas bastante agradables.

3 MODELOS DE DESARROLLO EN LA INDUSTRIA DEL SOFTWARE COLOMBIANO


Los primeros desarrollos de software en Colombia iniciaron de manera artesanal. Incrementalmente, y con
la llegada de nuevas tecnologa, plataformas de desarrollo, y programas de formacin superior bien
estructurados, se inici un proceso de mejoramiento de procesos entre los que se incluye el tema de la
planeacin y seguimiento de los proyectos de software.
El modelo de cascada fue en ese entonces, y tal vez lo sigue siendo, el modelo ms usado por los
desarrolladores de software que recin constituyen sus empresas de desarrollo. Modelos de desarrollo sin alto
nivel de complejidad como el espiral, o el orientado a prototipos, siguen siendo los ms usados. Sin embargo,
estos modelos siguen siendo interpretados en algunos casos de manera errnea. Es el caso de equipos de
desarrollo que por tener ciclos de desarrollo iterativo y/o incremental, aseguran seguir un modelo espiral, sin
realizar un anlisis de riesgo bien soportado. Igual pasa con el uso de los prototipos. Estos se usan como

herramienta de avance, sin hacer entender al cliente el objetivo de validacin de requerimientos, y/o
especificacin de borradores de interfaz. Un problema paralelo radica en que muchos de los ingenieros de
desarrollo de software no tienen claro qu modelo de desarrollo siguen al interior de sus equipos. As,
problemas normales adjuntos a un modelo de ciclo de vida de desarrollo los toman por sorpresa, pudiendo
ser evitados haciendo un anlisis del modelo adecuado para el proyecto particular
Uno de los temas ms abordados en la industria del software Colombiano es el tema de planeacin y
seguimiento de proyectos. Con este tema viene adjunto el tema de la definicin de modelos de ciclo de vida
de desarrollo. Sin embargo, normalmente el tema se ha abordado desde una perspectiva tradicional de
planeacin de proyectos, sin hacer nfasis en las caractersticas propias de los proyectos de software. Es por
esta razn que los modelos de desarrollo siguen esquemas tradicionales, con poco o ningn nfasis en la
adaptacin al cambio y la estimacin basada en datos histricos de desarrollo. Gran parte de las empresas de
software que tienen esquemas de oficinas de proyectos, o usan metodologas de planeacin guiadas por el
Instituto de Gerencia de Proyectos de Estados Unidos (PMI) siguen esquemas tradicionales donde los
procesos de soporte de desarrollo de software son poco tomados en cuenta, generalmente por lo poco
entendidos. Es el caso de la Administracin de Requerimientos. De igual forma, aunque los planes del
proyecto sean administrados, en muchas ocasiones no son impactados frente a los cambios que surgen en el
desarrollo del da a da. As, parte de la solucin no est en la bsqueda de realizar planes perfectos de
desarrollo, sino en la bsqueda de estrategias que permitan realizar ajustes a los planes definidos desde el
inicio. En eso hacen nfasis las metodologas giles.

4 CAL ES EL CAMINO A SEGUIR?


Antes de definir el modelo de ciclo de vida de desarrollo a seguir en una iteracin de un proyecto dentro de
una empresa en el contexto colombiano, se debe entender los fundamentos bsicos, con pros y contras, de
seguir un modelo determinado. Esto incluye como primera medida, realizar un estudio de las prcticas que se
van a poner en ejecucin dentro de un proyecto. Los modelos hbridos (tradicionales y giles) deben ser
estructurados teniendo en cuenta las caractersticas propias del proyecto. Esto incluye las propias
caractersticas del contexto colombiano. Un modelo de ciclo de vida exitoso en un contexto, no
necesariamente lo es en otro contexto. Por ejemplo, ante el surgimiento de los Parques Tecnolgicos que
incluyen empresas de desarrollo de software, se debe tomar en cuenta las caractersticas propias del contexto
de un grupo de jvenes emprendedores sin altos recursos para realizar inversin, con necesidad de poner en el
mercado en relativo poco tiempo un software altamente funcional de excelente calidad.
Un conjunto de preguntas que surgen ante la necesidad de redefinir el modelo de desarrollo que un equipo
sigue en un momento determinado, con el fin de mejorar los resultados en trminos de un conjunto de

atributos como pueden ser la calidad del software y la precisin de los planes realizados, podran ser las
siguientes:
1. Cmo evaluar mis proceso de desarrollo?
2. Cmo identificar el conjunto de caractersticas que rodean mis desarrollos, e impactan de manera
significativa los resultados de mi equipo?
3. Cmo identificar el conjunto de prcticas adecuadas para incluir en un nuevo modelo de ciclo de vida
de desarrollo?
La respuesta a estas preguntas se enmarca en el tema de Mejoramiento de Procesos de Software (SPI). En
este tema se encuentra por ejemplo la propuesta realizada por el Instituto de Ingeniera de Software con su
trabajo sobre IDEAL y CMMI. Sin embargo, al igual que para los procesos de desarrollo, las prcticas
requeridas para mejorar un proceso de software dependen altamente del contexto donde se mejoran los
procesos. Por ejemplo, no es igual mejorar los procesos al interior de equipos con alta rotacin, y gran
nmero de participantes, que mejorarlos en un equipo pequeo y estable. Para el caso del contexto
colombiano, tomando como objetivo las pequeas y medianas empresas, una buena estrategia es evaluar los
procesos frente a un marco de referencia como puede ser CMMI en cada una de sus reas de proceso.
Luego de tener una evaluacin inicial del estado actual de los procesos, y definir lo que se puede llamar una
lnea base de procesos, se debe realizar un plan de mejoramiento basado en las caractersticas del equipo de
desarrollo. Un buen ejercicio para identificar estas caractersticas es realizar un rbol de problemas como el
presentado en la figura 1. Por medio de este tipo de esquemas, se pueden identificar caractersticas que de
alguna manera no se tomaban en cuenta.
Fuga
de
conocimiento

Incremento de
documentacin
para soportar
rotacin

Adaptacin
continua
de
equipo
al Incremento del costo en
comunicacin
proceso
Fuga
de
conocimiento

Bajo nivel de
productividad

No existencia de
livianos
Alta rotacin procesos
para
adaptar
del equipo
Desmotivacin

Oportunidades del
mercado

Jerarquas impuestas
Figura 1. rbol de problemas para la identificacin de caractersticas propias de un contexto.

Finalmente, para identificar las prcticas precisas que se deben incluir en el nuevo modelo de desarrollo, se
debe tener en cuenta el marco de referencia con el cual se evalu el proceso actual, y las caractersticas
identificadas. As, de manera incremental, se incorporan prcticas en un orden que se defina como prioritario
al interior del equipo para minimizar los impactos negativos de caractersticas del equipo identificadas, en los
proyectos de desarrollo. Algo que siempre se debe tener en cuenta es la definicin de mtricas desde el inicio
de mejoramiento, que permitan medir la mejora una vez impactados los procesos. A estas mtricas se les
conoce como indicadores de gestin del mejoramiento de procesos.

También podría gustarte