Metodología de desarrollo SCRUM

Post on 22-Jan-2018

327 views 2 download

Transcript of Metodología de desarrollo SCRUM

Marcodetrabajoparaeldesarrolloyelmantenimientodeproductoscomplejos.

Ing.VíctorGarzónMarínIng.JorgeArmandoVillegas

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 vgarzom@gmail.com

Objetivos

uConocerlasprácticaságiles

uConocerlafilosofíaquesoportaScrum.

uConocerlasprácticasdeScrum.

Conceptosiniciales

Certeza yAcuerdo

Simple

Complicado

Complejo

Anarquía

Alta certeza Baja certeza

Alto

acu

erdo

Bajo

acu

erdo

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

Efectividad delacomunicaciónPapel

(Documentos)Grabación de

AudioGrabación de

Video2 personaspor e-mail

2 personaspor telefono

2 personasen un tablero

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

ManifiestoÁgil

Personaseinteracciones

sobre procesosyherramientas

Softwarefuncionando

sobre documentacióncomprensible

Colaboraciónconclientes

sobre negociacióndecontratos

Responderaloscambios sobre seguirunplan

Aunquehayvalorenloselementosdeladerechavaloramosmás

losdelaizquierda

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.

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

Relación conelcliente

TRAD ICIONALES ÁGI LES

Éxitosdeproyectoságiles

14%

57%

29%

Cascada

Exitosos

Nocumplieroncosto,calendarioy/ofuncionalidad

Fracasaron

42%

49%

9%

Ágil

Exitosos

Nocumplieroncosto,calendarioy/ofuncionalidad

Fracasaron

2012,ReporteChaos,Standish Group

Razonesdefracasodeproyectoságiles

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

Porqué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)

Métodos Ágiles

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

Scrum ysusvariantesrepresentanmásdel73%delasmetodologías

queestánsiendousadas.

Beneficios

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

– Elclientenecesitahacercambiosacortoplazo(nuevosrequisitosocambiosenlosyarealizados).

– Elequiponecesitasabersiloquehaentendidoesloqueelclienteespera.

Beneficios

• Elclientepuedeobtenerresultadosimportantesyutilizablesdesdelasprimerasiteraciones.

• Elclientepuedecomenzarelproyectoconrequerimientosdealtonivel.Sóloesnecesarioeldetallederequerimientosdelasprimerasiteracionesquesonlasqueaportanmásvalor.

• Sepuedeadministrardemaneranaturalloscambiosquevanapareciendoduranteelproyecto.

• Alfinalizarcadaiteraciónelequipopuededecidircomomejorarsuprocesodetrabajo,enfuncióndelaexperienciaobtenida.

Beneficios

• Permitemitigardesdeeliniciolosriesgosdelproyecto.

• Permitegestionarlacomplejidaddelproyecto.

• Permiteoptimizarelusoderecursos disponibles, generandocontinuamentelascaracterísticasdelproductodemayorvalor.

• Dadoquecadaiteracióndebedarcomoresultadorequerimientosterminados,seminimizael

numerodeerrores queseproduceneneldesarrolloyseaumentalacalidad.

Restricciones

• Ladisponibilidad delclientedebeseraltadurantetodoelproyectodadoqueparticipademaneracontinua.

• Larelaciónconelclientehadeestarbasadaenlosprincipiosdecolaboraciónmásquetratarsedeunarelacióncontractual.

• Cadaiteracióndebedarcomoresultadorequisitosimplementados,demaneraqueelresultadosearealmenteútilparaelclienteynodejetareaspendientesparafuturasiteracionesoparalafinalizacióndelproyecto.

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

“Unmarcodetrabajoenelquelaspersonaspuedenhacerfrenteaproblemascomplejosadaptables,mientrasquedemaneraproductivaycreativaentreganproductosdelmayorvalorposible”.

Ligero

Fácil deentender

Extremadamentedifícil dedominar

Scrum NOesunprocesoouna técnicaparaconstruirproductos;enlugardeeso,esunmarcodetrabajodentrodelcualsepuedenemplearvarias

técnicasyprocesos

QuéesScrum?

§ EselmétodoÁgilmáspopular.

§ Puedeseraplicado adiferentestiposdeactividades,nosoloadesarrollodesoftware.

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

Enfatizavaloresypracticasdeadministración,ydemaneracomplementariacuestionestécnicasdedesarrollo.

Puedecomplementarseyconvivirconotrasmetodologíasagilesynoagiles

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

Pilares

Transparencia

Adaptación

Inspección

Valor

Compromiso

ConcentraciónFranqueza

Respeto

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

Roles•Product Owner• Scrum Master• Equipodedesarrollo

Artefactos•Product Backlog• SprintBacklog• Incrementodelproducto

“LasreglasdeScrumrelacionanloseventos,rolesyartefactos,gobernandolasrelacionese

interaccionesentreellos”

Reglas

CiclodeSCRUM

RolesdeScrum

Scrum MasterGestionaelproceso

Product OwnerGestionaelproducto

yelROI

EquipodeDesarrolloSegestionaasímismoparadesarrollarelproducto

• Responsable dequéserádesarrolladoyenquéorden

• Empoderadoparaserelpuntocentraldelproducto• Comunicaalosotrosparticipanteslavisióndeloqueseesperaobtener

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

• Responsablederevisarelproductodesarrollado• TrabajadeformacolaborativaconelScrum Masteryelequipodedesarrollo

• Debeestardisponiblepararesponderlaspreguntassobreelproductotanprontocomosepresenten

Product Owner

Scrum Master

• GuiaralequipoencrearyseguirsupropioprocesoSCRUM

• FACILITADOR queayudaalequipoaresolverproblemasquesevayanpresentandoyamejorarlaaplicacióndelasprácticasdeSCRUM

• LíderdeprocesosayudandoalequipoalograrunaltodesempeñosiguiendoSCRUM

• Responsableporprotegeralequipodecualquierinterferenciaexterna

• Enseñaralequipoaautoadministrarse

• Guía lasreunionesdeScrum

• Esunmentor,nounaautoridad jerárquicaenelequipo

• Actúacomointerfaceentreelequipoylagerencia

• Tomaelliderazgopararesolverlosimpedimentosdelequipo

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

• Equipomultifuncional• TrabajoenEquipo• Comunicaciónconstanteytransparente• Enfocadosycomprometidos

“Eltalentoganajuegos,peroeltrabajoenequipoganacampeonatos.”

MichaelJordan

EquipodeDesarrollo

Artefactos

SprintBacklog

Product Backlog

ProductoIncremental

Product Backlog

• Sebuscahacereltrabajomasvaliosoprimero

• Elproduct owner esresponsablepordeterminaryadministrarlasecuenciadetrabajo

• Inicialmentesonlascaracterísticas requeridasparacumplirlavisióndelproducto

• ElPOcolaboraconlosinvolucradospararecolectarydefinirloselementosdelPB

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

AltaPrio

ridad

BajaPrio

ridad

ElementosdelBacklog• Características:Comojugadorquieropodersaltarencualquiermomentodetalmaneraquepuedaevitarobstáculos

• Cambio:Comojugadordeseoqueelfondodelmenúinicialseaambientadoenunaestaciónespacialenvezdeenunaplataformadedespegueentierra.

• Defecto:Eliminardefecto5delsistemaderegistrodedefectos,paraevitarquelospersonajesquedenporencimadelospop-ups.

• Mejoratécnica:Migrarlosservicioswebamobile webservices deazure.

• Adquisicióndeconocimiento: Crearpruebasdeconceptodelosdosestilosgráficosyaplicarpruebasparadeterminarcualdelosdossonmasatractivosparaelusuariofinal.

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

Incrementodelproductopotencialmenteentregable• Unaparteterminadadelproductoounincrementodelproductoexistente

• Elequipotieneconfianzaenqueelproductoestálistoparaserliberado

• Laliberaciónesunadecisióndenegocio

Sprint

Sprint

• CadaSprintdebecrearlagodevalortangibleparaelusuariooelcliente.

• Iteracionesregulares(TimeBox),entre1–4semanas.

• DuranteelSprintnosepermitencambiosenelSprintBacklog oenlaconformacióndelequipo.

• Serealizaunaplaneación aliniciodecadaSprintyunaretrospectivaalfinal.

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

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

• Elequiposereune paracomunicaryentenderelestado.

• Esencialparaconocerelprogresocontinuoyevitarbloqueos.

• NotienecomoobjetivoreportarprogresoalScrumMaster,POocualquierotrostakeholder.

• ElPOpuedeparticiparperodeformapasiva.

• ElSMseaseguradequelareuniónselleveacaboysecumplaconeltiempo,peroesresponsabilidaddelED.

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

• Seinspecciona loentregadoyseobtieneretroalimentación delosasistentesparapoderadaptarelplanparapróximossprints.

• Debenasistirtodoslosinvolucradosrelevantes,paradarretroalimentaciónvaliosa.

• ElresultadoeselPBrevisado,quedefineloselementosposiblesparaelsiguientesprint.

Reuniónderetrospectiva(Retrospective)3hparaunsprintde1mes• Seenfocaenlamejoracontinuadelproceso.

• SoloparticipaelequipoScrum.

• Seinspeccionacuáncolaborativoyproductivoeselequipoycomohacerparamejorar.

• Alfinalelequipodebehaberidentificadoysedebehabercomprometidoconaccionesdemejoraalproceso.

RefinamientodelPB(Refinement)

10%duracióndelSprint• LolideraelProduct Owner

• ActividadColaborativaentreelequipoSCRUMeinvolucradosexternos.

• SóloelProduct Owner tomalasdecisiones.

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

Herramientas paraSCRUM

• Redmine

• Trello

• Jira

Gracias

Ing.VíctorGarzónMarínScrumMastervgarzom@gmail.com