Está en la página 1de 5

http://www.informatizate.

net Metodologas De Desarrollo De Software


Mara A. Mendoza Sanchez informatizate(at) Ing. Informtico - UNT informatizate(dot)net Microsoft Certified Professional - MCP Junio 7 del 2004. Analsta y Desarrolladora - TeamSoft Per S.A.C.

Qu metodologa debo usar para el desarrollo de un Software? Todos en algn momento nos hemos hecho esta pregunta, cuando hemos tenido que desarrollar un software. Y de hecho esta pregunta se torna muy importante, pues como arquitectos de Software, debemos tener un plano en que apoyarnos. Todo desarrollo de software es riesgoso y difcil de controlar, pero si no llevamos una metodologa de por medio, lo que obtenemos es clientes insatisfechos con el resultado y desarrolladores an ms insatisfechos. Sin embargo, muchas veces no se toma en cuenta el utilizar una metodologa adecuada, sobre todo cuando se trata de proyectos pequeos de dos o tres meses. Lo que se hace con este tipo de proyectos es separar rpidamente el aplicativo en procesos, cada proceso en funciones, y por cada funcin determinar un tiempo aproximado de desarrollo. Cuando los proyectos que se van a desarrollar son de mayor envergadura, ah si toma sentido el basarnos en una metodologa de desarrollo, y empezamos a buscar cual sera la ms apropiada para nuestro caso. Lo cierto es que muchas veces no encontramos la ms adecuada y terminamos por hacer o disear nuestra propia metodologa, algo que por supuesto no esta mal, siempre y cuando cumpla con el objetivo. Muchas veces realizamos el diseo de nuestro software de manera rgida, con los requerimientos que el cliente nos solicit, de tal manera que cuando el cliente en la etapa final (etapa de prueba), solicita un cambio se nos hace muy difcil realizarlo, pues si lo hacemos, altera muchas cosas que no habamos previsto, y es justo ste, uno de los factores que ocasiona un atraso en el proyecto y por tanto la incomodidad del desarrollador por no cumplir con el cambio solicitado y el malestar por parte del cliente por no tomar en cuenta su pedido. Obviamente para evitar estos incidentes debemos haber llegado a un acuerdo formal con el cliente, al inicio del proyecto, de tal manera que cada cambio o modificacin no perjudique al desarrollo del mismo. Por experiencia, muchas veces los usuarios finales, se dan cuenta de las cosas que dejaron de mencionar, recin en la etapa final del proyecto, pese a que se les mostr un prototipo del software en la etapa inicial del proyecto. Los proyectos en problemas son los que salen del presupuesto, tienen importantes retrasos, o simplemente no cumplen con las expectativas del cliente. Para dar una idea de qu metodologa podemos utilizar y cual se adapta ms a nuestro medio, mencionar tres de ellas de las que considero las ms importantes, tal como: RUP, XP y MSF.

Rational Unified Process (RUP) La metodologa RUP, llamada as por sus siglas en Process, divide en 4 fases el desarrollo del software:

ingls Rational Unified

Inicio, El Objetivo en esta etapa es determinar la visin del proyecto. Elaboracin, En esta etapa el objetivo es determinar la arquitectura ptima. Construccin, En esta etapa el objetivo es llevar a obtener la capacidad operacional inicial. Transmisin, El objetivo es llegar a obtener el release del proyecto.

Cada una de estas etapas es desarrollada mediante el ciclo de iteraciones, la cual consiste en reproducir el ciclo de vida en cascada a menor escala. Los Objetivos de una iteracin se establecen en funcin de la evaluacin de las iteraciones precedentes. Vale mencionar que el ciclo de vida que se desarrolla por cada iteracin, es llevada bajo dos disciplinas: Disciplina de Desarrollo

Ingeniera de Negocios: Entendiendo las necesidades del negocio. Requerimientos: automatizado. Trasladando las necesidades los del negocio a un sistema de la

Anlisis y Diseo: Trasladando arquitectura de software.

requerimientos

dentro

Implementacin: Creando software que se ajuste a la arquitectura y que tenga el comportamiento deseado. Pruebas: Asegurndose que el comportamiento requerido es el correcto y que todo los solicitado esta presente.

Disciplina de Soporte

Configuracin y administracin del cambio: Guardando todas las versiones del proyecto. Administrando el proyecto: Administrando horarios y recursos. Ambiente: Administrando el ambiente de desarrollo. Distribucin: Hacer todo lo necesario para la salida del proyecto

Figura 1: Fases e Iteraciones de la Metodologa RUP

Es recomendable que a cada una de estas iteraciones se les clasifique y ordene segn su prioridad, y que cada una se convierte luego en un entregable al cliente. Esto trae como beneficio la retroalimentacin que se tendra en cada entregable o en cada iteracin. Los elementos del RUP son:

Actividades, iteracin. Trabajadores, proceso.

Son

los

procesos hacer las

que

se

llegan o entes

determinar involucrados

en en

cada cada

Vienen

personas

Artefactos, Un artefacto puede ser un documento, un modelo, o un elemento de modelo.

Una particularidad de esta metodologa es que, en cada ciclo de iteracin, se hace exigente el uso de artefactos, siendo por este motivo, una de las metodologas ms importantes para alcanzar un grado de certificacin en el desarrollo del software. Extreme Programing (XP) Es una de las metodologas de desarrollo de software ms exitosas en la actualidad utilizadas para proyectos de corto plazo, corto equipo y cuyo plazo de entrega era ayer. La metodologa consiste en una programacin rpida o extrema, cuya particularidad es tener como parte del equipo, al usuario final, pues es uno de los requisitos para llegar al xito del proyecto.

Figura 2: Metodologa Extreme Programing

Caractersticas de XP, la metodologa se basa en:

Pruebas Unitarias: se basa en las pruebas realizadas a los principales procesos, de tal manera que adelantndonos en algo hacia el futuro, podamos hacer pruebas de las fallas que pudieran ocurrir. Es como si nos adelantramos a obtener los posibles errores. Refabricacin: se basa en la reutilizacin de cdigo, para lo cual se crean patrones o modelos estndares, siendo ms flexible al cambio. Programacin en pares: una particularidad de esta metodologa es que propone la programacin en pares, la cual consiste en que dos desarrolladores participen en un proyecto en una misma estacin de trabajo. Cada miembro lleva a cabo la accin que el otro no est haciendo en ese momento. Es como el chofer y el copiloto: mientras uno conduce, el otro consulta el mapa.

Qu es lo que propone XP?


Empieza en pequeo y aade funcionalidad con retroalimentacin continua El manejo del cambio se convierte en parte sustantiva del proceso El costo del cambio no depende de la fase o etapa No introduce funcionalidades antes que sean necesarias El cliente o el usuario se convierte en miembro del equipo

Derechos del Cliente


Decidir que se implementa Saber el estado real y el progreso del proyecto Aadir, cambiar o quitar requerimientos en cualquier momento Obtener lo mximo de cada semana de trabajo Obtener un sistema funcionando cada 3 o 4 meses

Derechos del Desarrollador


Decidir como se implementan los procesos Crear el sistema con la mejor calidad posible Pedir al cliente en cualquier momento aclaraciones de los requerimientos Estimar el esfuerzo para implementar el sistema Cambiar los requerimientos en base a nuevos descubrimientos

Lo fundamental en este tipo de metodologa es:


La comunicacin, entre los usuarios y los desarrolladores La simplicidad, sistema al desarrollar y codificar los mdulos del

La retroalimentacin, concreta y frecuente desarrollo, el cliente y los usuarios finales

del

equipo

de

Microsoft Solution Framework (MSF) Esta es una metodologa flexible e interrelacionada con una serie de conceptos, modelos y prcticas de uso, que controlan la planificacin, el desarrollo y la gestin de proyectos tecnolgicos. MSF se centra en los modelos de proceso y de equipo dejando en un segundo plano las elecciones tecnolgicas.

Figura 3: Metodologa MSF

MSF tiene las siguientes caractersticas:


Adaptable: es parecido a un comps, usado en cualquier parte como un mapa, del cual su uso es limitado a un especfico lugar. Escalable: puede organizar equipos tan pequeos entre 3 o 4 personas, as como tambin, proyectos que requieren 50 personas a ms. Flexible: es utilizada en el ambiente de desarrollo de cualquier cliente. Tecnologa Agnstica: porque puede ser usada para desarrollar soluciones basadas sobre cualquier tecnologa.

MSF se compone de varios modelos encargados de planificar las diferentes partes implicadas en el desarrollo de un proyecto: Modelo de Arquitectura del Proyecto, Modelo de Equipo, Modelo de Proceso, Modelo de Gestin del Riesgo, Modelo de Diseo de Proceso y finalmente el modelo de Aplicacin.

Copyright 2002-2004 Grupo Informatizate. Reservados todos los derechos. Prohibida la reproduccin total o parcial en cualquier formato sin previa autorizacin. On-line desde el 27 de Noviembre del 2002

También podría gustarte