Upload
grupo-gnulinux-unicauca
View
324
Download
2
Embed Size (px)
Citation preview
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 [email protected]
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í[email protected]