Anzeige

Metodologías ágiles

EIYSC
11. May 2016
Metodologías ágiles
Metodologías ágiles
Metodologías ágiles
Metodologías ágiles
Anzeige
Metodologías ágiles
Metodologías ágiles
Metodologías ágiles
Nächste SlideShare
Los metodos agilesLos metodos agiles
Wird geladen in ... 3
1 von 7
Anzeige

Más contenido relacionado

Anzeige
Anzeige

Metodologías ágiles

  1. METODOLOGÍAS ÁGILES En febrero de 2001, tras una reunión celebrada en Utah-EEUU, nace el término “ágil” aplicado al desarrollo de software. En esta reunión participan un grupo de 17 expertos de la industria del software, incluyendo algunos de los creadores o impulsores de metodologías de software. Su objetivo fue esbozar los valores y principios que deberían permitir a los equipos desarrollar software rápidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto. Se pretendía ofrecer una alternativa a los procesos de desarrollo de software tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que se genera en cada una de las actividades desarrolladas. Tras esta reunión se creó The Agile Alliance3 , una organización, sin ánimo de lucro, dedicada a promover los conceptos relacionados con el desarrollo ágil de software y ayudar a las organizaciones para que adopten dichos conceptos. El punto de partida es fue el Manifiesto Ágil, un documento que resume la filosofía “ágil” Las metodologías ágiles de desarrollo de software son imprescindibles en un mundo en el que las cosas cambian a velocidad de vértigo. Los programadores vivimos preocupados sobre cuáles son las últimas tendencias, que lenguajes o prácticas quedan obsoletos y con la constante espada de Damocles de pensar que lo que estamos desarrollando hoy quizás no sirva para nada mañana. El mundo del desarrollo, para bien o para mal, ha evolucionado desde un modelo en el que se planificaban y estructuraban minuciosamente todas las fases a un modelo en el que el desarrollo debe ser lo más rápido y eficiente posible. Personalmente soy un gran fan de los metodologías ágiles de desarrollo de software, cutos principios están enunciados en este manifiesto.
  2. Estas son los métodos de desarrollo ágil de páginas que dominan el panorama a día de hoy:  SCRUM Scrum es una metodología ágil fantástica para desarrolladores. Consiste en un modelo de asignación de tareas diarias basado en reuniones rápidas y control de la evolución de los procesos. Es muy bueno para llevar un seguimiento de las tareas que se están llevando a cabo y saber en que puntos se ha atascado el equipo. Además la profundidad de las tareas que se asignan en SCRUM tiende a ser incremental, y esto coincide exactamente con el devenir normal de un desarrollo. Es genial para empresas de desarrollo de software orientadas a varios clientes. Los actores que intervienen en esta metodología son: • Propietarios del producto • Usuarios del producto • Scrum master • Equipo de scrum. Crystal Methodologies Se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas en las personas que componen el equipo y
  3. la reducción al máximo del número de artefactos producidos. Han sido desarrolladas por Alistair Cockburn. El desarrollo de software se considera un juego cooperativo de invención ycomunicación, limitado por los recursos a utilizar. El equipo de desarrollo es un factor clave, por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas, así como tener políticas de trabajo en equipo definidas. Estas políticas dependerán del tamaño del equipo, estableciéndose una clasificación por colores, por ejemplo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros). Dynamic Systems Development Method (DSDM) [17]. Define el Marco para desarrollar un proceso de producción de software. Nace en 1994 con el objetivo de crear una metodología RAD unificada. Sus principales características son: es un proceso iterativo e incremental y el equipo de desarrollo y el usuario trabajan juntos. Propone cinco fases: estudio viabilidad, estudio del negocio, modelado funcional, diseño y construcción, y finalmente implementación. Las tres últimas son iterativas, además de existir realimentación a todas las fases.
  4. Adaptive Software Development (ASD) [9]. Su impulsor es Jim Highsmith. Sus principales características son: iterativo, orientado a los componentes software más que a las tareas y tolerante a los cambios. El ciclo de vida que propone tiene tres fases esenciales: especulación, colaboración y aprendizaje. En la primera de ellas se inicia el proyecto y se planifican las características del software; en la segunda desarrollan las características y finalmente en la tercera se revisa su calidad, y se entrega al cliente. La revisión de los componentes sirve para aprender de los errores y volver a iniciar el ciclo de desarrollo. Feature -Driven Development (FDD) [3]. Define un proceso iterativo que consta de 5 pasos. Las iteraciones son cortas (hasta 2 semanas). Se centra en las fases de diseño e implementación del sistema partiendo de una lista de características que debe reunir el software. Sus impulsores son Jeff De Luca y Peter Coad. XP o Xtream Programming Programación Extrema es un método ágil que se suele utilizar en equipos con muy pocos programadores que tienen muy pocos procesos abiertos al mismo tiempo. Consiste principalmente en diseñar, implementar, programar e implantar lo más rápido posible en equipos de programadores muy pequeños, principalmente parejas, saltándose la documentación y los procedimientos tradicionales. Se fundamente en la capacidad del equipo para comunicarse entre sí y las ganas de aprender de los errores propios inherentes en un programador. La gran ventaja que tiene este sistema es la increíble capacidad de respuesta del equipo ante imprevistos, aunque es una metodología para la que es difícil documentar. XP es un método estupendo para equipos extremadamente pequeños que se centran en un solo cliente. El proceso de desarrollo en XP se puede resumir como: Mientras (sistema_es_útil) { Captar requisitos
  5. User Stories Methaphor Planificar Release planning Iteration planning Desarrollar Programming Presentar la entrega Releasing } Puntos clave: el juego de planificación, entregas cortas, diseños simples, refactorización. La gran foto XP es una metodología muy utilizada pero como todo tiene también sus puntos Débiles. Entre ellos que pocos son los que utilizan la metodología completa. A continuación se muestran y se explican las prácticas que componen a la Programación Extrema. XP no es sólo tirar líneas de código fuente
  6. Desarrollo Lean Lean Software Development, también conocido como Lean Programming es un conjunto de técnicas que engloban una metodología de desarrollo ágil de software orientado a conseguir exactamente lo que necesita el cliente. Es una evolución del Método Toyota de Producción aplicado al desarrollo y que está muy de moda entre los equipos de desarrollo en startups. Principalmente consiste en ciclos de evolución de software incrementales en los que se postponen las decisiones lo más posible hasta haber obtenido un feedback del cliente y así reaccionar lo más rápido y eficazmente posible a sus necesidades. Se fundamenta en tener un equipo potente y comprometido y el principio de aprendizaje continuo sobre el producto. El Desarrollo Lean una metodología fantástica para startups que están desarrollando un software orientado a tener éxito en el mercado, como desarrolladores de videojuegos o apps para móviles. Método Tradicional vs Ágil
  7. http://danielgrifol.es/metodologias-agiles-de-desarrollo-de-software http://issi.dsic.upv.es/archives/f-1069167248521/actas.pdf https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=15&ved=0CHQQFjA O&url=http%3A%2F%2Fdsc.itmorelia.edu.mx%2F~jcolivares%2Fdocuments%2Fsoftagile.ppt&e i=GysVVMLDEIOjigL- _oDQBg&usg=AFQjCNEyy4p8YIDNMeWLnZ6fqxVe7enQXQ&bvm=bv.75097201,d.cGE&cad=rja
Anzeige