Desarrollo Ágil de Software


En el desarrollo de software , las prácticas ágiles (a veces escrito Agile ) [1] incluyen el descubrimiento de requisitos y la mejora de soluciones a través del esfuerzo colaborativo de equipos autoorganizados y multifuncionales con sus clientes / usuarios finales , [2] adaptativo planificación, desarrollo evolutivo, entrega temprana, mejora continua y respuestas flexibles a los cambios en los requisitos, capacidad y comprensión de los problemas a resolver. [3] [4]

Popularizados en el Manifiesto para el desarrollo ágil de software de 2001 , [5] estos valores y principios se derivaron y sustentan una amplia gama de marcos de desarrollo de software , incluidos Scrum y Kanban . [6] [7]

Si bien hay mucha evidencia anecdótica de que la adopción de prácticas y valores ágiles mejora la eficacia de los profesionales, equipos y organizaciones de software, la evidencia empírica es mixta y difícil de encontrar. [8] [9]

Los métodos de desarrollo de software iterativo e incremental se remontan a 1957, [10] con la gestión de proyectos evolutiva [11] [12] y el desarrollo de software adaptativo [13] que surgieron a principios de la década de 1970. [14]

Durante la década de 1990, una serie de métodos ligeros de desarrollo de software evolucionaron como reacción a los métodos pesados ​​predominantes (a menudo denominados colectivamente como cascada ) que los críticos describieron como excesivamente regulados, planificados y microgestionados . Los métodos ligeros incluyeron: desarrollo rápido de aplicaciones (RAD), desde 1991; [15] [16] el proceso unificado (UP) y el método de desarrollo de sistemas dinámicos (DSDM), ambos de 1994; Scrum , de 1995; Crystal Clear y programación extrema (XP), ambos de 1996; y desarrollo basado en características(FDD), de 1997. Aunque todos estos se originaron antes de la publicación del Manifiesto Ágil , ahora se los conoce colectivamente como métodos ágiles de desarrollo de software. [7] Al mismo tiempo, se estaban produciendo cambios similares en la fabricación [17] [18] y el pensamiento de gestión [ cita requerida ] .

En 2001, diecisiete desarrolladores de software se reunieron en un resort en Snowbird , Utah , para discutir métodos de desarrollo ligeros. Ellos fueron: Kent Beck (Programación extrema), Ward Cunningham (Programación extrema), Dave Thomas (Ruby), Jeff Sutherland (Scrum), Ken Schwaber (Scrum), Jim Highsmith (Desarrollo de software adaptativo), Alistair Cockburn ( Desarrollo impulsado por el comportamiento ), Robert C. Martin ( SÓLIDO ), Mike Beedle (Scrum), Arie van Bennekum , Martin Fowler(OOAD y UML), James Grenning, Andrew Hunt , Ron Jeffries (Programación extrema), Jon Kern , Brian Marick (Ruby, TDD) y Steve Mellor (OOA). Juntos publicaron el Manifiesto para el desarrollo ágil de software . [5]


Programación en pares , una técnica de desarrollo ágil utilizada por XP .
Soporte de ciclo de vida de desarrollo de software [46]
Agile Unified Process (AUP) se basa en Unified Process (un marco de proceso de desarrollo de software iterativo e incremental)
Conferencia Agile Brasil 2014