Fundamentos de la Ingeniería de Software Ágil: XP, Scrum y Principios de Desarrollo

Enviado por Programa Chuletas y clasificado en Economía

Escrito el en con un tamaño de 7,47 KB

Fundamentos y Principios del Desarrollo Ágil de Software

Elementos Clave del Manifiesto Ágil

Los elementos importantes en el Manifiesto del Desarrollo Ágil de Software (SW) son:

  • Individuos y sus interacciones sobre procesos y herramientas.
  • Software en funcionamiento sobre documentación exhaustiva.
  • Colaboración del cliente sobre negociación contractual.
  • Respuesta al cambio sobre seguir un plan.

Estos principios se desarrollaron para superar las debilidades advertidas y reales en la Ingeniería del Software convencional.

Objetivos de la Ingeniería del Software Ágil

La Ingeniería del Software Ágil se encarga de:

  • Buscar la satisfacción del cliente.
  • La entrega temprana del software incremental.
  • Fomentar equipos de proyecto pequeños y métodos informales.
  • Generar un mínimo de productos de trabajo.
  • Promover la simplicidad del desarrollo.

El Equipo Ágil y su Organización

Un equipo ágil es un equipo con organización propia (autoorganizado) y que controla su propio destino.

Actividades del Marco de Trabajo Ágil

Las actividades básicas del marco de trabajo ágil (comunicación con el cliente, planeación, modelado, construcción y despliegue —entrega y evolución—) se conservan. Sin embargo, estas se conforman como un conjunto mínimo de tareas que impulsa al equipo del proyecto hacia la construcción y la entrega continua.

Entrega de Software al Cliente

La entrega de software al cliente se realiza mediante un “incremento del software” en funcionamiento, el cual se entrega al cliente en una fecha prometida.

Suposiciones Clave del Proceso Ágil de Software

Existen tres suposiciones clave del proceso ágil de software para cualquier proyecto:

  1. Resulta difícil predecir cuáles requisitos del software persistirán y cuáles cambiarán.
  2. Para muchos tipos de software, el diseño y la construcción están intercalados.
  3. El análisis, el diseño y la construcción no son predecibles.

Rasgos Esenciales del Equipo Ágil

Los rasgos que deben considerarse entre los miembros de un equipo incluyen:

  • Competencia.
  • Enfoque común.
  • Colaboración.
  • Habilidad para la toma de decisiones.
  • Capacidad de resolución de problemas confusos.
  • Confianza y respeto mutuo.
  • Organización propia (autoorganización).

El Concepto de Equipo Cuajado

Un equipo cuajado es aquel que muestra la confianza y el respeto necesarios para que sus miembros se unan con tanta fuerza, que el todo sea mayor que la suma de las partes.

Factores de la Autoorganización del Equipo

Existen tres factores para que los equipos tengan organización propia:

  1. El equipo ágil se organiza a sí mismo.
  2. El equipo organiza el proceso que se ajusta a su ambiente local.
  3. El equipo organiza el programa de trabajo con el que se alcance de mejor manera la entrega del incremento del software.

Metodología Extreme Programming (XP)

Actividades del Marco de Trabajo XP

Las actividades fundamentales de la metodología XP son: Planeación, Diseño, Codificación y Pruebas.

Historias de Usuario

Las historias de usuario comienzan la planeación. Estas describen las características y la funcionalidad requeridas para el software que se construirá.

Orden de Implementación de Historias de Usuario

El orden de las historias de usuario se define por:

  1. Todas las historias serán implementadas de un modo inmediato (si son pequeñas y urgentes).
  2. Las historias con valor más alto se moverán en el programa y se implementarán al principio.
  3. Las historias más rigurosas (riesgosas o complejas) se moverán del programa y se implementarán al principio.

Velocidad del Proyecto (Velocity)

La velocidad del proyecto es el número de historias de los clientes implementadas durante el primer lanzamiento. Este indicador puede utilizarse para:

  1. Ayudar a estimar fechas de entrega y el programa para lanzamientos subsecuentes.
  2. Determinar si se ha hecho un compromiso excesivo en algunas de las historias de todo el proyecto de desarrollo.

Refabricación (Refactoring)

La refabricación (o refactoring) es el proceso de cambiar un sistema de software de tal manera que no altere el comportamiento externo del código y que mejore la estructura interna.

Pruebas de Aceptación en XP

Las pruebas de aceptación de XP las especifica el cliente. Se enfocan en las características generales y la funcionalidad del sistema, siendo elementos visibles y revisables por el cliente.

Metodología SCRUM

Actividades del Marco de Trabajo SCRUM

Las actividades principales de la metodología SCRUM son: Requisitos, Análisis, Diseño, Evolución y Entrega.

El Sprint

El Sprint es un patrón de proceso que consiste en unidades de trabajo que se requieren para satisfacer un requisito definido en el backlog (retraso) en un periodo predefinido.

Reuniones Diarias de Scrum (Daily Scrum)

Las reuniones Scrum son cortas y diarias. Se centran en responder tres preguntas clave:

  1. ¿Qué hiciste desde la última reunión?
  2. ¿Tienes algún obstáculo?
  3. ¿Qué harás antes de la próxima reunión?

El Scrum Master

El Maestro de SCRUM (Scrum Master) preside la reunión y evalúa las respuestas de cada persona, actuando como facilitador y eliminador de impedimentos.

Conceptos Adicionales

Modelado Ágil

El modelado ágil es una tecnología basada en la práctica para el modelado efectivo de los sistemas basados en software.

Principios del Modelado Ágil

Los principios responsables del modelado ágil incluyen:

  • Modelar con un propósito.
  • Usar múltiples modelos.
  • Viajar ligero (documentación mínima).
  • El contenido es más importante que la representación.
  • Conocer los modelos y las herramientas con que se crean.
  • Adaptar en forma local.

Tarjetas CRC

Las Tarjetas CRC (Clase, Responsabilidad, Colaborador) representan clases por medio de responsabilidades, no de atributos.

Entradas relacionadas: