Sie sind auf Seite 1von 3

Desarrollo ágil de software

En este mundo cambiante, a veces es casi imposible para los clientes predecir de forma clara
los requerimientos de su software, por lo cual los verdaderos requerimientos aparecen solo
cuando el cliente prueba el software terminado, y es posible que incluso se requiera rehacer el
software, por lo cual un modelo en cascada puede requerir mucho más tiempo de lo previsto

Es por eso que hoy en día se usa metodologías agiles donde el software no se desarrolla como
una sola unidad, sino como una serie de incrementos, y cada uno de ellos incluye una nueva
funcionalidad del sistema.

Todo desarrollo de software rápido, debe tener las siguientes características fundamentales:

1. Los procesos de especificación, diseño e implementación están entrelazados


2. El sistema se desarrolla en diferentes versiones.
3. Las interfaces de usuario del sistema se desarrollan usando con frecuencia un sistema
de elaboración interactivo, que permita que el diseño de la interfaz se cree
rápidamente en cuanto se dibujan y colocan iconos en la interfaz (Sommervile, 2011)

Métodos ágiles
En la década de 80 se tenía la creencia de que la mejor forma de desarrollar software debía ser
mediante la planificación del proyecto, uso de métodos de análisis y diseño, sin embargo esta
percepción viene de los desarrolladores de proyectos grandes donde los costos que involucran
la planificación, diseño y documentación estaban justificados ya que se trabajaban con
múltiples equipos de desarrollo (que comúnmente estaban dispersos geográficamente)

Sin embargo este gasto es muy exagerado para proyectos pequeños y medianos, lo cual con
lleva a emplear más tiempo en el diseñar el sistema, que en el desarrollo y las pruebas del
programa

En la década de los 90 el descontento con este método planificado llevo a algunos


desarrolladores a proponer métodos más agiles, dichos métodos permitieron a los
desarrolladores enfocarse más en el software, que en documentación y el diseño, apoyándose
en incrementos para la especificación, desarrollo y entrega del software. Los métodos agiles
tienen la intención de desarrollar el software lo más rápido posible para que el cliente
experimente con el este y pueda entonces proporcionar requerimientos nuevos y variados,
para después adicionarlos en el próximo incremento, además se enfoca en eliminar
documentación que quizás nunca se empre.

Según (Sommervile, 2011) los métodos agiles son efectivos en el desarrollo de los siguientes
tipos de desarrollo de sistemas:

1. Desarrollo de productos para su venta.


2. Diseño de sistemas a la medida dentro de una organización
En la práctica, los principios de los métodos ágiles son a veces difíciles de cumplir:

1. Aunque es atractiva la idea del involucramiento del cliente en el proceso de desarrollo,


su éxito radica en tener un cliente que desee y pueda pasar tiempo con el equipo de
desarrollo.
2. Quizás algunos miembros del equipo no cuenten con la personalidad adecuada para la
participación intensa característica de los métodos ágiles y no podrán interactuar
adecuadamente con los otros integrantes del equipo.
3. Priorizar los cambios sería extremadamente difícil, sobre todo en sistemas donde
existen muchos participantes (y por ende muchas opiniones).
4. Bajo la presión de fechas de entrega, es posible que los miembros del equipo carezcan
de tiempo para realizar las simplificaciones deseables al sistema.
5. Resulta difícil para muchas organizaciones moverse hacia un modelo de trabajo donde
los procesos sean informales y estén definidos por equipos de desarrollo.

Además los métodos ágiles deben apoyarse en contratos, en los cuales el cliente pague por el
tiempo en lugar de hacerlo por un conjunto específico de requerimientos, ya que la
metodologías agiles pueden ser impredecibles.

Se tiene en consideración que la documentación formal describe el sistema, sin embargo


documentación suele estar desactualizada y por ende es imprecisa, por esto algunos
desarrolladores suelen considerar que la falta de documentación en el uso de enfoques agiles
no es un problema.

Sin embargo según las experiencias del autor es también difícil seguir la evolución de un
software (desarrollado con enfoque ágil) sin la debida documentación.

Otro problema es mantener la continuidad de un equipo de desarrollo, ya que al no haber una


documentación formal, es difícil adiestra nuevos desarrolladores.

Desarrollo dirigido por un plan y desarrollo ágil


En un enfoque de desarrollo basado en un plan suele estar separado por diferentes etapas y al
término de cada una se genera una documentación que sirve como entrada a la etapa, sin
embargo en un enfoque ágil, la interacción ocurre a través de las actividades.

Un proceso de software dirigido por un plan soporta el desarrollo y la entrega incrementales.


Además de que un proceso ágil puede generar cierta documentación de diseño

Para decidir sobre el equilibrio entre el enfoque ágil y el enfoque basado en un plan, se deben
considerar ciertas preguntas:

1. ¿Es importante tener una diseño y especificaciones detallado?, de ser así se tiene que
usar un enfoque basado en un plan
2. ¿Es practica una entrega incremental?, de ser así se recomienda el uso de métodos
agiles
3. ¿Qué tan grande es el sistema en desarrollo? , de ser pequeño se recomienda usar
métodos agiles, de lo contrario un enfoque basado en un plan
4. ¿Tipo de sistemas? En caso de ser alguno que demande mucho análisis se recomienda
usar un enfoque basado en un plan
5. ¿tiempo de vida esperado para el sistema?, los sistemas con lapsos de vida
prolongados requieren más documentación de diseño para que los equipos de apoyo
puedan modificarlo más fácilmente.
6. ¿Qué tecnología disponible para apoyar el desarrollo del sistema?, se recomienda usar
métodos agiles por su adaptabilidad
7. ¿organización del equipo?, se requiere documentación para coordinar mejor por lo
cual un enfoque basado en un plan es la voz
8. ¿problemas culturales?, normalmente si se trata de una organización tradicional es
costumbre usar un enfoque basado en un plan , por su documentación
9. ¿calidad de desarrolladores y programadores?, los métodos agiles requieren los
mejores programadores posibles
10. ¿regulación externa?, si un agente tiene que aprobar el proyecto se requerirá de
documentación detallada.

Programación extrema

Das könnte Ihnen auch gefallen