10
Metodología de Desarrollo Extreme Programming XP “Las metodologías de desarrollo de software son un conjunto de procedimientos, técnicas y ayudas a la documentación para el desarrollo de productos software.” (Menéndez, 2012) Estas metodologías de desarrollo emplean modelos o representaciones graficas junto con procedimientos detallados para el desarrollo de un software, indican paso a paso todas las actividades a realizar para lograr el producto informático deseado, señalando las personas que participan en el desarrollo de las actividades y la función que realizan. Además de detallar la información que se produce como resultado de una actividad y la información necesaria para comenzarla. Álvarez, (2009) explica la metodología XP como: Una metodología de desarrollo de software orientada a agilizar el tiempo de desarrollo por medio del trabajo en pareja de los desarrolladores y un alto involucramiento del cliente como proveedor de requerimientos durante todo el proceso…XP asume que las personas trabajan mejor en equipo a manera de que puedan complementar sus fortalezas y debilidades. Adicionalmente esto permite esparcir el conocimiento de una manera más fluida y natural entre las personas que conforman el equipo. “Las metodologías ágiles forman parte del movimiento de desarrollo ágil de sotfware, que se basan en la adaptabilidad de cualquier cambio como medio para aumentar las posibilidades de éxito de un proyecto.”(De La Villa, 2005). Extreme Programming o Programación Extrema en español, es una de las metodologías más destacadas de los procesos agiles del desarrollo de proyectos de software. Se basa en los principios de simplicidad, la comunicación, la retroalimentación y el coraje para implicar a todo el equipo, a usuarios o clientes en la gestión del proyecto. Fases de la Metodología de Desarrollo Extreme Programming XP La metodología extreme programming se compone de varias fases o principios los cuales se nombran a continuación: Fase I: Planificación del Proyecto - Historias de usuario: Es el primer paso del proyecto, consta de 3 o 4 líneas escritas por el cliente en un lenguaje no técnico sin hacer mucha relevancia en los detalles y son usados para estimar el tiempo de desarrollo de la parte de la aplicación que describen.

Metodología de Desarrollo Extreme Programming XP

Embed Size (px)

DESCRIPTION

Metodología de Desarrollo Extreme Programming XP

Citation preview

  • Metodologa de Desarrollo Extreme Programming XP

    Las metodologas de desarrollo de software son un conjunto de procedimientos,tcnicas y ayudas a la documentacin para el desarrollo de productos software.(Menndez, 2012)

    Estas metodologas de desarrollo emplean modelos o representaciones graficas junto conprocedimientos detallados para el desarrollo de un software, indican paso a paso todas lasactividades a realizar para lograr el producto informtico deseado, sealando las personasque participan en el desarrollo de las actividades y la funcin que realizan. Adems dedetallar la informacin que se produce como resultado de una actividad y la informacinnecesaria para comenzarla.

    lvarez, (2009) explica la metodologa XP como:

    Una metodologa de desarrollo de software orientada a agilizar el tiempo dedesarrollo por medio del trabajo en pareja de los desarrolladores y un altoinvolucramiento del cliente como proveedor de requerimientos durante todo elprocesoXP asume que las personas trabajan mejor en equipo a manera de quepuedan complementar sus fortalezas y debilidades. Adicionalmente esto permiteesparcir el conocimiento de una manera ms fluida y natural entre las personas queconforman el equipo.

    Las metodologas giles forman parte del movimiento de desarrollo gil de sotfware, quese basan en la adaptabilidad de cualquier cambio como medio para aumentar lasposibilidades de xito de un proyecto.(De La Villa, 2005). Extreme Programming o Programacin Extrema en espaol, es una de las metodologas msdestacadas de los procesos agiles del desarrollo de proyectos de software. Se basa en losprincipios de simplicidad, la comunicacin, la retroalimentacin y el coraje para implicar atodo el equipo, a usuarios o clientes en la gestin del proyecto.

    Fases de la Metodologa de Desarrollo Extreme Programming XP

    La metodologa extreme programming se compone de varias fases o principios loscuales se nombran a continuacin:

    Fase I: Planificacin del Proyecto

    - Historias de usuario: Es el primer paso del proyecto, consta de 3 o 4 lneasescritas por el cliente en un lenguaje no tcnico sin hacer mucha relevancia en losdetalles y son usados para estimar el tiempo de desarrollo de la parte de laaplicacin que describen.

  • Valida UsuarioHistoria de Usuario

    Nombre del Historial : Valida usuario Nmero(ID): 00-1rUsuario:

    bibliotecario, otros Fecha: 12/06/2014

    Prioridad en Negocio: Alta

    Iteracin asignada: 1

    Riesgo de Desarrollo: medio

    Punto Estimado: 0.1

    Tipo de actividad:nueva

    Descripcin: permitir acceder a la sistema virtual una vez registrado correctamente Observacin: poder asignar permisos segn su rol Gestionar Cuenta de Usuario

    Historia de UsuarioNombre del Historial : Gestionar Cuenta de Usuario Numero(ID): 00-2r Dirigido para

    el :usuario Fecha: 13/06/2014

    Prioridad en Negocio: Alta

    Iteracin asignada: 1

    Riesgo de Desarrollo: Media

    Punto Estimado: 0.2

    Tipo de actividad: fijar

    Descripcin: se podr crear, modificar y eliminar las cuentas de usuario en el sistema Observacin: cual ser el estado del usuario eliminado

  • Gestionar bsqueda de material Historia de Usuario Nombre del Historial : Gestionar bsqueda de material Numero(ID): 00-3r Dirigido para

    el :usuario, bibliotecario

    Fecha: 13/06/2014

    Prioridad en Negocio: Alta

    Iteracin asignada: 2

    Riesgo de Desarrollo: alto

    Punto Estimado: 1 Tipo de actividad: nueva

    Descripcin: se brinda la posibilidad de insertar, modificar, eliminar y buscar segn los datos que una persona introduzca Gestionar registro de material

    Historia de UsuarioNombre del Historial : Gestionar registro de material Numero(ID): 00-4r Dirigido para

    el :usuario, bibliotecario

    Fecha: 13/06/2014

    Prioridad en Negocio: Alta

    Iteracin asignada: 2

    Riesgo de Desarrollo: alto

    Punto Estimado: 1.3

    Tipo de actividad: fijar

    Descripcin: se brinda la posibilidad de insertar, modificar, eliminar y buscar los datos del control de material segn los datos que s tenga de a misma

  • Gestionar reporte

    Historia de UsuarioNombre del Historial : Gestionar reporte Numero(ID): 00-5r Dirigido para

    el :usuario, bibliotecario

    Fecha: 13/06/2014

    Prioridad en Negocio: media

    Iteracin asignada: 3

    Riesgo de Desarrollo: bajo

    Punto Estimado: 0.4

    Tipo de actividad: nueva

    Descripcin: se brinda la posibilidad generar un reporte con los datos registro del material

    - Release planning: en esta parte los desarrolladores y clientes se renen paraplanificar los tiempos de implementacin de las historias de usuarios, su prioridad yversin del programa.

    Historia de Usuario Punto Estimado

    Valida usuario 1.1

    Gestionar Cuenta de Usuario 0.2

    Gestionar bsqueda de material 1

    Gestionar registro de material 1.3

    Gestionar reporte 0.4

    - Iteraciones: Como parte del ciclo de vida de un proyecto utilizando lametodologa XP se crea el plan de duracin de cada una de las iteraciones, segnlos equipos de desarrollo con que se cuente, en este caso se hace para el nicoequipo de desarrollo que se tiene. Este plan se encarga de mostrar las historias deusuario que sern implementadas en cada una de las iteraciones, as como laduracin estimada de cada una y el orden en que se implementarn

  • Tareas de interacciones

    Iteraciones Orden de las Historias de Usuario

    duracin de las iteraciones

    Modulo

    1ra Iteracin Validar Usuario

    gestionar cuenta deusuario

    2 semanas Usuario

    2da Iteracin

    gestionar bsqueda dematerial

    gestionar registro dematerial

    2 semanas Material

    3ra iteracingestionar reporte 1 semana Reporte

    A continuacin se presenta el plan de entregas ideado para la fase deimplementacin. En este plan se acoplan las funcionalidades referentes a unmismo tema en mdulos, esto permite un mayor entendimiento en la fase deimplementacin quedando de la siguiente manera:

    Mdulos 1ra Iteracin

    4da semanaJunio

    2da Iteracin

    2da semanaJunio

    3ra Iteracin

    4ta semana Julio

    Usuario V1.0 Terminado

    Material V1.0 Terminado

    Reporte V1.0 Terminado Todo el trabajo de la iteracin es expresado en tareas de programacin, cada una de ellases asignada a un programador como responsable. Estas historias de usuario son divididas en tareas de entre 1 y 3 das de duracin que se asignarn a los programadores.

  • Tareas de las interacionesIteracin Historia de Usuario Tarea

    1ra Iteracin Validar Usuario

    gestionar cuenta de usuario

    Diseo de la interfaz de

    autenticacin

    diseo de la plataforma

    para los usuarios

    eliminacin de usuario

    modificacin de usuario

    2da Iteracin gestionar bsqueda de

    material

    gestionar registro de

    materia

    diseo de la interfaz de

    bsqueda con transact sql,

    diseo de interfaz para los

    materiales

    diseo de bases de datos,

    almacenamiento de datos

    estado inactivo de los datos

    modificacin de datos

    3ra Iteracin gestionar reporte diseo de interfaz para la

    consulta de reportes

    eliminado de reportes

    almacenado de reportes

    -Dividir las historias en tareas: es la divisin de las tareas ya obtenidas en elprimer paso

  • diseo de la interfaz autenticacin

    Ficha de TareaNombre de la Tarea : diseo de la interfaz autenticacin Numero de Tarea: 0-1t

    Numero de Historia : 00-1r

    Tipo de Tarea: Desarrollo

    Punto Estimado: 0.1

    Riesgo de Desarrollo: Media

    Fecha de Inicio: 05/04/2014

    Fecha de Fin: 06/04/2014

    Descripcin: se diseara un pagina para que el usuario se pueda autenticar en el sistema diseo de la interfaz de bsqueda con transact sql

    Ficha de TareaNombre de la Tarea : diseo de la interfaz de bsqueda con transact sql Numero de Tarea: 0-2t

    Numero de Historia : 00-2r

    Tipo de Tarea: Desarrollo

    Punto Estimado: 0.1

    Riesgo de Desarrollo: Alto

    Fecha de Inicio: 01/05/2014

    Fecha de Fin: 02/05/2014

    Descripcin: se diseara un una interfaz para que el usuario pueda realizar consultas de cualquier libro que exista en en el sistema

  • diseo de interfaz para los materiales

    Ficha de TareaNombre de la Tarea : diseo de la interfaz para los materialesNumero de Tarea: 0-3t

    Numero de Historia : 00-2r

    Tipo de Tarea: Desarrollo

    Punto Estimado: 0.4

    Riesgo de Desarrollo: Alto

    Fecha de Inicio: 16/05/2014

    Fecha de Fin: 017/05/2014

    Descripcin: se diseara una interfaz para que el usuario pueda tener un entorno del detalle de los libros en el sistema diseo de bases de datos, almacenamiento de datos y reportes

    Ficha de TareaNombre de la Tarea : diseo de bases de datos, almacenamiento de datos y reportes Numero de Tarea: 0-5t

    Numero de Historia : 00-3r

    Tipo de Tarea: Desarrollo

    Punto Estimado: 0.2

    Riesgo de Desarrollo: Alto

    Fecha de Inicio: 22/06/2014

    Fecha de Fin: 23/06/2014

    Descripcin: se diseara una base de datos para el almacenamiento de los materiales

  • - Velocidad del proyecto: Es una medida que representa la rapidez con la que sedesarrolla el proyecto, de esta manera se controlara el tiempo que dispone laiteracin para desarrollar todas las tareas.

    - Programacin en pareja: se aconseja la programacin en parejas paraincrementar la productividad y la calidad del software desarrollado. Se compone dedos programadores trabajando en el mismo equipo, mientras uno se enfoca en lacalidad de la funcin o mtodo que esta implementado, el otro analiza si estemtodo o funcin es adecuado y est bien diseado, de esta forma se consigue uncdigo y diseo con gran calidad. - Reuniones diarias: Las reuniones diarias permite a los desarrolladores exponerdiariamente los problemas, las soluciones o ideas de forma conjunta para eldesarrollo del proyecto.

    Fase II: Diseo

    - Diseos simples: la metodologa XP sugiere hacer diseos simples y sencillos, quesea entendible e implementable, que a la larga costara menos tiempo y esfuerzodesarrollar. - Glosario de trminos: el glosario de trminos es usado para especificar losnombres de mtodos y clases, lo que ayuda a comprender el diseo y facilita lasaplicaciones y la reutilizacin del cdigo. - Riegos: si surgen problemas graves durante el diseo, XP recomienda utilizar unapareja para investigar y reducir al mximo el riesgo que supone ese problema. - Funcionalidad extra: aadir una funcionalidad extra al programa, as sea utilizadaen un futuro, solo generar un desperdicio de tiempo y recursos. Es por ello que serecomienda hacer estas funciones cuando el proyecto est totalmente terminado. - Refactorizar: es mejorar y modificar la estructura y codificacin de cdigos yadesarrollados sin alterar su funcionalidad. Se debe revisar los cdigos luego demodificarlos para procurar optimizar el funcionamiento del sistema. - Tarjetas C.R.C: son tarjetas que permiten al programador centrarse y valorar eldesarrollo orientado a objetos, la clase a la que pertenece, las responsabilidades uobjetivos que debe ejecutar el objeto.

  • Fase III: Codificacin

    Debido a la movilidad de los desarrolladores durante el sistema, es necesario acordarestndares de codificacin y respetarlos durante el desarrollo del proyecto, ya que cadalenguaje tiene sus respectivas caractersticas, sus sugerencias o reglas.

    Por ello Extreme Programming, propone poner de antemano la creacin de los test unitariosal propio desarrollo de las funcionalidades, estos son pequeos trozos de cdigo queprueban las funcionalidades de un objeto, de modo que esa prueba pueda incorporarse a unproceso de pruebas automatizado.

    Fase IV: Pruebas

    Las pruebas se basan en los test que se hacen para comprobar el funcionamiento de loscdigos que se van implementando, al igual que sirven para evaluar las distintas tareas enlas que ha sido dividida una historia de usuario. Su uso es adecuado para observar larefactorizacin y permiten verificar que un cambio en la estructura de un cdigo no tienepor qu cambiar su funcionamiento. Para asegurar el funcionamiento final, se deben crear Test de aceptacin los cuales sonusados por los clientes para verificar que las distintas historias de usuario cumplen suobjetivo.

    Se elijo la metodologa Extreme Programming (XP), por ser adaptable a las necesidades delproyecto y no seguir un rgimen estricto. Como lo expresa Beck, (1999) la XP es unametodologa gil para pequeos a medianos equipos, que modela el proceso de desarrollode software cuando los requerimientos son ambiguos o rpidamente cambiantes.

    Al tener un enfoque en el trabajo en grupo se hace ms fcil dividir las contribuciones delproyecto, realizar modificaciones exigidas por el cliente y en comparacin con otrasmetodologas como la RUP es mucho ms rpida, porque conlleva menos protocolo.

    Valida UsuarioGestionar Cuenta de UsuarioGestionar bsqueda de materialGestionar registro de materialGestionar reporteTareas de las interacionesdiseo de la interfaz autenticacindiseo de la interfaz de bsqueda con transact sqldiseo de interfaz para los materialesdiseo de bases de datos, almacenamiento de datos y reportes