Gerenciamento de Projetos de TI com SCRUMPaulo Roberto Furtado Serra, CSM2009
ObjetivosRelembrar os principais problemas do Gerenciamento de Projetos
Repassar os princípios que norteiam as Metodologias Ágeis
Introduzir os principais conceitos do Scrum, bem como seus principais artefatos, papéis e cerimônias (reuniões)Apresentação do InstrutorPaulo Furtado Serra trabalha a mais de 10 anos na área de desenvolvimento de Software
A 3 anos vem se especializando em Metodologias de Gerenciamento e Desenvolvimento Ágeis
Mestre em Engenharia de Teleinformática pela Universidade Federal do Ceará
É CertifiedScrumMaster(CSM) pela ScrumAllianceProjetos...
Os três “Quem”- Quem já participou de algum projeto de software do Início ao Fim... 			... que tenha terminado no prazo?- Quem participa de algum projeto de software hoje?		Se sim, esse projeto já têm algo em produção?- Quem já participou de algum projeto de software onde os requisitos não mudaram? Se sim, então NÃO era um projeto de Software!
Estatísticas ChaosReportFonte: 	The Standish Group	http://www.infoq.com/articles/chaos-1998-failure-stats
Estatísticas Uso de FuncionalidadesStandish Group, 2002
Problemas ...Doenças do Gerenciamento de ProjetosMuita gente envolvida e pouca gente comprometidaMuitas barreiras de comunicação entre cliente e desenvolvedor
Doenças do  Gerenciamento de ProjetosMulti-tarefa nocivaEquipes enfrentam constantemente prioridades que mudam, fazendo com que interrompam uma tarefa e trabalhem em outraLei de ParkinsonMais tempo de segurança, mais tempo de projetoSíndrome do EstudanteO trabalho quase sempre é adiadoDependência entre tarefasO atraso é passado adiante, mas o adiantamento não
Comprometimento vs EnvolvimentoO porcoestáCOMPROMETIDOA galinhaestáapenasENVOLVIDA
Vocês conhecem essa?Continua fazendosentido?
Então, o que fazer?Em 2001, um grupo de profissionais veteranos na área de software decidiu se reunir em uma estação de esqui, nos EUA. O objetivo seria discutir formas de melhorar o desempenho de seus projetos. Embora cada envolvido tivesse suas próprias práticas e teorias sobre como fazer um projeto de software ter sucesso, cada qual com as suas particularidades, todos concordavam que, em suas experiências prévias, um pequeno conjunto de princípios sempre parecia ter sido respeitado quando os projetos davam certo;O grupo era composto de grandes nomes do mundo do software, tais como: Kent Beck, Jim Highsmith, Alistair Cockburn, Martin Fowler, Ken Schwaber e Jeff Sutherland;O encontro deu origem ao MANIFESTO ÁGIL
O Manifesto Ágil“Estamos descobrindo melhores maneiras de desenvolver software, fazendo software e ajudando outros a fazê-lo. Através deste trabalho passamos a valorizar:Processos e ferramentasIndivíduos e interaçõesMaisqueDocumentação abrangenteSoftware quefuncionaMaisqueNegociação de contratoColaboração do clienteMaisqueSeguir um planoResposta à mudançasMaisqueIsto é, embora haja valor nos itens do lado direito, nós valorizamos mais os do lado esquerdo.”http://www.agilemanifesto.org
Desenvolvimento em CascataPor que mudar isso?
Desenvolvimento Incremental e IterativoPensando um pouco...PlanejamentoPor FaseRequisitosEspecific.DesenvolvTestesProduçãoIsso não é do jeito que eu queria !!!Iteração 1Iteração 2Iteração NPor que não...Iterações?...Entrega 1Entrega 2
Empresas/Instituções que estão tendo sucesso com Agilee outras ...
SCRUM
O que é Scrum?Algumas definiçõesScrum é um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer trabalho.Scrum é um processo ágil para o gerenciamento e controle de projetos;Scrum é uma abordagem para desenvolvimento de sistemas e produtos onde os requisitos sofrem constantes mudanças;Scrum é um processo que controla o caos dos conflitos de interesses;
A Dinâmica do ScrumSprint
ArtefatosProductBacklogSprintBacklogBurndownChart
ProductBacklogCriado a partir de uma Visão do ProjetoLista de funcionalidades priorizadasMaiorprioridadeMenor Prioridade
SprintBacklogParte do ProductBacklog que vai ser feita numa iteração (Sprint)Montado a partir das funcionalidade que estão no topo do ProductBacklogMaiorprioridadeSprintBacklogMenor Prioridade
Mas o que é um Sprint?Um período de Tempo entre 2 a 4 semanasSempre deve ter um objetivo a ser atingidao pela equipeÉ normal que o tempo de duração dos Sprints possam variar no início do projeto, mas o ideal é que se chegue num tempo único para todos os sprintsTodos os Sprints devem pessuir uma estrutura exatamente igual
Estrutura de um Sprintdias1º2º3º4º5º6º7º8º9º10ºApresentaçãoSprintXPlanejamento – Sprint XPlanejamento – Sprint X+1RetrospectivaReunião diáriaReunião diáriaReunião diáriaReunião diáriaReunião diáriaReunião diáriaReunião diáriaReunião diáriaSprint X
Dinâmica do ProductBacklogHistóriasAltaAO que está dentro do SprintNão pode ser alterado.BSprint 1CDE- O que está fora do Sprint pode    Ser alterado de acordo com a     necessidade do cliente.  - Ele pode alterar prioridades,   inserir novas tarefas ou retirar   tarefas existentes.- Algumas tarefas podem ser   inseridas pela equipe.   Ex: Montar ambiente para         Integração contínuaFProductBacklogPrioridadeGHIBaixa
Papéis no ScrumProductOwnerScrumMaster Equipe
ProductOwnerDefine as funcionalidades do produtoDecide datas de lançamento e conteúdoResponsávelpelarentabilidade (Return Of Investiment - ROI)‏Priorizafuncionalidades de acordo com seuvalorpara o negócioGerencia a entrada de novosrequisitos e suasprioridadesAceitaourejeita o resultado dos trabalhos$$$$$$$$$$
Interação do PO com os UsuáriosUsuáriosProductOwnerIsso não impedeEquipe de desenvolvimento
ScrumMasterRepresenta a gerênciapara o projetoResponsávelpelaaplicação dos valores e práticas do ScrumRemove obstáculosGarante a plenafuncionalidade e produtividadedaequipeGarante a colaboração entre osdiversospapéis e funçõesEscudoparainterferênciasexternas
EquipeTamanhovariável , é aconcelhávelnãomaisque 9 pessoas e nãomenosque 4Multi-funcionalProgramadores, testadores, desenvolvedores...Aconcelháveltrocassónamudança de SprintsFaz o que for precisoparaalcançar a Meta do Sprint, umavezque se compromete com o quevai ser entregueApresentaaosinteressados o resultado do Sprint
CerimôniasPlanejamento do SprintReunião DiáriaDemonstraçãoRetrospectiva
Planejamento do Sprint(SprintPlanning Meeting)Reunião que defineO objetivo (meta) do SprintUma lista dos membros da equipe que estarão comprometidos com a metaUm SprintBacklog (lista com todas as funcionalidades incluídas no sprint)Uma Data para demonstrar que foi produzido durante o sprintHora e lugar definido para acontecerem as reuniões diáriasDependendo do projeto, esta reunião pode durar de 4 a 16 horas
Planejamento do SprintESTIMATIVASComo estimar?StoryPointsUm “peso” dado para cada históriaIndica quanto uma história é maior ou mais complexa que outraHorasTempo estimado por cada tarefa
Planejamento do SprintESTIMATIVAS em StoryPointsPlanningPoker
Reunião de planejamento de SprintReunião de PlanejamentoScrumMasterProductOwnerTime de Desenvolvimento
Reunião Diária(ScrumDaily Meeting)Objetivo
Cada membro deve responder as seguintes perguntas:O que você fez desde a última reunião diária?O que você pretende fazer até a próxima reunião diária?Existe algum problema que o impeça de realizar suas atividades?Duração
15 minutos (não mais que isso)
Sugestão: Todos em Pé
Qualquer pessoa pode participar, mas apenas o ScrumMaster e os Membros da Equipe pedem falarReunião de Demonstração(SprintReview)ObjetivoMostrar o que foi produzido no SprintDuração30 a 60 minutosParticipantesProduct Owner, Scrum Master, membros do time, clientes, Usuários, Stakeholders e qualquer pessoa que esteja interessada no resultado da SprintQualquer participante pode falar, fazer perguntas ou observações
Retrospectiva(SprintRetrospective)ObjetivoEnumerar o que funcionou e o que não funcionou durante o SprintDuração30 a 60 minutosParticipantesProduct Owner, Scrum Master e os membros do timeEsta reunião pode ser feita à frente de um quadro branco onde membro cola post its dizendo o que funcionou e o que não funcionouFeita após cada Sprint
RetrospectivaExemploTestesComunicação entre os membrosReuniões DiáriasFaltou melhor planejamento do SprintUsuário DistanteAlguns membros chegam tarde

Palestra de SCRUM em Juazeiro

  • 1.
    Gerenciamento de Projetosde TI com SCRUMPaulo Roberto Furtado Serra, CSM2009
  • 2.
    ObjetivosRelembrar os principaisproblemas do Gerenciamento de Projetos
  • 3.
    Repassar os princípiosque norteiam as Metodologias Ágeis
  • 4.
    Introduzir os principaisconceitos do Scrum, bem como seus principais artefatos, papéis e cerimônias (reuniões)Apresentação do InstrutorPaulo Furtado Serra trabalha a mais de 10 anos na área de desenvolvimento de Software
  • 5.
    A 3 anosvem se especializando em Metodologias de Gerenciamento e Desenvolvimento Ágeis
  • 6.
    Mestre em Engenhariade Teleinformática pela Universidade Federal do Ceará
  • 7.
    É CertifiedScrumMaster(CSM) pelaScrumAllianceProjetos...
  • 8.
    Os três “Quem”-Quem já participou de algum projeto de software do Início ao Fim... ... que tenha terminado no prazo?- Quem participa de algum projeto de software hoje? Se sim, esse projeto já têm algo em produção?- Quem já participou de algum projeto de software onde os requisitos não mudaram? Se sim, então NÃO era um projeto de Software!
  • 9.
    Estatísticas ChaosReportFonte: TheStandish Group http://www.infoq.com/articles/chaos-1998-failure-stats
  • 10.
    Estatísticas Uso deFuncionalidadesStandish Group, 2002
  • 11.
    Problemas ...Doenças doGerenciamento de ProjetosMuita gente envolvida e pouca gente comprometidaMuitas barreiras de comunicação entre cliente e desenvolvedor
  • 12.
    Doenças do Gerenciamento de ProjetosMulti-tarefa nocivaEquipes enfrentam constantemente prioridades que mudam, fazendo com que interrompam uma tarefa e trabalhem em outraLei de ParkinsonMais tempo de segurança, mais tempo de projetoSíndrome do EstudanteO trabalho quase sempre é adiadoDependência entre tarefasO atraso é passado adiante, mas o adiantamento não
  • 13.
    Comprometimento vs EnvolvimentoOporcoestáCOMPROMETIDOA galinhaestáapenasENVOLVIDA
  • 14.
  • 15.
    Então, o quefazer?Em 2001, um grupo de profissionais veteranos na área de software decidiu se reunir em uma estação de esqui, nos EUA. O objetivo seria discutir formas de melhorar o desempenho de seus projetos. Embora cada envolvido tivesse suas próprias práticas e teorias sobre como fazer um projeto de software ter sucesso, cada qual com as suas particularidades, todos concordavam que, em suas experiências prévias, um pequeno conjunto de princípios sempre parecia ter sido respeitado quando os projetos davam certo;O grupo era composto de grandes nomes do mundo do software, tais como: Kent Beck, Jim Highsmith, Alistair Cockburn, Martin Fowler, Ken Schwaber e Jeff Sutherland;O encontro deu origem ao MANIFESTO ÁGIL
  • 16.
    O Manifesto Ágil“Estamosdescobrindo melhores maneiras de desenvolver software, fazendo software e ajudando outros a fazê-lo. Através deste trabalho passamos a valorizar:Processos e ferramentasIndivíduos e interaçõesMaisqueDocumentação abrangenteSoftware quefuncionaMaisqueNegociação de contratoColaboração do clienteMaisqueSeguir um planoResposta à mudançasMaisqueIsto é, embora haja valor nos itens do lado direito, nós valorizamos mais os do lado esquerdo.”http://www.agilemanifesto.org
  • 17.
  • 18.
    Desenvolvimento Incremental eIterativoPensando um pouco...PlanejamentoPor FaseRequisitosEspecific.DesenvolvTestesProduçãoIsso não é do jeito que eu queria !!!Iteração 1Iteração 2Iteração NPor que não...Iterações?...Entrega 1Entrega 2
  • 19.
    Empresas/Instituções que estãotendo sucesso com Agilee outras ...
  • 20.
  • 21.
    O que éScrum?Algumas definiçõesScrum é um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer trabalho.Scrum é um processo ágil para o gerenciamento e controle de projetos;Scrum é uma abordagem para desenvolvimento de sistemas e produtos onde os requisitos sofrem constantes mudanças;Scrum é um processo que controla o caos dos conflitos de interesses;
  • 22.
    A Dinâmica doScrumSprint
  • 23.
  • 24.
    ProductBacklogCriado a partirde uma Visão do ProjetoLista de funcionalidades priorizadasMaiorprioridadeMenor Prioridade
  • 25.
    SprintBacklogParte do ProductBacklogque vai ser feita numa iteração (Sprint)Montado a partir das funcionalidade que estão no topo do ProductBacklogMaiorprioridadeSprintBacklogMenor Prioridade
  • 26.
    Mas o queé um Sprint?Um período de Tempo entre 2 a 4 semanasSempre deve ter um objetivo a ser atingidao pela equipeÉ normal que o tempo de duração dos Sprints possam variar no início do projeto, mas o ideal é que se chegue num tempo único para todos os sprintsTodos os Sprints devem pessuir uma estrutura exatamente igual
  • 27.
    Estrutura de umSprintdias1º2º3º4º5º6º7º8º9º10ºApresentaçãoSprintXPlanejamento – Sprint XPlanejamento – Sprint X+1RetrospectivaReunião diáriaReunião diáriaReunião diáriaReunião diáriaReunião diáriaReunião diáriaReunião diáriaReunião diáriaSprint X
  • 28.
    Dinâmica do ProductBacklogHistóriasAltaAOque está dentro do SprintNão pode ser alterado.BSprint 1CDE- O que está fora do Sprint pode Ser alterado de acordo com a necessidade do cliente. - Ele pode alterar prioridades, inserir novas tarefas ou retirar tarefas existentes.- Algumas tarefas podem ser inseridas pela equipe. Ex: Montar ambiente para Integração contínuaFProductBacklogPrioridadeGHIBaixa
  • 29.
  • 30.
    ProductOwnerDefine as funcionalidadesdo produtoDecide datas de lançamento e conteúdoResponsávelpelarentabilidade (Return Of Investiment - ROI)‏Priorizafuncionalidades de acordo com seuvalorpara o negócioGerencia a entrada de novosrequisitos e suasprioridadesAceitaourejeita o resultado dos trabalhos$$$$$$$$$$
  • 31.
    Interação do POcom os UsuáriosUsuáriosProductOwnerIsso não impedeEquipe de desenvolvimento
  • 32.
    ScrumMasterRepresenta a gerênciaparao projetoResponsávelpelaaplicação dos valores e práticas do ScrumRemove obstáculosGarante a plenafuncionalidade e produtividadedaequipeGarante a colaboração entre osdiversospapéis e funçõesEscudoparainterferênciasexternas
  • 33.
    EquipeTamanhovariável , éaconcelhávelnãomaisque 9 pessoas e nãomenosque 4Multi-funcionalProgramadores, testadores, desenvolvedores...Aconcelháveltrocassónamudança de SprintsFaz o que for precisoparaalcançar a Meta do Sprint, umavezque se compromete com o quevai ser entregueApresentaaosinteressados o resultado do Sprint
  • 34.
    CerimôniasPlanejamento do SprintReuniãoDiáriaDemonstraçãoRetrospectiva
  • 35.
    Planejamento do Sprint(SprintPlanningMeeting)Reunião que defineO objetivo (meta) do SprintUma lista dos membros da equipe que estarão comprometidos com a metaUm SprintBacklog (lista com todas as funcionalidades incluídas no sprint)Uma Data para demonstrar que foi produzido durante o sprintHora e lugar definido para acontecerem as reuniões diáriasDependendo do projeto, esta reunião pode durar de 4 a 16 horas
  • 36.
    Planejamento do SprintESTIMATIVASComoestimar?StoryPointsUm “peso” dado para cada históriaIndica quanto uma história é maior ou mais complexa que outraHorasTempo estimado por cada tarefa
  • 37.
    Planejamento do SprintESTIMATIVASem StoryPointsPlanningPoker
  • 38.
    Reunião de planejamentode SprintReunião de PlanejamentoScrumMasterProductOwnerTime de Desenvolvimento
  • 39.
  • 40.
    Cada membro deveresponder as seguintes perguntas:O que você fez desde a última reunião diária?O que você pretende fazer até a próxima reunião diária?Existe algum problema que o impeça de realizar suas atividades?Duração
  • 41.
    15 minutos (nãomais que isso)
  • 42.
  • 43.
    Qualquer pessoa podeparticipar, mas apenas o ScrumMaster e os Membros da Equipe pedem falarReunião de Demonstração(SprintReview)ObjetivoMostrar o que foi produzido no SprintDuração30 a 60 minutosParticipantesProduct Owner, Scrum Master, membros do time, clientes, Usuários, Stakeholders e qualquer pessoa que esteja interessada no resultado da SprintQualquer participante pode falar, fazer perguntas ou observações
  • 44.
    Retrospectiva(SprintRetrospective)ObjetivoEnumerar o quefuncionou e o que não funcionou durante o SprintDuração30 a 60 minutosParticipantesProduct Owner, Scrum Master e os membros do timeEsta reunião pode ser feita à frente de um quadro branco onde membro cola post its dizendo o que funcionou e o que não funcionouFeita após cada Sprint
  • 45.
    RetrospectivaExemploTestesComunicação entre osmembrosReuniões DiáriasFaltou melhor planejamento do SprintUsuário DistanteAlguns membros chegam tarde
  • 46.
  • 47.
  • 48.
  • 49.
    Paradigmas a seremquebradosEquipes auto-gerenciáveisEquipes multi-disciplinaresAté onde a documentação é últimoComunicaçãoReferênciaDesenvolvimento por iteraçõesZonas de conforto
  • 50.
    Referênciaswww.mountaingoatsoftware.com/scrumwww.scrumalliance.orgwww.controlchaos.comscrumdevelopment@yahoogroups.comAgile Software Developmentwith Scrum by Ken Schwaber and Mike BeedleAgile Project Management with Scrum by Ken SchwaberScrum and the Enterprise by Ken SchwaberScrum and XP from the trenches
  • 51.