of 40/40
Desenvolvimento ágil usando Scrum Desenvolvimento ágil usando Scrum Bruno Câmara [email protected] 14 e 15 de Abril de 2005 Seminário “Metodologias Ágeis de Software”, ISCTE Bruno Câmara [email protected] 14 e 15 de Abril de 2005 Seminário “Metodologias Ágeis de Software”, ISCTE

Desenvolvimento ágil usando Scrum (Abril, 2005)

  • View
    184

  • Download
    2

Embed Size (px)

DESCRIPTION

Desenvolvimento ágil usando Scrum Seminário "Metodologias Ágeis de Software, 14 e 15 de Abril de 2005, ISCTE

Text of Desenvolvimento ágil usando Scrum (Abril, 2005)

  • 1. Desenvolvimento gil usando Scrum Bruno [email protected] e 15 de Abril de 2005Seminrio Metodologias geis de Software, ISCTE

2. Agenda Introduo ao Scrum Papis Actividades Artefactos Escalabilidade Scrum e XP Ferramentas Como comear 3. Origens do Scrum The New New Product Development Game in Harvard BusinessReview, 1986, by Hirotaka Takeuchi and Ikujiro Nonaka The relay race approach to product developmentmay conflict with the goals of maximum speed and flexibility. Instead a holistic or rugby approachwhere a team tries to go the distance as a unit, passing the ball back and forthmay better serve todays competitive requirements. Wicked Problems, Righteous Solutions by DeGrace and Stahl,1990. 1 meno ao Scrum no contexto de desenvolvimento de Software Abordagem Systems Thinking by Peter Senge at MIT (1990) O sistema visto de uma forma holstica (interaces entre as diversas partes do sistema) 4. Histria do Scrum 1993 - Ken Schwaber desenvolveu na ADM umaframework iterativa e incremental 1994 - Jeff Sutherland definiu o Scrum em Easel Ken and Jeff refinam Scrum 1996 IDX usa Scrum em projectos com ~600 pessoas 1996 Scrum apresentado na OOPSLA 2000 Prticas XP usadas conjuntamente com Scrum ([email protected] Scrum) 2001 Ken e Mike Beedle editam o 1 livro de Scrum 2003 Certificaes Scrum 5. O Zen do Scrum O Scrum simples Consiste num conjunto reduzido de boas prticas degesto O Scrum difcil Exige dedicao e bom senso Exige inspeces constantes e adaptaes O Scrum subtil As prticas so sinergticas Benefcios elevados emergem 6. Processo Emprico Visibilidade Os aspectos importantes devem ser visveis Realstico e verdadeiro Inspeco Inspeco frequentes Capacidade de avaliar Adaptao Monitorar resultados Ajustamentos rpidos 7. Caractersticas do Scrum Framework iterativa e incremental Cada iterao foca nas necessidades maisprioritrias Time-Boxing: as actividades so definidascom uma durao fixa Cada iterao finalizada comfuncionalidades completas (Sashimi) 8. Caractersticas do Scrum No especfica qualquer tipo de prticasna construo As Equipas so auto-organizadas O Scrum orientado aos objectivos eresultados The Art of the possible 9. Estrutura do ScrumFonte: Adaptado de Agile SoftwareDevelopment with Scrum, Ken Schwaberand Mike Beedle. 24 horas Daily ScrumSeleco dosrequisitos para Sprint Backlog 30 diaso Sprint(Tarefas)Product BacklogIncremento de funcionalidadeViso, Mapa deno produto (potencialmenteReleases, Prioritizao de Requisitos pronto para Produo)Product Backlog 10. Papis Scrum Uma piada sobre Chickens e Pigs Ham and Eggs Pig: uma pessoa que est totalmente commitedno projecto Chicken: uma pessoa que est apenas envolvida Mtrica: if you can be fired for allowing the project to fail youare a pig. If you keep your job, even if the project fails, yourea chicken. 11. Papis Scrum ScrumMaster Responsvel pelo processo Scrum Product Owner Responsvel pela viso do produto e peloretorno do investimento. Team Equipa responsvel por executar os planosdefinidos para o produto 12. ScrumMaster Ensina os as prticas e valores do Scrum Garante que todas as regras inerentes ao Scrum socumpridas Remove impedimentos Ajuda o Product Owner na prioritizao de requisitos Tipicamente preenchido por um Gestor de Projecto ouum Team Leader Sheepdog 13. Product Owner Representa os interesses de todas aspartes interessadas no produto Define o roadmap do produto Define e prioritiza os requisitos (BusinessValue) Inspecciona incrementos defuncionalidades 14. Team Equipa que contempla todos os papisfuncionais (cross-functional) A equipa gere-se a si mesmo Tipicamente 5-10 pessoas (idealmente 7) Responsvel pelas prticas de construo Responsvel pela gesto das tarefasdurante o Sprint 15. Actividades Sprint Planning Sprint Sprint Review Sprint Retrospective Daily Scrum 16. Sprint Planning 1 dia de Durao Participam ScrumMaster, Product Owner eEquipa O Product Owner deve trazer preparado oProduct Backlog Duas partes (1) Seleccionar os requisitospara o Sprint, (2) Planeamento do SprintBacklog 17. Sprint Planning 1 Parte Durao de 4 horas O Product Owner e a Equipa discutemsobre os itens do Product Backlog O Product Owner e a Equipa seleccionamos itens para o Sprint 18. Sprint Planning 2 Parte Durao de 4 horas A Equipa define as tarefas necessrias A Equipa estima o esforo das tarefas A Equipa faz o escalonamento das tarefaspelos diferentes membros O Product Owner pode estar presente parao esclarecimento de dvidas 19. Sprint Durao de 30 dias A Equipa pode procurar esclarecimentosfora da Equipa A Equipa no pode receber instruesdirectamente de fora O Product Backlog associado ao Sprintactual mantm-se estvel durante o Sprint A Equipa actualiza o Sprint Backlog 20. Daily Scrum Durao 15 minutos (Very small Exposurerequires very little ceremony) Deve ser a 1 actividade do dia Todos os membros da Equipa e o ScrumMasterdevem participar Chickens podem assistir, mas no participar O principal objectivo a sincronizao entre osvrios elementos da Equipa. 21. Daily Scrum Todos os elementos da Equipa devemresponder a 3 questes O que que eu fiz ontem? O que que eu vou fazer hoje? Que obstculos esto a impedir que euprogrida? Reunies necessrias so agendadas paradepois da reunio 22. Sprint Review Durao de 4 horas A Equipa demonstra ao Product Owner e a todas aspartes interessadas as funcionalidades completas noSprint Rever os objectivos do Sprint, e responder a questes O Product Backlog sofre os ajustamentos necessrios O Product Backlog pode decidir lanar uma release(Stabilization Sprint durante 2 semanas) 23. Sprint Retrospective Durao de 3 horas ScrumMaster, Equipa e Product Owner 2 Questes: O que correu bem durante o Sprint? O que pode ser melhorado para o prximo Sprint? A Equipa prioritiza melhorias A Equipa define itens para o prximo SprintBacklog 24. Artefactos Scrum Product Backlog Sprint Backlog Burndown Chart Product Increment Where is the Gantt Chart!? 25. Product Backlog Define os requisitos funcionais e nofuncionais, com a respectiva prioridade Associado a cada requisito existe umaestimativa grosseira de esforo Nunca est completo Pode a qualquer altura ser alterado 26. Product Backlog - ExemploFonte: Mountain Goat Software. 27. Sprint Backlog Define as tarefas a serem realizadasdurante o Sprint As tarefas devem ser divididas de forma aque cada tarefa demore 4-16 horas Apenas a Equipa pode alterar No final do dia, cada membro da equipadeve actualizar o Sprint Backlog 28. Sprint Backlog - Exemplo Fonte: Mountain Goat Software. 29. Burndown Chart Mostra a evoluo ao longo do tempo, doesforo necessrio para a concluso doproduto/Sprint Permite fazer what-if analysis: se euremover determinada funcionalidade qualser a nova data expectvel da release? 30. Burndown Chart - Exemplo 31. Product Increment Incremento nas funcionalidades doproduto O incremento em causa deve estarcompleto: testado, documentado, cdigode produo O Product Owner pode decidir olanamento de uma nova release com oIncremento em causa. 32. Escalabilidade Scrum de Scrums / Meta-Scrum 33. Scrum+XP O Scrum no especifica qualquer prticade engenharia de construo de software Scrum pode ser combinado com outrasmetodologias: adoptar boas prticasdurante o Sprint) Scrum pode ser combinado com XP XP @ Scrum (Ken Schwaber) XBreed (Mike Beedle) 34. Scrum @ XPPrticas de XP:-Simple Design-TDD-Refactoring 24 horas -Pair Programming Reunio-Continous IntegrationDaily Scrum -Coding Standards-Collective OwnershipSprint Backlog30 diasSeleco dos(Tarefas)requisitos para oSprintProduct Backlog Incremento de funcionalidadePrioritizao de Requisitosno produto (potencialmenteponto para Produo)Fonte: Adaptado de Agile SoftwareDevelopment with Scrum, Ken Schwaber eMike Beedle. 35. Ferramentas Version One (www.versionone.net) Possui uma variante dedicada exclusivamentepara Scrum TargetProcess (www.targetprocess.com) Existe uma verso Free ScrumWorks (www.scrumworks.com) Rally (www.rallydev.com) 36. Ferramentas - VersionOne 37. Como comear Ensinar a teoria de Scrum Seleccionar um projecto piloto Ateno aos elementos da Equipa O que esperar do 1 Scrum: progresso inicial mais lento do que se esperava A Equipa leva algum tempo para se auto-organizar A Equipa tem dificuldade em se focar no plano dirio Ser necessrio o encorajamento de visibilidade etransparncia 38. Como comear Estar atento aos sintomas de um mau Scrum Perda de ritmo: Os Sprints no tm todos a mesmadurao Talking Chickens: Chickens participam no DailyScrum Missing Pigs: Nem todos os Pigs participam no DailyScrum ScrumMaster atribui tarefas: as tarefas devem serassignadas pela prpria Equipa O Daily Scrum para o ScrumMaster Papis especializados na equipa 39. Resources Agile Software Development with Scrum (Ken Schwaber eMike Beedle) Agile Project Management with Scrum (Ken Schwaber) www.controlchaos.com www.moutaingoatsoftware.com/scrum www.agilealliance.org http://Groups.yahoo.com/group/srumdevelopment http://www.agilelogic.com/ 40. Questes