1. INTRODUCCIÓN
Debido a que los negocios funcionan en un entorno cambiante, a menudo es
prácticamente imposible derivar un conjunto completo de requerimientos de
software estable.
Los procesos de desarrollo del software rápido se diseñan para producir
rápidamente un software útil. El software no se desarrolla con una sola unidad,
sino como una serie de incrementos, y cada uno de ellos incluye una nueva
funcionalidad del sistema.
TEMA
DESARROLLO ÁGIL DEL SOFTWARE
¿QUÉ SON LOS MÉTODOS ÁGILES?
Los métodos agiles son métodos de desarrollo incremental, se crea las
nuevas liberaciones del sistema.
Involucran a los clientes en el proceso de desarrollo para conseguir una
rápida retroalimentación sobre los requerimientos cambiantes
Minimizan la cantidad de documentación con el uso de comunicaciones
informales, en vez de reuniones formales con documentos escritos.
¿DESARROLLO DIRIGIDO POR UN PLAN Y DESARROLLO ÁGIL?
En realidad, es irrelevante el conflicto si un proyecto puede considerarse si es
dirigido por un plan o ágil. Al final de cuentas, la principal inquietud de los
compradores de sistema de software es si cuentan o no con un sistema
ejecutable, que cubra sus necesidades y realice funciones útiles para el usuario
de manera individual o dentro de una organización.
2. En la practica muchas compañías afirman que han usado métodos agiles
adoptando algunas habilidades y las integraron con sus proceso dirigidos por
un plan.
¿QUÉ ES PROGRAMACIÓN EXTREMA?
En la programación extrema, los requerimientos expresan como
escenarios que se implementan directamente como una serie de tareas.
Los programadores trabajan en pares y antes de escribir el código
desarrollan pruebas para cada tarea.
El desarrollo incremental se apoya en pequeñas y frecuentes
liberaciones del sistema.
La inclusión del cliente se apoya a través de un enlace continuo con el
cliente en el equipo de desarrollo.
o Contar con el cliente para el apoyo al desarrollo de las pruebas de
aceptación es a veces un problema en el proceso de pruebas de
la XP. Las personas que adoptan el papel de cliente tiene muy
poco tiempo disponible y es posible que no pueda trabajar a
tiempo completo con el equipo de desarrollo.
o El cliente puede pensar que proporcionar los requerimientos es
contribución suficiente y puede ser reacio a participar en el
proceso de pruebas.
La productividad del desarrollo con programación en parejas parece ser
comparable con la de dos personas trabajando de forma independiente,
la razón para esto es que las parejas discuten sobre el software antes de
empezar el desarrollo, por lo probablemente tenga menos comienzos
falso, que el numero de errores evitados debidos a la inspección informal
es tal que se pasa menos tiempo arreglando errores descubiertos
durante el proceso de pruebas.
3. ¿QUÉ ES ADMINISTRACIÓN DE UN PROYECTO ÁGIL?
La responsabilidad principal de los administradores es dirigir el proyecto,
de modo que el software se entregue a tiempo y con el presupuesto
planeado para ello.
Supervisan el trabajo de los ingenieros de software y monitorizan el
avance en el desarrollo de software.
El enfoque estándar de la administración de proyectos es el basado en
un plan.
El método Scrum es un método ágil que ofrece un marco de referencia
para la administración del proyecto.
Este se centra alrededor de un conjunto de sprints, que son periodos
fijos cuando se desarrolla un incremento en el sistema.
La planeación se basa en priorizar un atraso de trabajo y seleccionar las
tareas de importancia más alta para un sprint.
¿QUÉ ES ESCALAMIENTO DE MÉTODOS ÁGILES?
Los métodos agiles se desarrollan para usarse en sistemas pequeños y
medianos.
Las compañías que desean utilizar métodos agiles necesitan promotores
para alentar el cambio.
Los métodos agiles tienen que adaptarse para enfrentar a la ingeniería
de sistemas grandes.
Es esencial mantener los fundamentos de los métodos agiles:
planeación flexible, liberación frecuente del sistema, integración
continua, desarrollo dirigido por pruebas y buena comunicación del
equipo.
CONCLUSIONES
Los métodos agiles son métodos de desarrollo incremental que se
enfoca en el diseño rápido, liberaciones frecuentes del software,
reducción de gastos en el proceso y producción del código de alta
calidad.
Una fortaleza de la programación extrema es el desarrollo de pruebas
automatizadas, todas las pruebas deben ejecutarse con éxito cuando un
incremento se integre en un sistema.