Vous êtes sur la page 1sur 4

SINTESIS

Como sabemos existen diferentes metodologías de desarrollo de software, las mismas que se
utilizan según los requerimientos de producto que se esté realizando. Estas metodologías permiten
seguir un conjunto de pasos que acerquen cada vez más al objetivo de entregar un software
totalmente funcional y a tiempo.

Este tipo de metodología se adapta más a lo que sucede en el mundo real, ya que los
requerimientos en un proyecto nunca son estáticos, a veces el cliente cambia de opinión haciendo
que lo desarrollado hasta ese momento quede obsoleto; en un proceso ágil el equipo debe tomar
estos requerimientos como un adicional y adaptar lo que ya tenía desarrollado para no perder el
trabajo. Este tipo de metodología se adapta más a lo que sucede en el mundo real, ya que los
requerimientos en un proyecto nunca son estáticos, a veces el cliente cambia de opinión haciendo
que lo desarrollado hasta ese momento quede obsoleto; en un proceso ágil el equipo debe tomar
estos requerimientos como un adicional y adaptar lo que ya tenía desarrollado para no perder el
trabajo.

Evolución de la Metodología de Software

Desde que se empezó a trabajar sobre el desarrollo de programas, se siguieron ciertos métodos que
permitían llevar a producir un buen proyecto, estas metodologías aplicadas eran simples, solo se
preocupaban por los procesos mas no por los datos, por lo tanto, los métodos eran desarrollados
hacia los procesos. El modelo de procesos predominaba para los años 60 y consistía en codificar y
corregir (Code-and-Fix), si al terminar se descubría que el diseño era incorrecto, la solución era
desecharlo y volver a empezar, este modelo implementaba el código y luego se pensaba en los
requisitos, diseño, validación y mantenimiento. Los principales problemas del modelo de procesos
son:

 Los arreglos se hacen costosos, después de tantas correcciones el código tenía una mala estructura.
Análisis y Sistemas

 El software no se ajusta a las necesidades del usuario, por lo que es rechazado o su reconstrucción
es muy cara.

 El código es difícil de reparar por su pobre preparación para probar y modificar.

En la década de los setenta empezó a tomar la importancia de los datos, y para solucionar sistemas
complejos empezó el análisis por partes o etapas, se introducen la planeación y administración. El
modelo en cascada surge como respuesta al modelo de procesos, este modelo tiene más disciplina y
se basa en el análisis, diseño, pruebas y mantenimientos. La década de los ochenta es la época
marcada por las metodologías dirigida a datos cuya importancia va tomando cuerpo en las
organizaciones. Se empiezan a estudiar los objetos en sí como unidades de información. Para los años
90 se quiere dar respuesta al entorno siempre cambiante y en rápida evolución en que se han de
desarrollar los programas informáticos, lo cual da lugar a trabajar en ciclos cortos (como mini-
proyectos) que implementan una parte de las funcionalidades, pero sin perder el rumbo general del
proyecto global. Por otra parte, las metodologías de desarrollo comienzan a interesarse no sólo en
lograr que el proyecto sea puesto en funcionamiento sino en minimizar costos durante su desarrollo
y sobre todo durante su mantenimiento. Los nuevos métodos van buscando minimizar riesgos y,
puesto que los errores más perjudiciales se producen en los primeros pasos, se comienza ya desde la
fase más general del estudio por analizar los riesgos que significa seguir con las siguientes fases del
desarrollo.

Las metodologías más utilizadas a nivel mundial en orden cronológico:

Década de los 70s

 Programación Estructurada Jackson desde 1975

Década de los 80s

 Structured Systems Analysis and Design Methodology (SSADM) desde 1980

 Structured Analysis and Design Technique (SADT) desde 1980

 Ingeniería de la Información (IE/IEM) desde 1981

Década de los 90s

 Rapid Application Development (RAD) desde 1991

 Programación Orientada a Objetos (OOP) a lo largo de la década de los 90's

 Virtual Finite State Machine (VFSM) desde 1990s

 Dynamic Systems Development Method desarrollado en UK desde 1995.

 Rational Unified Process (RUP) desde 1999 Año

2000 en Adelante

 Extreme Programming (XP) desde 1999

 Enterprise Unified Process (EUP) extensiones RUP desde 2002

 Constructionist Design Methodology (CDM) desde 2004 por Kristinn R. Thórisson

 Agile Unified Process (AUP) desde 2005 por Scott Ambler

Metodología Tradicional

Las metodologías no ágiles son aquellas que están guiadas por una fuerte planificación durante todo
el proceso de desarrollo; llamadas también metodologías tradicionales o clásicas, donde se realiza
una intensa etapa de análisis y diseño antes de la construcción del sistema. Todas las propuestas
metodológicas antes indicadas pueden considerarse como metodologías tradicionales. Aunque en el
caso particular de RUP, por el especial énfasis que presenta en cuanto a su adaptación a las
condiciones del proyecto (mediante su configuración previa a aplicarse), realizando una
configuración adecuada, podría considerarse Ágil.

Estas metodologías tradicionales imponen una disciplina de trabajo sobre el proceso de desarrollo
del software, con el fin de conseguir un software más eficiente. Para ello, se hace énfasis en la
planificación total de todo el trabajo a realizar y una vez que está todo detallado, comienza el ciclo
de desarrollo del producto software. Se centran especialmente en el control del proceso, mediante
una rigurosa definición de roles, actividades, artefactos, herramientas y notaciones para el modelado
y documentación detallada. Además, las metodologías tradicionales no se adaptan adecuadamente
a los cambios, por lo que no son métodos adecuados cuando se trabaja en un entorno, donde los
requisitos no pueden predecirse o bien pueden variar.

METODOLOGIA AGIL

Un proceso es ágil cuando el desarrollo de software es incremental (entregas pequeñas de software,


con ciclos rápidos), cooperativo (cliente y desarrolladores trabajan juntos constantemente con una
cercana comunicación), sencillo (el método en sí mismo es fácil de aprender y modificar, bien
documentado), y adaptable (permite realizar cambios de último momento). Entre las metodologías
ágiles identificadas son:

 Extreme Programming

 Scrum

 Familia de Metodologías Crystal

 Feature Driven Development

 Proceso Unificado Rational, una configuración ágil

 Dynamic Systems Development Method

 Adaptive Software Development

 Open Source Software Development

CARACTERISTICAS DESEABLESDE UNA METODOLOGIA

 Existencia de reglas predefinidas

 Cobertura total del ciclo de desarrollo

 Verificaciones intermedias
 Planificación y control

 Comunicación efectiva

 Utilización sobre un abanico amplio de proyectos

 Fácil formación

 Herramientas CASE

 Actividades que mejoren el proceso de desarrollo

 Soporte al mantenimiento

 Soporte de la reutilización de software