Categorias: Todos - pruebas - código - pares - entregas

por anthony santiago cachago cachago 2 anos atrás

110

Metodologias Scrum XP

La eficiencia y calidad en el desarrollo de software se pueden potenciar mediante varias prácticas y metodologías. Una de las más destacadas es la programación en pares, donde dos desarrolladores trabajan juntos en una misma funcionalidad, lo que resulta en un código de mayor calidad.

Metodologias Scrum  XP

eXtreme Programming o XP es una metodología de desarrollo de software que se adapta a los postulados del Manifiesto ágil priorizando a la adaptabilidad y

no el seguimiento de un plan, esta metodología fue propuesta por Kent Beck autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999) [9].

El coraje: todos los integrantes del equipo de desarrollo y ejecución del proyecto deben estar en la disposición y la fortaleza para enfrentar el cambio constante de los requerimientos y dar su máximo rendimiento y aprovechamiento de recursos en el desarrollo de su labor.

Durante del desarrollo de un proyecto en SCRUM se utiliza una unidad de medida de avance

y

estructuración, esta es conocida como sprint, la


cual adquiere demasiada importancia durante


el desarrollo del proyecto mismo, por tanto, se


requiere el desarrollo de reuniones o ceremonias


antes, durante y después de la evolución de cada


sprint.

Scrum es una metodología para el desarrollo de software iterativa e incremental, debe su nombre a la jugada de rugby llamada de la misma manera

se dice que es iterativa ya que se ejecuta en bloques temporales cortos y fijos (de no menos de dos semanas) que reciben el nombre de sprints y es incremental en tanto se obtienen funcionalidades del producto final al terminar cada iteración [7]. Dentro de las características de Scrum, se relaciona que está definido en base a roles, reuniones y artefactos, los cuales se describen a continuación.

Ciclos de desarrollo entre una y dos semanas.

Ciclos de desarrollo (sprints) entre 2 semanas y un mes

Por lo general no se genera documentación de diseño

Elaboración de tarjetas CRC

En las tarjetas CRC (clase-responabilidad-colaborador) se identifican y organizan las clases orientadas a objetos que son relevantes para el desarrollo incremental del software.

No se permiten cambios en los sprints

Los cambios en las funcionalidades de un sprint pueden ser considerados en futuros sprints.

Susceptible a cambios dentro de una iteración

Un cambios es aceptado siempre y cuando éste no se refiere a una funcionalidad sobre la cual se haya comenzado a trabajar, y que sea de un tamaño equivalente a la funcionalidad que se quiere cambiar.

El cliente prioriza las funcionalidades pero el equipo de desarrollo determina la secuencia en la que serán desarrolladas

Orden de prioridad elegida por el usuario

Reuniones cortas diarias para discutir avances y obstáculos. Reunión al finalizar la iteración para discutir el proceso realizado.

Visión compartida sobre el sistema. Programación en pareja. El cliente forma parte del equipo de desarrollo.

Incremental (por iteraciones)

A nivel de diseño

Gestión de Cambios

Procesos de desarrollo ágil de software

Prioridad de desarrollo de Funcionalidades

Trabajo Colaborativo

Tres de roles: Scrum master, el dueño del producto y el equipo de desarrollo.

El scrum master asegura que el equipo está adoptando la metodología, sus prácticas, valores y normas, pero no gestiona el desarrollo.

División de responsabilidades entre el cliente y los desarrolladores

Roles

Se elige la mejor forma de desarrollar según la experiencia del equipo de desarrollo. Entregas frecuentes de código funcional.

Pila del sprint o sprint backlog: se presentan las diferentes tareas que deben realizarse para desarrollar una funcionalidad propuesta en el product backlog, en este artefacto se presenta una estimación en horas de cuánto puede tardar la realización de cada tarea, además se indica el miembro del equipo que se ofreció para realizarla y cuánto esfuerzo (tiempo) es necesario aún para terminar cada una de las tareas propuestas.

Desarrollo orientado a pruebas, programación en pares, diseño simple, refactorización, entregas pequeñas de código funcional, etc.

Marcha sostenible: consiste en identificar el mejor ritmo bajo el cual el grupo de proyecto puede llegar a trabajar

Programación de a pares: consiste en una práctica en la cual dos desarrolladores se sientan juntos a realizar una misma funcionalidad. Parte del principio que dos desarrolladores trabajando juntos generan más códigos y de mejor calidad que dos desarrolladores trabajando por aparte. • Propiedad colectiva del código: todos los miembros del equipo son dueños del código, y no solo la persona que planteó su estructura inicial

Buenas prácticas de desarrollo

Metodologias Scrum XP