desarrollo Ágil de software · conocen las metodologías ágiles no se adaptan los procesos...

19
Desarrollo Ágil de Software Biblo: S.C3 Métodos Biblo: S3.1 basado en Manifesto Ágil Desarrollo basado en Planes vs Agile Biblo: S3.2 Escalando Agile Biblo: S3.5 Resumen ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Upload: others

Post on 01-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3

Métodos

Biblo: S3.1

basado en Manifesto Ágil

Desarrollo basadoen Planes vs Agile

Biblo: S3.2

EscalandoAgile

Biblo: S3.5

Resumen

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 2: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3

Métodos

Biblo: S3.1

basado en Manifesto Ágil

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 3: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3 Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3

SCRUMBiblo: S3.4

otros

Crystal

Desarrollo Manejado porFuncionalidades (FDD)

principios

participaciónactiva del cliente

entregasincrementales

personas en vezde procesos

aceptarel cambio

simplicidad

basado en Manifesto Ágil

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 4: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3 prácticas

de PROGRAMACIÓN

planeamientoincremental

entregaspequeñas

diseñosimple

desarrollarprimero lasPruebas

refactorización

programaciónen pares

posesióncolectiva

integracióncontinua

ritmosostenible

cliente enel lugar

llevadas al EXTREMO

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 5: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3 prácticas

de PROGRAMACIÓN

planeamientoincremental

Tarjetas de Historias

refinamiento dependiendo prioridad

entregaspequeñas

mínima funcionalidad para un release

basados en valor del negocio

entregas incrementales

diseñosimple

solo el suficiente para implementar la historia evita el "Gold Plating"

no pensar en el futuro

desarrollarprimero lasPruebas

refactorizaciónpermanente patrones de diseño emergentes

códigosimple

mantenible

programaciónen pares

posesióncolectiva todos

trabajan en las distintas partes del sistema

pueden cambiar cualquier parte

no hay silos de especialistas

integracióncontinua

ritmosostenible no acepta el sobre-trabajo

velocidad similar por iteración

cliente enel lugar

colocado con el equipo

representante del cliente y/o usuarios

responsable de definir las historias

llevadas al EXTREMO

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 6: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

ExtremeProgramming

Biblo: S3.3

prácticasde PROGRAMACIÓN

desarrollarprimero lasPruebas

testeo unitario automatizadoregresionan con cada buildse basan en escenarios

luego el código para hacerlas pasar

responde a la pregunta¿cómo saber cuando está terminado?objetivo claro

evitaque no se hagan tests

por falta de tiempo

por preferencia de codificarque no se prueben escenarios claves

ej.

problema puede dar una falsa seguridad de calidad

programaciónen pares

revisión continuasinergia

transferencia de conocimiento

productividad vs 2programadores independientes

similar

basada en estudiantes

menosbugsretrabajo

mas tiempo productivo

menorbasada en profesionalesmitiga attrition

integracióncontinua

debe compilarpruebas automáticas deben pasarintegración del código en el sistema

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 7: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Historias de UsuarioExtremeProgramming

Biblo: S3.3 prácticas

de PROGRAMACIÓN

llevadas al EXTREMO

ej.

iteracionessemanales

releases mensuales

integración de códigodiaria

continua

pruebasautomáticas

antes que el código

requerimientos

entendibles en lenguaje del cliente

basados en escenariosfuncionalidad

autocontenidos

revisiones de código programación en pares

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 8: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3

Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3

SCRUM

Biblo: S3.4

otros

principios

Desarrollo basadoen Planes vs Agile

Biblo: S3.2

EscalandoAgile

Biblo: S3.5

Resumen

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 9: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3

SCRUMBiblo: S3.4

focalizado en gestionar en base aiteraciones

2-4 semanasreleases 3-6 meses

dinámicas de equipo

no requiere XP aunque en Ing. de Sw es usado

proceso

otros

principios

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 10: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

SCRUM

Biblo: S3.4

focalizado en gestionar en base aiteraciones

2-4 semanasreleases 3-6 meses

dinámicas de equipo

no requiere XP aunque en Ing. de Sw es usado

proceso

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 11: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3

SCRUM

Biblo: S3.4

otros

Crystal

Desarrollo Manejado porFuncionalidades (FDD)

principios

participaciónactiva del cliente

entregasincrementales

personas en vezde procesos

aceptarel cambio

simplicidad

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 12: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Métodos

Biblo: S3.1

principios

participaciónactiva del cliente

usando "Product Owner" rol

escribe historiasdecide prioridades

define criterio de aceptación

aprueba historias

requiere

voluntad de hacerlo

un solo cliente

tiempo del cliente

entregasincrementales

usando

Backlog priorizado

"Sprint review"Producto potencialmente entregable

"Release planning"

requiereplaneamiento al inicio

que el sistema se pueda partir en incrementos

personas en vezde procesos

aceptarel cambio

simplicidadusando

whiteboards y postits

burndown chartsRelease

Sprint

estimacionesstory points

horas remanentes

código funcionando al final del sprint

requieretrabajo adicional

más conocimientoClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 13: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Métodos

Biblo: S3.1

principios

personas en vezde procesos

usando

Sprint plannnig compromiso sobre historias

Daily scrumScrum of Scrums

Integración continua

equipos de entre 5 y 9 personas

requiere

extroversión

proactividadexperiencia

trabajo en equipo sobre individualismo

confianzaen las personasdifícil en org. grandes que dedicaron muchotiempo a generar los procedimientos

aceptarel cambio

usando

Release planningbasados en prioridadesrevizado al principio de cada sprint

Sprints de longitud fijacambio permitido en el siguiente sprintlongitud deacuerdo a las necesidades de cambio

Foco en el sprint actualhistorias completas con calidad de release

no se aceptan cambios dentro del sprint

requiere

definición de ítemsque entren en cada iteración

que sean independientes

finalizar ítemscon calidad de entrega

con potencialidad para re-arquitecturar

consensuar prioridades difícil si son múltiples clientes

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 14: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3

Métodos

Biblo: S3.1

Desarrollo basadoen Planes vs Agile

Biblo: S3.2

basado en Planes

foco

planes aprobados

compromisos sobre planes

documentaciónrevizada

detallada

Ágiles

fococódigo andando

feedback del cliente

EscalandoAgile

Biblo: S3.5

Resumen

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 15: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3

Métodos

Biblo: S3.1

Desarrollo basadoen Planes vs Agile

Biblo: S3.2

EscalandoAgile

Biblo: S3.5

mayormente exitosos en

productos chicos o mediosdesarrollos internos en la org.proyectos web-based

difícil

para proyectos grandes no imposible Motorola Mobility

productos

domóticadevice management

ipTVmultimedia deliverymultiscreen

embebidosteléfonostabletas

+300 personas en +5paisesScrums of Scrums

si

gerentes de proyectos noconocen las metodologías ágiles

no se adaptan los procesosorganizacionales a agile ej.

planesmétricas requeridas

no se tiene programadores con experiencia en Ing. SWResumen

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 16: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3

Resumen Agile

métodos

usan

desarrollo incrementalentregas frecuentesfuerte participación de los clientes

reducen esfuerzo innecesario en proceso

producen código de alta calidad

ejemplos

XP enfoca en prácticas deing. de construcción SW

Integración continua (CI)

Desarrollo manejado por pruebas (TDD)

SCRUM enfoca en prácticas degestión de proyecto

Iteraciones en sprints

tiempo fijo

reunionesfrecuentes

planeamientostand ups

revisión de sprintretrospectivas

construcciónincremental del sistema

backlog priorizadobasado en valor para el cliente

uso

vs Basados en planes

depende

tipo de proyectocapacidades del equipo de desarrollo

cultura de la organización

para proyectos muy grandes?necesitaal inicio

diseño arquitecturaalgo de documentación

organización con estructura jerárquica

USMsPO, Eng. Mgrs,Arch.

múltiples equiposdificulta la integración continua

pero es posible

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 17: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Historias de Usuario

Desarrollo Ágilde Software

Biblo: S.C3

Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3 prácticas

de PROGRAMACIÓN

planeamientoincremental

Tarjetas de Historias

refinamiento dependiendo prioridad

entregaspequeñas

mínima funcionalidad para un release

basados en valor del negocio

entregas incrementales

diseñosimple

solo el suficiente para implementar la historia evita el "Gold Plating"

no pensar en el futuro

desarrollarprimero lasPruebas

testeo unitario automatizado

regresionan con cada build

se basan en escenarios usando a los usuariospara definición

para validación

luego el código para hacerlas pasar

responde a la pregunta¿cómo saber cuando está terminado?

objetivo claro

evitaque no se hagan tests

por falta de tiempo

por preferencia de codificar

que no se prueben escenarios claves

ej.

problema puede dar una falsa seguridad de calidad

refactorizaciónpermanente patrones de diseño emergentes

códigosimple

mantenible

programaciónen pares

revisión continua

sinergia

transferencia de conocimiento

productividad vs 2programadores independientes

similar

basada en estudiantes

menosbugs

retrabajo

mas tiempo productivo

menorbasada en profesionales

mitiga attrition

posesióncolectiva todos

trabajan en las distintas partes del sistema

pueden cambiar cualquier parte

no hay silos de especialistas

integracióncontinua

debe compilar

pruebas automáticas deben pasarintegración del código en el sistema

ritmosostenible no acepta el sobre-trabajo

velocidad similar por iteración

cliente enel lugar

colocado con el equipo

representante del cliente y/o usuarios

responsable de definir las historias

llevadas al EXTREMO

ej.

iteracionessemanales

releases mensuales

integración de códigodiaria

continua

pruebasautomáticas

antes que el código

requerimientos

entendibles en lenguaje del cliente

basados en escenariosfuncionalidad

autocontenidos

revisiones de código programación en pares

SCRUM

Biblo: S3.4

otros

Crystal

Desarrollo Manejado porFuncionalidades (FDD)

principios

basado en Manifesto Ágil

Desarrollo basadoen Planes vs Agile

Biblo: S3.2

EscalandoAgile

Biblo: S3.5

Resumen

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 18: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3

Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3

SCRUM

Biblo: S3.4

focalizado en gestionar en base aiteraciones

dinámicas de equipo

no requiere XP aunque en Ing. de Sw es usado

proceso

otros

Crystal

Desarrollo Manejado porFuncionalidades (FDD)

principios

participaciónactiva del cliente

usando "Product Owner" rol

escribe historias

decide prioridadesdefine criterio de aceptaciónaprueba historias

requiere

voluntad de hacerloun solo cliente

tiempo del cliente

entregasincrementales

usando

Backlog priorizado"Sprint review"Producto potencialmente entregable

"Release planning"

requiereplaneamiento al inicioque el sistema se pueda partir en incrementos

personas en vezde procesos

usando

Sprint plannnig compromiso sobre historias

Daily scrumScrum of Scrums

Integración continuaequipos de entre 5 y 9 personas

requiere

extroversión

proactividadexperienciatrabajo en equipo sobre individualismo

confianzaen las personas

difícil en org. grandes que dedicaron muchotiempo a generar los procedimientos

aceptarel cambio

usando

Release planningbasados en prioridades

revizado al principio de cada sprint

Sprints de longitud fijacambio permitido en el siguiente sprintlongitud deacuerdo a las necesidades de cambio

Foco en el sprint actualhistorias completas con calidad de release

no se aceptan cambios dentro del sprint

requiere

definición de ítemsque entren en cada iteraciónque sean independientes

finalizar ítemscon calidad de entrega

con potencialidad para re-arquitecturar

consensuar prioridades difícil si son múltiples clientes

simplicidadusando

whiteboards y postits

burndown chartsReleaseSprint

estimacionesstory pointshoras remanentes

código funcionando al final del sprint

requieretrabajo adicionalmás conocimiento

basado en Manifesto Ágil

Desarrollo basadoen Planes vs Agile

Biblo: S3.2

EscalandoAgile

Biblo: S3.5

Resumen

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -

Page 19: Desarrollo Ágil de Software · conocen las metodologías ágiles no se adaptan los procesos organizacionales a agile ej. ... métodos usan desarrollo incremental entregas frecuentes

Desarrollo Ágilde Software

Biblo: S.C3

Métodos

Biblo: S3.1

ExtremeProgramming

Biblo: S3.3

SCRUM

Biblo: S3.4

otros

Crystal

Desarrollo Manejado porFuncionalidades (FDD)

principios

participaciónactiva del cliente

entregasincrementales

personas en vezde procesos

aceptarel cambio

simplicidad

basado en Manifesto Ágil

Desarrollo basadoen Planes vs Agile

Biblo: S3.2

basado en Planes

foco

planes aprobados

compromisos sobre planes

documentaciónrevizada

detallada

Ágiles

fococódigo andando

feedback del cliente

EscalandoAgile

Biblo: S3.5

mayormente exitosos en

productos chicos o medios

desarrollos internos en la org.

proyectos web-based

difícil

para proyectos grandes no imposible Motorola Mobility

productos

domótica

device management

ipTVmultimedia delivery

multiscreen

embebidosteléfonostabletas

+300 personas en +5paises

Scrums of Scrums

si

gerentes de proyectos noconocen las metodologías ágiles

no se adaptan los procesosorganizacionales a agile ej.

planesmétricas requeridas

no se tiene programadores con experiencia en Ing. SW

Resumen

ClasesIngenieríaDeSoftware_MindMap.mmap - 03/05/2012 -