domingo, 28 de febrero de 2016

Programación Extrema - Una visión general

La agencia espacial ha decidido utilizar el método de Programación Extrema por lo que a continuación se dará una explicación acerca de lo que es la programación extrema, principios, proceso de desarrollo, entre otros.

¿Qué es la Programación Extrema?

Es una metodología ágil de programación que nació como un intento de establecer un conjunto de practicas que facilitasen la finalización de los proyectos con requisitos imprecisos, cambiantes y con alto riesgo técnico


¿Cuáles son los valores y principios de la  Programación Extrema?

  • La relaciones interpersonales entre el equipo de desarrollo es la clave del éxito.
  • Se preocupa por el aprendizaje de los desarrolladores
  • Se necesita coraje para enfrentar los cambios

¿Cuáles son las actividades, recursos y prácticas de la Programación Extrema? 

Roles:

  • Cliente: Escribe las historias de usuario y las pruebas funcionales para validar su implementación
  • Programador: El programador escribe las pruebas unitarias y produce el código del sistema
  • Encargado de pruebas (Tester): Ejecuta las pruebas regularmente, transmite los resultados de las pruebas y mantiene las herramientas
  • Encargado de segumiento (rastreador, tracker): Proporciona realimentación al equipo, también se encarga de realizar el seguimiento de las iteraciones 
  • Entrenador:Es responsable del proceso global. guía al equipo para que se se sigan las practicas XP correctamente
  • Consultor: Miembro externo que tiene conocimientos acerca de algo del proyecto y guía las soluciones a los problemas
  • Gestor (Manager o Big boss): Es el que administra el proyecto


Practicas:


  • El juego de la planificación: Hay una comunicación frecuente el cliente y los programadores
  • Historias de usuario: Requerimientos del sistema explicados en un lenguaje simple
  • Cortas y pequeñas iteraciones: Producir rápidamente versiones del sistema que sean operativas
  • Metáforas: Una metáfora es una historia compartida que describe cómo debería funcionar el sistema
  • Diseño Simple: Se debe de dar la solucion más simple posible
  • Restructuración del sistema para eliminar funciones duplicadas
  • Programación por pares: Toda la producción de código debe realizarse con trabajo en parejas de rogramadores
  • Propiedad colectiva: Cualquier programador puede cambiar cualquier parte del código en cualquier momento.
  • Integración continua: Cada pieza de código es integrada en el sistema una vez que esté lista
  • Cliente in-situ: El cliente tiene que estar presente y disponible todo el tiempo para el equipo
  • Estándares de codificación: es indispensable que se sigan ciertos estándares de programación para mantener el código legible
  • 40 horas de trabajo: Se debe trabajar un máximo de 40 horas por semana

¿Cuál son las fases del proceso de desarrollo de XP?

*Fase de exploración: En esta fase los usuarios escriben las tarjetas de historia que ellos quieren que sean incluidas en la primera versión. Cada una de las tarjetas de historia describen una funcionalidad que será añadida al programa.

*Fase de planificación: En esta fase se establece la prioridad de las diferentes historias y se acuerda el contenido de la primera entrega del proyecto. La duración de esta fase no suele exceder el plazo de unos pocos días

*Fase de iteraciones: Esta fase incluye la realización de diferentes fases antes de liberar la primera versión del producto:


  1. El cliente define el valor de negocio a implementar.
  2. El programador estima el esfuerzo necesario para su implementación.
  3. El cliente selecciona qué construir, de acuerdo con sus prioridades y las restricciones de tiempo.
  4. El programador construye ese valor de negocio.
  5. Se vuelve al primer paso



*Fase de producción: En esta fase se llevan a cabo se llevan a cabo un conjunto de pruebas extras, de rendimiento y funcionamiento que son necesarias antes de poder entregar el producto al cliente. Las iteraciones de esta fase no deben durar más de tres semanas.

*Fase de mantenimiento: Una vez se ha liberada la primera versión a los usuarios, el proyecto se debe mantener en el entorno de producción siempre y cuando aún hayan iteraciones en fase de producción.

*Fase de cierre del proyeto: Es la fase en que los clientes ya no tienen más historias que deban ser implementadas. Es la fase en que los clientes ya no tienen más historias que deban ser implementadas.


¿Qué es una historia de usuario?

Es una ténica que especifica los requisitos del sistema formulados en una o dos sentencias, en el lenguaje común delcliente. Se trata de tarjetas de papel en las cuales el cliente describe brevemente las características que el sistema debe poseer, seanrequisitos funcionales o no funcionales y pueden ser de una a tres semanas de tiempo de programación.

Mapa Conceptual




FUENTES CONSULTADAS: 


  • Canós, J. H.. (2003). Metodologías Ágiles en el Desarrollo de Software. Recuperado en Febrero 25, 2016, de Grupo ISSI Sitio web: http://issi.dsic.upv.es/archives/f-1069167248521/actas.pdf
  • Riola, J.. (2008). Metodologías Ágiles: HERRAMIENTAS Y MODELO DE DESARROLLO PARA APLICACIONES JAVA EE COMO METODOLOGÍA EMPRESARIAL. Recuperado en Febrero 25, 2016, de Up Commons Sitio web: http://upcommons.upc.edu/bitstream/handle/2099.1/5608/50015.pdf?sequence=1





No hay comentarios.:

Publicar un comentario