Sunteți pe pagina 1din 20

Desarrollo

ágil
CAPITULO 3
Las metodologías ágiles permiten enfrentarse
a desarrollos dinámicos, aportando
flexibilidad con un mínimo impacto
QUE ES LA AGILIDAD?

Un equipo ágil reconoce que el


software es desarrollado por individuos
que trabajan en equipo, y que su
capacidad, su habilidad para
colaborar, es el fundamento para el
éxito del proyecto
Que es un proceso ágil ?
12 principios
Factores humanos
“El desarrollo ágil se centra en los talentos y habilidades de los
individuos, y adapta el proceso a personas y equipos específicos”

El punto clave de esta afirmación es que el proceso se adapta a


las necesidades de las personas y del equipo, no al revés.
Características
◦ Competencia
◦ Enfoque común
◦ Colaboración
◦ Habilidad de tomar decisiones
◦ Capacidad de resolver problemas difusos
◦ Confianza y respeto mutuo
◦ Organización propia
Programación extrema (XP)
5 valores que establecen el fundamento:
◦ Comunicación
◦ Simplicidad
◦ Retroalimentación
◦ Valentía (disciplina)
◦ Respeto
El proceso XP
Utiliza el enfoque orientado a objetos.
◦ Planeación: comienza escuchando, crean una historia posteriormente evaluando y asignan un costo en
semanas de desarrollo. Cliente resume la historia y costos
◦ Diseño: Sigue el principio MS, uso de tarjetas CRC, prototipo SOLUCION EN PUNTO.
◦ Codificación: Desarrollan una serie pruebas unitarias, se dividen en parejas una de ellas se encarga de
los detalles del código mientras la otra se encarga de que cumpla con los requisitos de la historia,
después se la entregará a la pareja encargada de la integración que evaluaran y verificaran los errores.
◦ Prueba: Pruebas universales, prueba de aceptación
XP industrial
Incorpora 6 practicas nuevas diseñadas para garantizar que un proyecto XP funcione con éxito
dentro de corporaciones grandes.
◦ Evaluación de factibilidad. Si existe ambiente apropiado para IXP, participantes adecuados, programa de
calidad distintivo y apoya la mejora continua, la cultura organizacional apoyará los nuevos valores de un
equipo ágil, la comunidad extendida del proyecto estará constituida de modo apropiado.
◦ Comunidad del proyecto. Si existe una justificación adecuada para negocios.
◦ Calificación del proyecto. Personal apropiado para formar un equipo ágil.
◦ Administración orientada a pruebas. Evaluar el estado del proyecto y el avance realizado
◦ Retrospectiva. Que examina “los temas, eventos y lecciones aprendidas”
◦ Aprendizaje continuo. Es una parte vital del proceso de mejora continua, los miembros del equipo XP son
invitados (y tal vez incentivados) a aprender nuevos métodos y técnicas que conduzcan a una calidad más
alta del producto
Debate de la XP
Aspectos que declaran algunos críticos:
◦ Volatilidad de los requerimientos: El cliente es miembro del XP.
◦ Necesidades conflictivas del cliente: Proyectos que tienen mas de un cliente.
◦ Requerimientos se expresan informalmente: Las historias de usuario y las pruebas de aceptación son la
única manifestación explícita de los requerimientos en XP.
◦ Falta de un diseño formal: cuando se construyen sistemas complejos, debe ponerse el énfasis en el
diseño con el objeto de garantizar que la estructura general del software tendrá calidad y que será
susceptible de recibir mantenimiento.
Ingeniería de requerimientos
Como se inicia un proyecto de software?
◦ Tratar de identificar el ritmo y profundidad del mercado (FACTIBILIDAD).
Indagación
- problemas de alcance.
- problemas de entendimiento.
- problemas volátiles. Los requerimientos cambian con el tiempo.
Elaboración
Negociación. Costo, riesgo.
Especificación Conduce a requerimientos presentados en forma consistente y por ello más comprensible.
Validación Analizan la especificación en busca de errores de contenido o de interpretación
Administración de requerimientos Actividades que ayudan al equipo del proyecto a identificar, controlar y
dar seguimiento a los requerimientos y a sus cambios en cualquier momento del desarrollo del proyecto.
Establecer bases
IDENTIFICACION DE LOS PARTICIPANTES

Cualquier persona que se beneficie de forma directa o indirecta del sistema en desarrollo.

RECONOCER MULTIPLES PUNTOS DE VISTA

Debido a que existen muchos participantes distintos, los requerimientos del sistema se explorarán
desde muchos puntos de vista diferentes.

TRABAJAR HACIA LA COLABORACION

El área del ingeniero de requerimientos es identificar las áreas de interés común y las de conflicto.
Hacer las primeras preguntas
El primer conjunto de ellas se centran en el cliente y en otros participantes, en las metas y
beneficios generales. Por ejemplo:
◦ ¿Quién está detrás de la solicitud de este trabajo?
◦ ¿Quién usará la solución?
◦ ¿Cuál será el beneficio económico de una solución exitosa?
◦ ¿Hay otro origen para la solución que se necesita?
Ayudan a identificar a todos los participantes con interés en el software que se va a elaborar.
Las preguntas siguientes permiten entender mejor el problema y hacen que el cliente exprese sus
percepciones respecto de la solución:
• ¿Cuál sería una “buena” salida generada por una solución exitosa?
• ¿Qué problemas resolvería esta solución?
• ¿Puede mostrar (o describir) el ambiente de negocios en el que se usaría la solución?
• ¿Hay aspectos especiales del desempeño o restricciones que afecten el modo en el que se
enfoque la solución?
Las preguntas finales se centran en la eficacia de la actividad de comunicación en sí.
◦ ¿Es usted la persona indicada para responder estas preguntas? ¿Sus respuestas son “oficiales”?
◦ ¿Mis preguntas son relevantes para el problema que se tiene?
◦ ¿Estoy haciendo demasiadas preguntas?
◦ ¿Puede otra persona dar información adicional?
◦ ¿Debería yo preguntarle algo más?
Ayudarán a iniciar la comunicación, que es esencial para una indagación exitosa.
Indagación de requerimientos

La indagación de los requerimientos combina elementos de la solución de problemas,


elaboración, negociación y especificación. A fin de identificar los problemas, y proponer
soluciones.
Despliegue de la función de
calidad
Es una técnica de administración de la calidad que traduce las necesidades del cliente en
requerimientos técnicos para el software. Se identifican tres tipos de requerimientos.
◦ REQUERIMIENTOS NORMALES: Son los objetivos y metas
◦ REQUERIMIENTOS ESPERADOS: Fácil interacción humano/maquina, operación general correcta y
confiable y facilidad de instalar el software.
◦ REQUERIMIENTOS EMOCIONALES: si incluye capacidades inesperadas.
Desarrollo de casos de uso
Interactúan los actores(personas) y el sistema, Una vez identificados los actores, es posible
desarrollar casos de uso, preguntas que debe responder un caso de uso:

• ¿Quién es el actor principal y quién(es) el(los) secundario(s)?

• ¿Cuáles son los objetivos de los actores?

• ¿Qué precondiciones deben existir antes de comenzar la historia?

• ¿Qué tareas o funciones principales son realizadas por el actor?

• ¿Qué excepciones deben considerarse al describir la historia?


• ¿Cuáles variaciones son posibles en la interacción del actor?

• ¿Qué información del sistema adquiere, produce o cambia el actor?

• ¿Tendrá que informar el actor al sistema acerca de cambios en el ambiente externo?

• ¿Qué información desea obtener el actor del sistema?

• ¿Quiere el actor ser informado sobre cambios inesperados?


Ejemplo

S-ar putea să vă placă și