Top Banner
Marco de trabajo para el desarrollo y el mantenimiento de productos complejos. Ing. Víctor Garzón Marín Ing. Jorge Armando Villegas
48

Metodología de desarrollo SCRUM

Jan 22, 2018

Download

Engineering

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Metodología de desarrollo SCRUM

Marcodetrabajoparaeldesarrolloyelmantenimientodeproductoscomplejos.

Ing.VíctorGarzónMarínIng.JorgeArmandoVillegas

Page 2: Metodología de desarrollo SCRUM

V í c t o r G a r z ó n M a r í n Ing.ElectrónicayTelecomunicaciones MSc (C)Telemática UniversidaddelCauca C To . Sm a r t s o f t P L AY S c r um M a s t e r C e r t i f i e d ScrumAgileInstitute [email protected]

Page 3: Metodología de desarrollo SCRUM

Objetivos

uConocerlasprácticaságiles

uConocerlafilosofíaquesoportaScrum.

uConocerlasprácticasdeScrum.

Page 4: Metodología de desarrollo SCRUM

Conceptosiniciales

Page 5: Metodología de desarrollo SCRUM

Certeza yAcuerdo

Simple

Complicado

Complejo

Anarquía

Alta certeza Baja certeza

Alto

acu

erdo

Bajo

acu

erdo

StaceyRD.Strategicmanagementandorganizationaldynamics:thechallengeofcomplexity.3rded.Harlow:PrenticeHall,2002

Page 6: Metodología de desarrollo SCRUM

Efectividad delacomunicaciónPapel

(Documentos)Grabación de

AudioGrabación de

Video2 personaspor e-mail

2 personaspor telefono

2 personasen un tablero

Page 7: Metodología de desarrollo SCRUM

Incertidumbre

Initialproductdefinition

Approvedproductdefinition

Acceptedsoftware

Requirementsspecifications

Productdesign

specification

Detaileddesign

specification

ProjectSchedule

1.6x

1.25x

x

1.15x

1.1x

0.9x

0.85x

0.8x

0.6x

Page 8: Metodología de desarrollo SCRUM

ManifiestoÁgil

Personaseinteracciones

sobre procesosyherramientas

Softwarefuncionando

sobre documentacióncomprensible

Colaboraciónconclientes

sobre negociacióndecontratos

Responderaloscambios sobre seguirunplan

Aunquehayvalorenloselementosdeladerechavaloramosmás

losdelaizquierda

Page 9: Metodología de desarrollo SCRUM

PrincipiosdelManifiestoÁgil

1.Nuestraprincipalprioridadessatisfaceralclienteatravésdelaentregatempranaycontinuade

softwaredevalor.

2.Sonbienvenidoslosrequisitoscambiantes,inclusosillegantardeeneldesarrollo.Losprocesoságilessedobleganalcambio

comoventajacompetitivaparaelcliente.

3.Entregarconfrecuenciasoftwarequefuncione,en

periodosdeunpardesemanashastaunpardemeses,conpreferenciaenlosperiodos

breves.

4.Losresponsablesdelnegocioylosdesarrolladoresdeben

trabajar juntosdeformacotidianaatravésdelproyecto.

5.Construccióndeproyectosentornoaindividuosmotivados,dándoleslaoportunidadyelrespaldoquenecesitany

procurándolesconfianzaparaquerealicenlatarea.

6.Laformamásefectivayeficientedecomunicar

informacióndeunequipodedesarrolloyentresusmiembrosesmediantelaconversacióncara

acara.

7.Elsoftwarequefuncionaeslaprincipalmétricadelproceso.

8.Losprocesoságilespromueveneldesarrollosostenible.Los

patrocinadores,desarrolladoresyusuariosdebenmantenerunritmoconstantedeforma

indefinida.

9.Laatencióncontinuaalaexcelenciatécnica,mejorala

agilidad.

10.Lasimplicidadcomoartedemaximizar lacantidaddetrabajo

quenosehaceesesencial.

11.Lasmejoresarquitecturas,requisitosydiseñosemergen de

equiposautoorganizados.

12.Enintervalosregulares, elequiporeflexionasobrelaformadesermásefectivoyajustasuconductaenconsecuencia.

Page 10: Metodología de desarrollo SCRUM

Entregadevalor

PROYECTOS TRAD ICIONALES PROYECTOS ÁGI LES

Análisis Diseño Desarrollo Pruebas

Valorp

araelcliente:ProductoEntregado

Iteración1 Iteración2 Iteración3 …Iteraciónn

Valorp

araelcliente:ProductoEntregado

Page 11: Metodología de desarrollo SCRUM

Relación conelcliente

TRAD ICIONALES ÁGI LES

Page 12: Metodología de desarrollo SCRUM

Éxitosdeproyectoságiles

14%

57%

29%

Cascada

Exitosos

Nocumplieroncosto,calendarioy/ofuncionalidad

Fracasaron

42%

49%

9%

Ágil

Exitosos

Nocumplieroncosto,calendarioy/ofuncionalidad

Fracasaron

2012,ReporteChaos,Standish Group

Page 13: Metodología de desarrollo SCRUM

Razonesdefracasodeproyectoságiles

2014,VersionOne, Inc.All Rights Reserved.Annual State ofAgileDevelopment Survey

Page 14: Metodología de desarrollo SCRUM

PorquéSCRUM?

Page 15: Metodología de desarrollo SCRUM

Métodos Ágiles

• Scrum (KenSchwaber)

• XP(KentBeck)

• LeanSoftwareDevelopment (MaryPoppendieck)

• Crystal (Alistair Cockburn)

• Dynamic SystemDevelopment Method (Dane Faulkner)

• Adaptive SoftwareDevelopment (Jim Highsmith)

• Feature Driven Development (JeffDeLuca)

Máspreceptivo(Másreglaspara

seguir)RUP(120+) XP(13) SCRUM(9) Kanban (3) DoWathever!!

(0)

Más adaptativo(menosreglasparaseguir)

Page 16: Metodología de desarrollo SCRUM

Métodos Ágiles

2014,VersionOne, Inc.All Rights Reserved.Annual State ofAgileDevelopment Survey

Scrum ysusvariantesrepresentanmásdel73%delasmetodologías

queestánsiendousadas.

Page 17: Metodología de desarrollo SCRUM

Beneficios

• Sepuedegestionarlasexpectativasdelclientedemaneraregular(requisitosdesarrollados,velocidaddedesarrollo,calidad),ysepuedetomardecisionesencadaiteración.Consideraque:– Elclientenosabeexactamentequéesloquenecesita,lovasabiendoconformevaviendocualessonlosresultadosdelproyecto.

– Elclientenecesitahacercambiosacortoplazo(nuevosrequisitosocambiosenlosyarealizados).

– Elequiponecesitasabersiloquehaentendidoesloqueelclienteespera.

Page 18: Metodología de desarrollo SCRUM

Beneficios

• Elclientepuedeobtenerresultadosimportantesyutilizablesdesdelasprimerasiteraciones.

• Elclientepuedecomenzarelproyectoconrequerimientosdealtonivel.Sóloesnecesarioeldetallederequerimientosdelasprimerasiteracionesquesonlasqueaportanmásvalor.

• Sepuedeadministrardemaneranaturalloscambiosquevanapareciendoduranteelproyecto.

• Alfinalizarcadaiteraciónelequipopuededecidircomomejorarsuprocesodetrabajo,enfuncióndelaexperienciaobtenida.

Page 19: Metodología de desarrollo SCRUM
Page 20: Metodología de desarrollo SCRUM

Beneficios

• Permitemitigardesdeeliniciolosriesgosdelproyecto.

• Permitegestionarlacomplejidaddelproyecto.

• Permiteoptimizarelusoderecursos disponibles, generandocontinuamentelascaracterísticasdelproductodemayorvalor.

• Dadoquecadaiteracióndebedarcomoresultadorequerimientosterminados,seminimizael

numerodeerrores queseproduceneneldesarrolloyseaumentalacalidad.

Page 21: Metodología de desarrollo SCRUM

Restricciones

• Ladisponibilidad delclientedebeseraltadurantetodoelproyectodadoqueparticipademaneracontinua.

• Larelaciónconelclientehadeestarbasadaenlosprincipiosdecolaboraciónmásquetratarsedeunarelacióncontractual.

• Cadaiteracióndebedarcomoresultadorequisitosimplementados,demaneraqueelresultadosearealmenteútilparaelclienteynodejetareaspendientesparafuturasiteracionesoparalafinalizacióndelproyecto.

Page 22: Metodología de desarrollo SCRUM

QuéesScrum?“Scrum esunmarcodetrabajobasadoenunconjuntodevalores,principiosypracticasquesuministranlosfundamentosparaquecadaorganizaciónleagreguesuimplementaciónúnica”

Page 23: Metodología de desarrollo SCRUM

“Unmarcodetrabajoenelquelaspersonaspuedenhacerfrenteaproblemascomplejosadaptables,mientrasquedemaneraproductivaycreativaentreganproductosdelmayorvalorposible”.

Ligero

Fácil deentender

Extremadamentedifícil dedominar

Scrum NOesunprocesoouna técnicaparaconstruirproductos;enlugardeeso,esunmarcodetrabajodentrodelcualsepuedenemplearvarias

técnicasyprocesos

Page 24: Metodología de desarrollo SCRUM

QuéesScrum?

§ EselmétodoÁgilmáspopular.

§ Puedeseraplicado adiferentestiposdeactividades,nosoloadesarrollodesoftware.

§ Equiposenfocadosalresultado,quetrabajendeformaauto-dirigida.§Adaptacióncontinuaalascircunstanciasdelaevolucióndelproyecto.§ Centradoenlaspersonasybasadoenlosvaloresdehonestidad,apertura,esfuerzo,respeto,enfoque,confianza,empoderamiento ycolaboración.

Page 25: Metodología de desarrollo SCRUM

Enfatizavaloresypracticasdeadministración,ydemaneracomplementariacuestionestécnicasdedesarrollo.

Puedecomplementarseyconvivirconotrasmetodologíasagilesynoagiles

Page 26: Metodología de desarrollo SCRUM

CompromisoeInvolucración

“Habíaunavezunagallinaemprendedoraquequeríamontarunnegocio.

Comohabíacadavezmásanimalesenlagranjatuvolagranideademontarunrestaurante.Parallevaracabosuideanecesitabaunsocio.Asíquesedirigióhaciaelanimalquemásconfiabilidadledaba:Cerdo.

- HolaCerdo– ledijoGallina.Quieroabrirunrestauranteenlagranjayhepensadoquetalvezquerríassermisocio.

- Nosé– respondióCerdo.¿Ycuálseríaelplatoestrelladelrestaurante?

- ¡Quéteparece“huevosconjamón”!– respondióGallina.

- Nogracias.Creoquetúestaríasinvolucradaperoyotendríaqueestarcomprometido."

The difference between INVOLVEMENTand COMMITMENT is like HAM and

EGGS. The chicken is involved; the

pig is committed.-Martina Navratilova

Page 27: Metodología de desarrollo SCRUM

Pilares

Transparencia

Adaptación

Inspección

Valor

Compromiso

ConcentraciónFranqueza

Respeto

Page 28: Metodología de desarrollo SCRUM

Eventos•Sprint• Planning•Daily• Review•Retrospective•Refinement

Roles•Product Owner• Scrum Master• Equipodedesarrollo

Artefactos•Product Backlog• SprintBacklog• Incrementodelproducto

“LasreglasdeScrumrelacionanloseventos,rolesyartefactos,gobernandolasrelacionese

interaccionesentreellos”

Reglas

Page 29: Metodología de desarrollo SCRUM

CiclodeSCRUM

Page 30: Metodología de desarrollo SCRUM

RolesdeScrum

Scrum MasterGestionaelproceso

Product OwnerGestionaelproducto

yelROI

EquipodeDesarrolloSegestionaasímismoparadesarrollarelproducto

Page 31: Metodología de desarrollo SCRUM

• Responsable dequéserádesarrolladoyenquéorden

• Empoderadoparaserelpuntocentraldelproducto• Comunicaalosotrosparticipanteslavisióndeloqueseesperaobtener

• Responsabledeléxitodelasolucióndesarrollada• Responsabledequeserealiceeltrabajoquedémayorvalordenegocio(ROI)

• Responsablederevisarelproductodesarrollado• TrabajadeformacolaborativaconelScrum Masteryelequipodedesarrollo

• Debeestardisponiblepararesponderlaspreguntassobreelproductotanprontocomosepresenten

Product Owner

Page 32: Metodología de desarrollo SCRUM

Scrum Master

• GuiaralequipoencrearyseguirsupropioprocesoSCRUM

• FACILITADOR queayudaalequipoaresolverproblemasquesevayanpresentandoyamejorarlaaplicacióndelasprácticasdeSCRUM

• LíderdeprocesosayudandoalequipoalograrunaltodesempeñosiguiendoSCRUM

• Responsableporprotegeralequipodecualquierinterferenciaexterna

• Enseñaralequipoaautoadministrarse

• Guía lasreunionesdeScrum

• Esunmentor,nounaautoridad jerárquicaenelequipo

• Actúacomointerfaceentreelequipoylagerencia

• Tomaelliderazgopararesolverlosimpedimentosdelequipo

Page 33: Metodología de desarrollo SCRUM

• ResponsablespordeterminarcómoentregarelproductosolicitadoporelPO• Seauto-organizaparadeterminarlamejorformadecumplirconlasmetasdefinidasporelPO• Tamaño7+/-2(comúnmenteentre3y9)

• Equipomultifuncional• TrabajoenEquipo• Comunicaciónconstanteytransparente• Enfocadosycomprometidos

“Eltalentoganajuegos,peroeltrabajoenequipoganacampeonatos.”

MichaelJordan

EquipodeDesarrollo

Page 34: Metodología de desarrollo SCRUM

Artefactos

SprintBacklog

Product Backlog

ProductoIncremental

Page 35: Metodología de desarrollo SCRUM

Product Backlog

• Sebuscahacereltrabajomasvaliosoprimero

• Elproduct owner esresponsablepordeterminaryadministrarlasecuenciadetrabajo

• Inicialmentesonlascaracterísticas requeridasparacumplirlavisióndelproducto

• ElPOcolaboraconlosinvolucradospararecolectarydefinirloselementosdelPB

• Estáenconstanteevolución,sepuedenadicionar,eliminarocambiarprioridades aloselementos(Refinement)

AltaPrio

ridad

BajaPrio

ridad

Page 36: Metodología de desarrollo SCRUM

ElementosdelBacklog• Características:Comojugadorquieropodersaltarencualquiermomentodetalmaneraquepuedaevitarobstáculos

• Cambio:Comojugadordeseoqueelfondodelmenúinicialseaambientadoenunaestaciónespacialenvezdeenunaplataformadedespegueentierra.

• Defecto:Eliminardefecto5delsistemaderegistrodedefectos,paraevitarquelospersonajesquedenporencimadelospop-ups.

• Mejoratécnica:Migrarlosservicioswebamobile webservices deazure.

• Adquisicióndeconocimiento: Crearpruebasdeconceptodelosdosestilosgráficosyaplicarpruebasparadeterminarcualdelosdossonmasatractivosparaelusuariofinal.

Page 37: Metodología de desarrollo SCRUM

SprintBacklog

• SerevisaelPBysedeterminanloselementosdealtaprioridadquepuedanserrealmenteincluidosenelsprint

• Sedeterminala“Velocidad”delesquipoparadeterminareltiempo(esfuerzo)

• SedividenloselementosdelPBentareas

Codificar UI

8h

Revision de pares

4h

Diseñar menu

6h

Animar menú

8h

Elementos del Product Backlog

Tareas

Page 38: Metodología de desarrollo SCRUM

Incrementodelproductopotencialmenteentregable• Unaparteterminadadelproductoounincrementodelproductoexistente

• Elequipotieneconfianzaenqueelproductoestálistoparaserliberado

• Laliberaciónesunadecisióndenegocio

Page 39: Metodología de desarrollo SCRUM

Sprint

Page 40: Metodología de desarrollo SCRUM

Sprint

• CadaSprintdebecrearlagodevalortangibleparaelusuariooelcliente.

• Iteracionesregulares(TimeBox),entre1–4semanas.

• DuranteelSprintnosepermitencambiosenelSprintBacklog oenlaconformacióndelequipo.

• Serealizaunaplaneación aliniciodecadaSprintyunaretrospectivaalfinal.

Page 41: Metodología de desarrollo SCRUM

PlaneacióndelSprint(8hparaunsprintde1mes)

QuéHacer?• ElProduct Owner defineelObjetivodelSprint.

• Tomandoloselementosdemás altaprioridaddelProduct Backlog,elequipodedesarrollodeterminaloselementosquesecomprometeaimplementarenelSprint.

Cómohacerlo?• LoselementosdelPBseleccionadossedividenen

tareasparacrearelSprintBacklog.

Codificar UI

8h

Revision de pares

4h

Diseñar menu

6h

Animar menú

8h

Elementos del Product Backlog

Tareas

Page 42: Metodología de desarrollo SCRUM

Daily SCRUM(Daily)15minutos• Puntodeinspección yadaptación.

• Elequiposereune paracomunicaryentenderelestado.

• Esencialparaconocerelprogresocontinuoyevitarbloqueos.

• NotienecomoobjetivoreportarprogresoalScrumMaster,POocualquierotrostakeholder.

• ElPOpuedeparticiparperodeformapasiva.

• ElSMseaseguradequelareuniónselleveacaboysecumplaconeltiempo,peroesresponsabilidaddelED.

Page 43: Metodología de desarrollo SCRUM

Revisión delSprint(Review)4hparaunsprintde1mes• Demostración delasnuevasfuncionalidadesdesarrolladasduranteelsprint.

• Seinspecciona loentregadoyseobtieneretroalimentación delosasistentesparapoderadaptarelplanparapróximossprints.

• Debenasistirtodoslosinvolucradosrelevantes,paradarretroalimentaciónvaliosa.

• ElresultadoeselPBrevisado,quedefineloselementosposiblesparaelsiguientesprint.

Page 44: Metodología de desarrollo SCRUM

Reuniónderetrospectiva(Retrospective)3hparaunsprintde1mes• Seenfocaenlamejoracontinuadelproceso.

• SoloparticipaelequipoScrum.

• Seinspeccionacuáncolaborativoyproductivoeselequipoycomohacerparamejorar.

• Alfinalelequipodebehaberidentificadoysedebehabercomprometidoconaccionesdemejoraalproceso.

Page 45: Metodología de desarrollo SCRUM

RefinamientodelPB(Refinement)

10%duracióndelSprint• LolideraelProduct Owner

• ActividadColaborativaentreelequipoSCRUMeinvolucradosexternos.

• SóloelProduct Owner tomalasdecisiones.

Page 46: Metodología de desarrollo SCRUM

ResumeneventosSCRUM

EventoScrum Duración

Sprint 4Semanas 2Semanas 1Semana

Planning 8horas 4horas 2horas

Daily 15minutos

Review 4horas 2 horas 1hora

Retrospectiva 3horas 1,5horas 45minutos

Refinement 10%deladuración delsprint

Page 47: Metodología de desarrollo SCRUM

Herramientas paraSCRUM

• Redmine

• Trello

• Jira

Page 48: Metodología de desarrollo SCRUM

Gracias

Ing.VíctorGarzónMarí[email protected]