3. Realidade atual sobre desenvolvimento de projetos de software Como tem sido o desenvolvimento dos seus projetos de software? Gerenciamento de Projetos com SCRUM Ricardo P. Silva
4. Realidade atual sobre desenvolvimento de projetos de software O que é sucesso em projetos de desenvolvimento de software? Gerenciamento de Projetos com SCRUM Ricardo P. Silva
5. Realidade atual sobre desenvolvimento de projetos de software Você tem obtido mais sucessos ou fracassos em seus projetos de desenvolvimento de software? Gerenciamento de Projetos com SCRUM Ricardo P. Silva
6. Realidade atual sobre desenvolvimento de projetos de software Quais foram os fatores de sucesso? Gerenciamento de Projetos com SCRUM Ricardo P. Silva
7. Realidade atual sobre desenvolvimento de projetos de software Quais foram os fatores de fracasso? Gerenciamento de Projetos com SCRUM Ricardo P. Silva
8. Algumas estatísticas sobre projetos de desenvolvimento de software. O Standish Group há mais de uma década realiza estudos baseados nos resultados obtidos em desenvolvimento de projetos de softwares ao redor do mundo. O resultado deste estudo é o chaos report. http://www.standishgroup.com/ Gerenciamento de Projetos com SCRUM Ricardo P. Silva
9. Algumas estatísticas sobre projetos de desenvolvimento de software. http://www.standishgroup.com/ Gerenciamento de Projetos com SCRUM Ricardo P. Silva
10. Algumas estatísticas sobre projetos de desenvolvimento de software. http://www.standishgroup.com/ Gerenciamento de Projetos com SCRUM Ricardo P. Silva
11. Algumas estatísticas sobre projetos de desenvolvimento de software. Segundo o Standish Group, em relatório publicado em março de 2007, os principais fatores que contribuíram para a melhora dos resultados no desenvolvimento dos projetos de software foram um melhor gerenciamento destes projetos atrelado ao desenvolvimento interativo. http://www.standishgroup.com/ Gerenciamento de Projetos com SCRUM Ricardo P. Silva
12. Algumas estatísticas sobre projetos de desenvolvimento de software. Ao mesmo tempo este relatório indica que as causas de ainda existir um número tão elevado de fracassos nesses projetos são a falta de clareza sobre funções pessoais dentro das equipes, falta de clareza sobre responsabilidades e requisitos e inabilidade para acompanhar o que ocorre em cada um dos diferentes passos do ciclo de vida da aplicação. http://www.standishgroup.com/ Gerenciamento de Projetos com SCRUM Ricardo P. Silva
13. . Gerenciamento de Projetos com SCRUM Ricardo P. Silva Como o cliente descreveu Como o líder do projeto entendeu Como o analista projetou Como o prog. implementou. Como o programa era estável O que os beta testers receberam Como o vendedor descreveu Como o projeto foi documentado Como o projeto foi instalado Como o cliente foi cobrado Até onde o suporte técnico pôde ajudar Do que o cliente realmente precisava Essa é velha, mas continua sendo verdade…
14. Algumas estatísticas sobre projetos de desenvolvimento de software. Percentual de uso de funcionalidades solicitadas no momento da especificação de um projeto junto ao cliente: http://www.standishgroup.com/ Gerenciamento de Projetos com SCRUM Ricardo P. Silva
15. Primeiras Conclusões: Todas estas análises nos fazem concluir inicialmente que na maioria dos casos a comunicação entre as partes envolvidas nos projetos é muito fraca, a visibilidade do andamento real e dos problemas que estão acontecendo dentro dos projetos também é muito fraca, clientes e/ou usuários sempre pedem muito mais do que realmente precisam fazendo com que os projetos na sua grande maioria fiquem mais caros e como pudemos comprovar também na sua grande maioria mal sucedidos, isso sem contar o fato de que os conflitos existentes entre TI e negócios durante os projetos são muitos. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
16. Visão do Cliente: Problema Ele sabe que seus fornecedores não somente odeiam mudanças de requisitos como procuram se respaldar deste tipo de problema por meio de contratos pré-estabelecidos, com isso, o cliente se vê em uma situação onde no início do projeto ele precisa definir tudo o que precisa, mas a verdade é que neste momento ele não apenas está inseguro sobre suas necessidades nesse nível de amplitude e detalhe, como também conhece os riscos de mudanças de necessidades ao longo do projeto pelo simples fato do mercado ser dinâmico e das necessidades evoluírem ou simplesmente mudarem. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
17. Visão do Cliente: Solução Para sofrer o menos possível ao longo do projeto, o cliente insere o máximo possível de requisitos na listagem inicial de requisitos do projeto colocando tudo o que lhe for possível imaginar neste momento acreditando que assim o risco de faltarem requisitos na hora da entrega do projetos seja menor. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
18. Visão do Fornecedor: Problema Ele sabe que seus clientes forneceram na etapa inicial do projeto, requisitos ainda muito vagos e que ao longo do projeto o cliente fatalmente irá necessitar ou de mudanças de requisitos, ou da inclusão de novos requisitos, principalmente quando houverem validações do produto junto ao cliente, com certeza este terá seu espírito criativo aguçado neste momento dando a ele a inicativa de criar novas funcionalidades para serem acrescentadas ao projeto. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
19. Visão do Fornecedor: Solução Documentar ao máximo as solicitações feitas pelo cliente ao longo da etapa de levantamento para que esta documentação sirva como “prova” a ser apresentada nos momentos em que o cliente quiser fazer alterações no escopo do projeto. Além disso o fornecedor também acrescenta grandes margens tanto de tempo quanto financeiras no projeto comprometendo-se assim a fazer uma única, ou uma grande entrega apenas no final do projeto. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
20. Moral da História: Não é preciso ser nenhum expert para concluir que isto gera um verdadeiro cenário de guerra entre clientes e fornecedores, cada um preocupado em se respaldar e obter o máximo de seus interesses atendidos independente do ônus que isso possa causar a contra-parte e no fim deste dilema quem sai perdendo é sem sombra de dúvidas a empresa/instituição. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
21. ? A proposta para evitar ao máximo e quem sabe até eliminar totalmente este cenário de caos é fazer com que a Tecnologia, os Processos e as Pessoas envolvidas em um projeto de desenvolvimento de software consigam o máximo de comunicação, transparência e convergência em prol de um único objetivo comum a todos. Ai entra o SCRUM. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
22. Agilidade na Gestão e no Desenvolvimento de Projetos de Software O QUE É AGILIDADE? Gerenciamento de Projetos com SCRUM Ricardo P. Silva
23. Agilidade na Gestão e no Desenvolvimento de Projetos de Software O QUE É AGILIDADE? Apesar desta parecer ser uma pergunta simples, quando a aplicamos ao contexto de projetos de software, chegamos a conclusão de que existem um conjunto de variáveis que precisam ser analisadas e contextualizadas em certos momentos da vida de um projeto de software para se ter uma resposta realmente aplicável e passível de ser validada na prática. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
24.
25.
26. Um belo dia em um tempo não tão distante (fev/2001) , 17 dos grandes pensadores da área de desenvolvimento de software se reuniram em Utah, Estados Unidos, com o objetivo de que cada um explicasse como conduzia seus projetos de desenvolvimento de software. Alguns dos nomes presentes eram Martin Fowler, Ken Schwaber, Robert C. Martin, Kent Beck, Jon Kern, Jeff Sutherland dentre outros. O fruto desta reunião foi o manifesto ágil, um conjunto de valores ágeis que resumem todas as diferentes metodologias apresentadas neste evento, valores estes que representam um consenso entre todos os participantes do encontro. Gerenciamento de Projetos com SCRUM Ricardo P. Silva
27. . Gerenciamento de Projetos com SCRUM Ricardo P. Silva Alguns Princípios do Manifesto Ágil Pessoas e iterações são mais importantes que processos e ferramentas Software funcionando é mais importante que uma documentação extensa O relacionamento com o cliente é mais importante que a negociação do contrato Responder a mudanças é mais importante que seguir o planejamento
28. . Gerenciamento de Projetos com SCRUM Ricardo P. Silva Precisamos ter em mente que não estamos tirando a importância ou descartando a necessidade de fatores como ferramentas, documentação ou planejamento, mas sim estamos afirmando que os ítens a esquerda são mais importantes que os da direita.
29. . Gerenciamento de Projetos com SCRUM Ricardo P. Silva Vamos finalmente falar de SCRUM Neste evento em Utah, Ken Schwaber apresentou um conjunto de práticas extremamente efetivas para o gerenciamento de projetos de software, práticas estas altamente focadas em objetivos, ao conjunto destas práticas ela chamou de SCRUM. É importante citar que SCRUM como as demais metodologias ágeis apresentadas em Utah não foram inventadas nesta ocasião, elas já estavam em pleno estudo, desenvolvimento e aprimoramento desde os anos 80.
30. Gerenciamento de Projetos com SCRUM Ricardo P. Silva O que é SCRUM Um processo ágil, leve, iterativo e incremental para ser utilizado no gerenciamento e controle de qualquer tipo de projeto. SCRUM aumenta significativamente a produtividade e reduz o tempo para se obter resultados.
31.
32. . Gerenciamento de Projetos com SCRUM Ricardo P. Silva O que é SCRUM Processos: Reunião de Planejamento, Retrospectiva, Reunião Diária, Planejamento de Release, Sprints … Ferramentas: Quadro Kanban, Post-it, User Stories, Burndown... Pessoas: ScrumMaster, Product Owner, Time... Cultura: Time multidisciplinar, autogerenciamento... Valores: Envolvimento do cliente, entrega frequente, liderança, colaboração, respeito ...
33.
34.
35.
36.
37. . Gerenciamento de Projetos com SCRUM Ricardo P. Silva Papéis dentro do SCRUM Ricardo P. Silva
38. . Gerenciamento de Projetos com SCRUM Ricardo P. Silva Estrutura do SCRUM
39. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Estrutura do SCRUM VISÃO O PO define a visão do produto que representa sua necessidade, é o que deve ser satisfeito no fim do projeto. Para definir esta visão, o PO colhe informações com clientes, usuários finais, time, gerentes, stakeholders, executivos, etc...
40. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Estrutura do SCRUM PRODUCT BACKLOG O PO cria uma lista inicial de necessidades que precisam ser produzidas para que a visão do projeto seja bem sucedida. Esta lista de necessidades é chamada de Product Backlog. O Scrum Master deve auxiliar o PO na elaboração desta lista.
41. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Estrutura do SCRUM PLANEJAMENTO DA SPRINT Antes de iniciar cada iteração (Sprint) o time deve se reunir e definir o planning meeting. Nesta reunião o time deverá realizar o planejamento do que deverá ser entregue ao final do ciclo da Sprint (2 a 4 semanas)
42. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Estrutura do SCRUM No planejamento da sprint o PO deverá definir a meta da Sprint e expor para o time o itens mais prioritários do Product Backlog. O time deve estimar os itens em tamanho e definir o que acredita que pode ser implementado dentro da sprint. Essa listagem é chamada de Selected Product Backlog. O facilitador desta reunião deve ser o Scrum Master.
43. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Estrutura do SCRUM Na segunda parte do planejamento da sprint o time deverá colher mais detalhes do selected product backlog e decompô-los em tarefas gerando assim o sprint back-log. Para isso pode ser necessário a ajuda de especialistas. Após isso cada membro deve selecionar as atividades que deseja executar na sprint e estimá-las em horas. Mais uma vez o Scrum Master é o Facilitador.
44. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Estrutura do SCRUM REUNIÃO DIÁRIA Diariamente o Time realiza uma reunião de 15 minutos na qual cada membro deve responder: O que eu fiz? O que pretendo fazer? Tive ou estou tendo algum problema? Mais uma vez o Scrum Master é o Facilitador tendo a consciência de que a reunião é para o time e não para ele.
45. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Estrutura do SCRUM REVISÃO DA SPRINT Ao final da Sprint ocorre a review meeting, reunião em que os resultados são aprsentados pelo time ao PO. Nesta reunião o PO avalia se a meta foi ou não atingida. PO faz anotações que poderão se tornar em novos itens para o Product Backlog.
46.
47. Gerenciamento de Projetos com SCRUM Ricardo P. Silva ARTEFATO PRODUCT BACKLOG Prioridade Descrição Sprint Esforço Conclusão 1 Emitir Pedido 1 2 Faturar Pedido 1 3 Aprovar Pedido 1 4 Integração com ERP
48. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Usando Estórias do Usuário (USER STORY) para definir o Product Backlog O que é uma estória (user story)? É uma pequena descrição, que detalha um item do Product Backlog. Para que serve a Estória: Uma estória ajuda no entendimento e também é, utilizada como lembrete e para as atividades de planejamento. Ele também permite fazer a estimativa de velocidade da equipe e a duração da Sprint. Como escrever uma estória: Conversações sobre a história, entre os desenvolvedores, clientes de modo a detalhar a o item e esclarecer todas as dúvidas sobre o que deve ser feito.
50. Gerenciamento de Projetos com SCRUM Ricardo P. Silva USER STORY deve ser INVEST I – Independente N – Negociável V – Valiosa (para o cliente) E – Estimável S – Small (pequena) T - (Testável)
51. Gerenciamento de Projetos com SCRUM Ricardo P. Silva INDEPENDENTE O Usuário pode pagar o bilhete da passagem aérea com VISA O Usuário pode pagar o bilhete da passagem aérea com MASTERCARD O Usuário pode pagar o bilhete da passagem aérea com AMEX
52. Gerenciamento de Projetos com SCRUM Ricardo P. Silva NEGOCIÁVEL O Usuário pode pagar o bilhete da passagem aérea com cartõ de crédito. Nota: serão aceitos visa, mastercard e amex, considerar aura
53. Gerenciamento de Projetos com SCRUM Ricardo P. Silva NEGOCIÁVEL O Usuário pode pagar o bilhete da passagem aérea com cartõ de crédito. Nota: serão aceitos visa, mastercard e amex, considerar aura
54. Gerenciamento de Projetos com SCRUM Ricardo P. Silva VALIOSA As conexões com banco de dados devem ser feits a partir de um pool de conexões Mais de 10 usuários devem ser capazes de usar o sistema ao mesmo tempo sem problemas de performance.
55. Gerenciamento de Projetos com SCRUM Ricardo P. Silva ESTIMÁVEL Possíveis problemas: 1 – Desenvolvedor não conhece o negócio 2 – Desenvolvedor não tem conhecimento técnico 3 – A User Story é muito grande
56. Gerenciamento de Projetos com SCRUM Ricardo P. Silva SMALL O Usuário pode pagar o bilhete da passagem aérea com VISA O Usuário pode pagar o bilhete da passagem aérea com MASTERCARD O Usuário pode pagar o bilhete da passagem aérea com AMEX O Usuário pode pagar o bilhete da passagem aérea com Cartão de Crédito
57. Gerenciamento de Projetos com SCRUM Ricardo P. Silva TESTÁVEL O usuário nunca deve esperar muito tempo para receber o resultado da confirmação do pagamento O usuário nunca deve esperar mais do que 10 segundos para receber o resultado da confirmação do pagamento
58. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Definindo Papéis de Usuários O Usuário pode pagar o bilhete da passagem aérea com VISA O Usuário pode pagar o bilhete da passagem aérea com MASTER O Usuário pode pagar o bilhete da passagem aérea com AMEX O usuário pode realizar o check-out do hospede O Usuário pode aprovar reserva de hospedagem O usuário pode alterar senhas dos usuários cadastrados no sistema O Usuário pode cadastrar novos usuários no sistema O Usuário pode consultar pagamentos aprovados HOSPEDE ATENDENTE ADMINISTRADOR
59. . Gerenciamento de Projetos com SCRUM Ricardo P. Silva DETALHANDO O PLANEJAMENTO DA SPRINT Só pra reforçar, o conceito de sprint: “ Sprint é um período de tempo entre 2 e 4 semanas que dever ser fixo, dentro do qual o time do projeto irá produzir uma parte do produto definido pelo cliente” “ O conceito de sprint no remete ao fato de estarmos entregando frequentemente algo de valor par nosso cliente” “ Cada sprint deve ter uma meta específica que represente o desejo do cliente para aquele período”
60. Gerenciamento de Projetos com SCRUM Ricardo P. Silva OBJETIVO DA SPRINT DEVE SER “SMART” S – Specifc ( Específico ) M – Mensurable ( Mensurável ) A – Achivable ( Atingível ) R – Realistic ( Realista ) T – Timed ( Datado )
62. Gerenciamento de Projetos com SCRUM Ricardo P. Silva OBJETIVO DA SPRINT ÍTEM PENDENTE ALOCADO PRONTO
63.
64. Gerenciamento de Projetos com SCRUM Ricardo P. Silva Reportando o Andamento do Projeto Usando o gráfico de Burndown O gráfico Burndown é uma das principais ferramentas de gerenciamento do processo, p ois, ele representa o trabalho restante sobre tempo , ou seja, ele permite visualizar o progresso e/ou a evolução do trabalho executado pela a equipe e o trabalho e tempo (pontos) que ainda faltam para completar a Sprint.Atualização do Burndown é diária, isto facilita a tomada de decisão, podemos decidir em melhorar a produtividade da equipe e/ou para mitigar risco da Sprint.
69. Gerenciamento de Projetos com SCRUM Ricardo P. Silva ACABOU! Foi um grande prazer estar com vocês E lembre-se: [email_address] @rpsinfo www.linkedin.com/in/rpsinfo