Beruflich Dokumente
Kultur Dokumente
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:
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
Según (Sommervile, 2011) los métodos agiles son efectivos en el desarrollo de los siguientes
tipos de desarrollo de sistemas:
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.
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.
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