etodos de Desarrollo
Agiles
Rafael Ayerbe Bernal
Trabajo para la asignatura Ingeniera de Requisitos del curso de doctorado 2006/2007
Departamento de Lenguajes y Sistemas Inform
aticos
Universidad de Sevilla. Espa
na
4 de junio de 2007
Resumen
1.
Los metodos agiles son adaptativos mas que predictivos. Con los metodos tradicionales, la mayor
parte del desarrollo software se planifica en detalle para un largo periodo de tiempo. Esto funciona bien si no hay muchos cambios, y si el equipo
de desarrollo comprende bien el dominio de la
aplicacion y la tecnologa. Los metodos agiles se
desarrollaron para adaptarse y prosperar en entornos de cambio frecuente.
Introducci
on
Los metodos agiles estan orientados a las personas, mas que a los procesos. Confan en la experiencia, competencia y colaboracion de la gente,
mas que en los rigurosos procesos centrados en
los documentos, para producir software de calidad.
El n
ucleo del desarrollo de software
agil es construir caractersticas del sistema increment
almente en
un entorno colaborativo. Los metodos
agiles se construyen alrededor de un principio clave: se continua
aprendiendo acerca del sistema y su entorno durante
el proyecto. Los metodos
agiles evolucionan iterativa
Cuando nos movemos a un ciclo de vida iteratiy conjuntamente los requisitos y el sistema en desa- vo, perdemos las fases tradicionales de los metodos
1
en cascada: an
alisis, dise
no, codificaci
on y pruebas.
Estas actividades ahora se ejecutan en paralelo. Esto tiene un impacto en como se organiza un proyecto
software. Mas que crear equipos de especialistas dedicados a las fases en cascada, tiene m
as sentido formar
un equipo multi-funcional juntando gente del negocio
y gente tecnica, cuya tarea va a ser dar forma e implementar el sistema software juntos.
Cuando el equipo de trabajo trabaja en el analisis y
el desarrollo del sistema en paralelo, se crea una oportunidad de trabajar en los requisitos de una forma
diferente. Especficamente, esto nos permite el poder
considerar otros canales de comunicaci
on para abrir
un dialogo. Los equipos
agiles usan lo conversacion
como metodo preferido para comunicar los requisitos
Implicaci
on de los usuarios. Un punto clave en
los metodos agiles es tener a los clientes accesibles y
on-line. Con frecuencia se basan en un representante ideal del cliente, el cual puede responder a todas
las preguntas de los desarrolladores correctamente.
Pero incluso si los requisitos son elicitados en sesiones de grupo (DSDM, Scrum) no se garantiza que
los usuarios con todo el conocimiento necesario esten
presentes. Las tecnicas de IR tradicionales tienen una
idea de los clientes menos idealizada. Estas intentan
capturar todo el conocimiento que sea posible de todas las partes implicadas y resolver los conflictos, suponiendo que los clientes que participan no tienen el
conocimiento global del problema.
Otra diferencia importante es que el los metodos
tradicionales el cliente se implica principalmente en
las primeras fases del desarrollo, mientras que en los
metodos agiles, la implicaci
on ocurre a lo largo de
todo el proceso de desarrollo.
Entrevistas. Ya que la involucraci
on del cliente es
el principal objetivo del desarrollo
agil, las entrevistas
son la principal tecnica de IR. Estas proporcionan un
acceso directo y sin filtros al conocimiento. Todos los
metodos agiles coinciden en que hablar con el cliente
es el mejor modo de conseguir la informacion necesaria y evitar los malos entendidos.
La Priorizaci
on se encuentra en todos los metodos agiles. Una pr
actica com
un es implementar primero las caractersticas m
as prioritarias para entregar lo mas valioso para el negocio. Durante el desarrollo, el conocimiento del proyecto se incrementa y
se a
naden nuevos requisitos. Para mantener las prioridades actualizadas, se reprioriza la lista de caractersticas durante todo el proceso de desarrollo.
Las reuniones de an
alisis (JAD) se usan en varios metodos
agiles. El resultado de las sesiones se documenta y est
a accesible para resolver cuestiones que
surjan en el futuro. La documentaci
on de los requisitos suele ser menos rgida en el contexto de los metodos agiles. Para tener una constante retroalimentacion, las reuniones se suelen mantener durante todo
el proceso de desarrollo, lo que facilita la implicacion
de los clientes y la confianza mutua, en clara lnea
con los principios
agiles.
Modelado. El modelado se usa en los metodos
agiles de una forma distinta a en la IR tradicional.
4.
User stories
5.
Conclusiones
Referencias
[1] Varios autores. Manifesto for agile software development. http://www.agilemanifesto.org/, 2001.
[2] J. Botaschanjan, M. Pister, and B. Rumpe.
TESTING AGILE REQUIREMENTS MODELS.
First Hanzhou-Lubeck Conference on Software
Engineering (HL-SE03), pages 7379, 2003.
[3] C. Lee, L. Guadagno, and X. Jia. An Agile Approach to Capturing Requirements and Traceability. Proceedings of 2nd International Workshop
on Traceability in Emerging Forms of Software
Engineering, Montreal, Canada, 7, 2003.
[4] F. Paetsch, A. Eberlein, and F. Maurer. Requirements engineering and agile software development. Enabling Technologies: Infrastructure for
Collaborative Enterprises, 2003. WET ICE 2003.
Proceedings. Twelfth IEEE International Workshops on, pages 308313, 2003.
[5] J.E. Tomayko. Engineering of Unstable Requirements Using Agile Methods. Proceedings of
the International Workshop on Time Constrained
Requirements Engineering at IEEE Joint International Requirements Conference, Essen, Germany, IEEE, 2002.