You are on page 1of 2

METODOLOGIAS DE DESARROLLO DE SOFTWARE

El desarrollo de software no es sin dudas una tarea fácil. Como resultado a este problema ha surgido una alternativa desde hace mucho: la Metodología. Las metodologías imponen un proceso disciplinado sobre el desarrollo de software con el fin de hacerlo más predecible y eficiente. Lo hacen desarrollando un proceso detallado con un fuerte énfasis en planificar inspirado por otras disciplinas de la ingeniería. Las metodologías ingenieriles han estado presentes durante mucho tiempo. No se han distinguido precisamente por ser muy exitosas. Aún menos por su popularidad. La crítica más frecuente a estas metodologías es que son burocráticas. Hay tanto que hacer para seguir la metodología que el ritmo entero del desarrollo se retarda. Hoy en día existen numerosas propuestas metodológicas que inciden en distintas dimensiones del proceso de desarrollo. Un ejemplo de ellas son las propuestas tradicionales centradas específicamente en el control del proceso. Estas han demostrado ser efectivas y necesarias en un gran número de proyectos, sobre todo aquellos proyectos de gran tamaño (respecto a tiempo y recursos). Sin embargo la experiencia ha demostrado que las metodologías tradicionales no ofrecen una buena solución para proyectos donde el entorno es volátil y donde los requisitos no se conocen con exactitud, porque no están pensadas para trabajar con incertidumbre. Aplicar metodologías tradicionales nos obliga a forzar a nuestro cliente a que tome la mayoría de las decisiones al principio. Luego el coste de cambio de una decisión tomada puede llegar a ser muy elevado si aplicamos metodologías tradicionales. Es por ello que varios problemas como los que a continuación mencionamos han sido detectados:  Retrasos en la planificación: llegada la fecha de entregar el software éste no está disponible.  Sistemas deteriorados: el software se ha creado pero después de un par de años el coste de su mantenimiento es tan complicado que definitivamente se abandona su producción.  Tasa de defectos: el software se pone en producción pero los defectos son tantos que nadie lo usa.  Requisitos mal comprendidos: el software no resuelve los requisitos planificados inicialmente.  Cambios de negocio: el problema que resolvía nuestro software ha cambiado y nuestro software no se ha adaptado.  Falsa riqueza: el software hace muchas cosas técnicamente muy interesantes y divertidas, pero no resuelven el problema de nuestro cliente, ni hace que éste gane más dinero.  Cambios de personal: después de unos años de trabajo los programadores comienzan a odiar el proyecto y lo abandonan. Como respuesta a los problemas aplicando metodologías tradicionales surgieron otras metodologías que tratan de adaptarse a la realidad del desarrollo de software. El encanto de estas metodologías ágiles es su reacción ante la burocracia de las metodologías monumentales. Estos nuevos métodos buscan un justo medio entre ningún proceso y demasiado proceso, proporcionando simplemente suficiente proceso para que el esfuerzo valga la pena. El resultado de todo esto es que los métodos ágiles cambian significativamente algunos de los énfasis de los métodos ingenieriles. La diferencia inmediata es que son menos orientados al documento, exigiendo una cantidad más pequeña de documentación para una tarea dada. De

Construcción : Se obtiene la capacidad operacional inicial. herramientas a utilizar y notaciones que se usarán. ya que pretende prever todo de antemano. técnicas. mostrando versiones parcialmente funcionales del software al cliente en intervalos cortos de tiempo. que ha dado lugar a que exista una gran variedad de metodologías para la creación del software. Se podrían clasificar en dos grandes grupos:  Las metodologías orientadas al control de los procesos . se centran en la definición detallada de los procesos y tareas a realizar. Este tipo de metodologías son mas eficaces y necesarias cuanto mayor es el proyecto que se pretende realizar respecto a tiempo y recursos que son necesarios emplear. METODOLOGIAS PESADAS Son las más tradicionales. Una de las metodologías pesadas más conocidas y utilizadas es la Metodología RUP (Rational Unified Process) que divide el desarrollo en 4 fases que definen su ciclo de vida: .Transmisión : Obtener el producto acabado y definido.Elaboración : Etapa en la que se determina la arquitectura óptima del proyecto. . herramientas a utilizar. estableciendo rigurosamente las actividades a desarrollar. . Estas metodologías son llamadas Metodologías Pesadas. herramientas y soporte documental a la hora de desarrollar un producto software.  Las metodologías orientadas a la interactuación con el cliente y el desarrollo incremental del software. para que pueda evaluar y sugerir cambios en el producto según se va desarrollando. . Dichas metodologías pretenden guiar a los desarrolladores al crear un nuevo software. Estas son llamadas Metodologías ligeras/ágiles. donde una gran organización es requerida. . y requiere una extensa documentación. Las Metodologías de Desarrollo de Software surgen ante la necesidad de utilizar una serie de procedimientos. pero los requisitos de un software a otro son tan variados y cambiantes.Inicio : El objetivo es determinar la visión del proyecto y definir lo que se desea realizar.muchas maneras son más bien orientados al código: siguiendo un camino que dice que la parte importante de la documentación es el código fuente.