Introdução ao
Desenvolvimento
Ágil com Scrum
Flávio Secchieri Mariotti
Solution Architect
Agenda
 Um pouco de contexto sobre o
desenvolvimento de software nas
últimas décadas
 O que é desenvolvimento ágil
 Fra...
Flávio Secchieri Mariotti
Solutions Architect at HP

• Arquiteto e Especialista em desenvolvimento de
software e defensor ...
Um pouco de contexto sobre o
desenvolvimento de software
nas últimas décadas
A importância do software
Desenvolvedores

A importância dos software nos negócios

Quem fez a arquitetura desse projeto?
...
A importância do software
A importância dos software nos negócios

Qual a real importância?
...
Taxa de sucessos dos projetos
Global study on success rate of IT projects

Estatística

Expectativas
37% atendem às
expect...
Funcionalidades do software
Frequência de utilização das funcionalidades nos softwares

Frequência
7%
13%
45%
16%

45% Nun...
Por quê?
Algumas questões para reflexão

 Por que os projetos falham tanto?
 O que temos feito de inadequado ao longo do...
Modelos tradicionais
Desenvolvimento de software com os modelos tradicionais.

• Cascata

Venda

Desespero

Comemoração

•...
Modelo Cascata
Desenvolvimento de Software com o modelo mais tradicional (waterfall)

Planejado
Requisitos

Análise

Jun/2...
Desenvolvimento ágil
Desenvolvimento ágil
O que é Desenvolvimento ágil de software?
Podemos definir desenvolvimento ágil de software como um co...
Desenvolvimento ágil
O desenvolvimento ágil compreende vários frameworks
O desenvolvimento ágil compreende vários framewor...
Já estão usando...
Algumas empresas que adoram o Scrum

Fonte: Mountain Goat Software
Manifesto Ágil
Manifesto ágil
Origem das abordagens ágeis
Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mes...
Manifesto ágil

Princípios por trás do manifesto ágil
Nossa maior prioridade é satisfazer o cliente, através da entrega

7...
Scrum
Scrum
Visão geral

Scrum: Um framework dentro do qual pessoas podem tratar e
resolver problemas complexos e adaptativos, e...
Scrum
O que é o Scrum?

O framework Scrum consiste nas equipes do Scrum associadas a
papéis, eventos, artefatos e regras. ...
Scrum
Pilares do Scrum

Três pilares apoiam a implementação de controle de processo empírico:

Transparência
Inspeção

Ada...
Desenvolvimento com Scrum
Características do Scrum: Iterativo e Incremental

No Scrum o desenvolvimento será
iterativo e i...
Iterativo
Características do Scrum: Iterativo e Incremental

Fonte: Don’t know what I want, but I know how to get it.
http...
Incremental
Características do Scrum: Iterativo e Incremental

Fonte: Don’t know what I want, but I know how to get it.
ht...
Características do Scrum
Processo Iterativo e Incremental

 Entregas pequenas e parciais de 2 a 4 semanas.



Entrega d...
Características do Scrum
Auto-organização

Equipes multifuncionais
Equipes capazes de se auto organizarem
As tarefas são d...
Características do Scrum
Cliente é considerado um parceiro

 Envolvimento do cliente ao longo de todo o projeto
 Disponí...
Características do Scrum
Scrum é um processo empírico



Processos definidos



Processos empíricos
Características do Scrum
Time Scrum



Product Owner



Equipe de Desenvolvimento



Scrum Master
Características do Scrum
Eventos do Scrum



Reunião de Planejamento da Sprint



Reunião diaria



Revisão da Sprint

...
Características do Scrum
Artefatos do Scrum



Backlog do Produto



Backlog da Sprint



Incremento

Definição de “pro...
Complemento
Técnicas, práticas e ferramentas complementares

Planning Poker
Kanban

Gráfico Burndown da Sprint
Gráfico Bur...
ScrumBut
ScrumBut
Os perigos por trás do ScrumBut

"ScrumButs são razões pelas quais as equipes não podem
tirar proveito do Scrum p...
ScrumBut
Sintaxe do ScrumBut

O ScrumBut contém uma sintaxe particular definida como:

(ScrumBut)(Razão)(Solução)
ScrumBut
Exemplos de Scrumbut
“Nós usamos Scrum, mas implementar a Daily Scrum todos os dias sobrecarrega a
equipe e não é...
ScrumBut
Razões pelas quais equipes adotam ScrumBut


Clientes não querem ser envolvidos, simplesmente
querem o produto p...
ScrumBut
Riscos e consequências

O Scrum é considerado imutável, ou seja, embora seja possível
implementar partes do Scrum...
ScrumBut
Como evitar o ScrumBut

Discussões regulares sobre os valores do Scrum.

Discussões regulares sobre os princípios...
Certificações
Certificações
Validando seus conhecimentos

Existem algumas certificações profissionais relacionadas com o
tema ágil e são...
Scrum.org
Modelos de certificações do Scrum.org

O Scrum.org é uma organização fundada em 2009 por Ken
Schwaber, um dos cr...
Referências
Referências
Livros, Blogs, Frameworks, e mais...
HP Agile Development
http://processviewer.corp.hp.com/app/viewer?id=595
H...
Dúvidas
Q&A

Ele disse Scrum, certo?

Zzzz QUE? Terminou?

Sobre o que estamos falando?
Qual o nome dele mesmo?
Obrigado
Próximos SlideShares
Carregando em…5
×

Introdução ao Desenvolvimento Ágil com Scrum

1.008 visualizações

Publicada em

Promovi na HP Enterprise Service no dia 05/07/2013 um workshop que abordou o tema ágil. Neste workshop tive a oportunidade de debater sobre o que de fato faz parte da filosofia ágil de desenvolvimento de software. Sabemos que muito se fala sobre esse modelo, mas também sabemos das dificuldades em entender porque existem essas implementações chamadas ágeis. Tentamos então de forma sucinta conhecer as origens dessas práticas, seus princípios e os conceitos que os fazem tão relevantes para enfrentar os desafios de criar sistemas no século 21. Também discutimos algumas maneiras de identificar o melhor momento para adoção de uma prática ágil, e mostramos como avaliar se as equipes estão preparadas para essa abordagem.

Além disso, relembramos as peculiaridades dos modelos tradicionais e com uma análise comparativa apuramos as causas que dificultam o uso de processos que requerem escopo de negócio fechado. O dinamismo da informação altera as necessidades constantemente e inevitavelmente os sistemas precisam acompanhar essas mudanças, portanto, a utilização da prática de iteração e a aceitação de mudanças se tornaram itens básicos para o novo ciclo de desenvolvimento de software.

No entanto, muitas equipes decidem usar métodos ágeis sem avaliar se estão preparadas, logo, se deparam com um processo indisciplinado e um cenário de caos em seu ambiente de trabalho. O não entendimento da filosofia ágil impede que as equipes obtenham as vantagens alcançadas com ciclos ágeis, assim, dando origem a metodologias customizadas de forma amadora e inconsequente, chamado pelo Ken Schwaber de ScrumBut (http://blogs.hp.com/architecturebrazil/2013/06/18/os-perigos-por-tras-do-scrumbut/)
Estas e outras questões foram discutidas no workshop Introdução ao Desenvolvimento Ágil usando Scrum.

Agenda do workshop
- Um pouco de contexto sobre o desenvolvimento de software nas últimas décadas
- O que é desenvolvimento ágil
- frameworks de desenvolvimento ágil
- Manifesto Ágil
- O que é SCRUM
- Desenvolvimento com SCRUM
- ScrumBut
- Certificações

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.008
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
33
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao Desenvolvimento Ágil com Scrum

  1. 1. Introdução ao Desenvolvimento Ágil com Scrum Flávio Secchieri Mariotti Solution Architect
  2. 2. Agenda  Um pouco de contexto sobre o desenvolvimento de software nas últimas décadas  O que é desenvolvimento ágil  Frameworks de desenvolvimento ágil  Manifesto Ágil  O que é SCRUM  ScrumBut  Certificações  Referências  Q&A
  3. 3. Flávio Secchieri Mariotti Solutions Architect at HP • Arquiteto e Especialista em desenvolvimento de software e defensor afinco de métodos ágeis. • Mestrando em Engenharia da Computação com ênfase em Engenharia de Software e Pós Graduado em Engenharia de Software baseado em SOA. @FlavioSMariotti
  4. 4. Um pouco de contexto sobre o desenvolvimento de software nas últimas décadas
  5. 5. A importância do software Desenvolvedores A importância dos software nos negócios Quem fez a arquitetura desse projeto? Comercial A importância da informática na gestão das empresas é inquestionável. Empreendimentos de todos os portes ganham agilidade, confiabilidade e, principalmente, uma redução de despesas operacionais com a adoção de softwares de gestão. Cliente Arquiteto Para desenvolver esse software precisamos usar alguns designer patterns só assim vamos criar um software escalável, flexível e eficiente. Precisamos de novos sistemas. Contrate algum estudante de informática e peça para ele desenvolver um software para a próxima semana. Testadores Os programadores não enviam uma versão sem bug, não sei qual a dificuldade nisso.
  6. 6. A importância do software A importância dos software nos negócios Qual a real importância? ...
  7. 7. Taxa de sucessos dos projetos Global study on success rate of IT projects Estatística Expectativas 37% atendem às expectativas. Qualidade 57% dos sistemas são entregues sabendo-se que têm defeitos 42% dos sistemas não funcionam como o planejado ou nunca serão usados 21% fracassam integralmente. Fonte: Standish Group; CHAOS Manifesto 2011. Prazo 68% dos projetos são entregues com atraso Custo 50% dos projetos custam mais do que o planejado.
  8. 8. Funcionalidades do software Frequência de utilização das funcionalidades nos softwares Frequência 7% 13% 45% 16% 45% Nunca 19% Raramente 16% As vezes 13% Frequentemente 7% Sempre 19% 20% do software é realmente útil. Fonte: Standish Group;
  9. 9. Por quê? Algumas questões para reflexão  Por que os projetos falham tanto?  O que temos feito de inadequado ao longo dos anos?  Por que somos incapazes de cumprir os prazos e custos?  Por que somos incapazes de entregar aquilo que o cliente deseja?
  10. 10. Modelos tradicionais Desenvolvimento de software com os modelos tradicionais. • Cascata Venda Desespero Comemoração • Prototipação descartável Justifico Planejamento Preocupação Revisão • Modelo Espiral • Modelo de Reuso • Codificação e correção
  11. 11. Modelo Cascata Desenvolvimento de Software com o modelo mais tradicional (waterfall) Planejado Requisitos Análise Jun/2013 Jul/2013 Construção Teste Ago/2013 Implantação Set/2013 Out/2013 Real Análise Requisitos Jun/2013 Jul/2013 Ago/2013 Construção Set/2013 Teste Implantação Um dia...
  12. 12. Desenvolvimento ágil
  13. 13. Desenvolvimento ágil O que é Desenvolvimento ágil de software? Podemos definir desenvolvimento ágil de software como um conjunto de métodos e práticas de construção de software. Desenvolvimento ágil é termo abrangente que engloba alguns conceitos que vem evoluindo desde a década de 1990, tais como: Desenvolvimento iterativo Desenvolvimento incremental Time auto organizáveis Times multifuncionais Envolvimento ativo dos usuários Maximização do ROI
  14. 14. Desenvolvimento ágil O desenvolvimento ágil compreende vários frameworks O desenvolvimento ágil compreende vários frameworks e metodologias de desenvolvimento de software: Extreme Programming XP DSDM OpenUP Scrum FDD Modelagem ágil TDD HP Agile Development - EDGE
  15. 15. Já estão usando... Algumas empresas que adoram o Scrum Fonte: Mountain Goat Software
  16. 16. Manifesto Ágil
  17. 17. Manifesto ágil Origem das abordagens ágeis Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:     Indivíduos e interação entre eles mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano “Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.” http://manifestoagil.com.br
  18. 18. Manifesto ágil Princípios por trás do manifesto ágil Nossa maior prioridade é satisfazer o cliente, através da entrega 7. Software funcional é a medida primária de progresso. adiantada e contínua de software de valor. 1. 8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. desenvolvedores e usuários, devem ser capazes de manter Processos ágeis se adequam a mudanças, para que o cliente possa tirar 2. indefinidamente, passos constantes. vantagens competitivas. 3. 9. Entregar software funcionando com frequência, na escala de semanas 10. Simplicidade: a arte de maximizar a quantidade de trabalho que não até meses, com preferência aos períodos mais curtos. Contínua atenção à excelência técnica e bom design, aumenta a agilidade. precisou ser feito. 4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em 11. As melhores arquiteturas, requisitos e designs emergem de times auto conjunto e diariamente, durante todo o curso do projeto. organizáveis. 5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho. 6. 12. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo. O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara. http://manifestoagil.com.br
  19. 19. Scrum
  20. 20. Scrum Visão geral Scrum: Um framework dentro do qual pessoas podem tratar e resolver problemas complexos e adaptativos, enquanto produtiva e criativamente entregam produtos com o mais alto valor possível.  Leve  Simples de entender  Extremamente difícil de dominar
  21. 21. Scrum O que é o Scrum? O framework Scrum consiste nas equipes do Scrum associadas a papéis, eventos, artefatos e regras. Cada componente dentro do framework serve a um propósito específico e é essencial para o uso e sucesso do Scrum. Scrum é fundamentado nas teorias empíricas de controle de processo, ou empirismo. Baseadas no que é conhecido.
  22. 22. Scrum Pilares do Scrum Três pilares apoiam a implementação de controle de processo empírico: Transparência Inspeção Adaptação
  23. 23. Desenvolvimento com Scrum Características do Scrum: Iterativo e Incremental No Scrum o desenvolvimento será iterativo e incremental.
  24. 24. Iterativo Características do Scrum: Iterativo e Incremental Fonte: Don’t know what I want, but I know how to get it. http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
  25. 25. Incremental Características do Scrum: Iterativo e Incremental Fonte: Don’t know what I want, but I know how to get it. http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
  26. 26. Características do Scrum Processo Iterativo e Incremental  Entregas pequenas e parciais de 2 a 4 semanas.   Entrega do maior valor agregado. Redução das incertezas.  Motivação da equipe.  Melhoria contínua.  Cliente mais confiante. 26 © Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  27. 27. Características do Scrum Auto-organização Equipes multifuncionais Equipes capazes de se auto organizarem As tarefas são do time e todos são responsáveis Forte comprometimento com os resultados
  28. 28. Características do Scrum Cliente é considerado um parceiro  Envolvimento do cliente ao longo de todo o projeto  Disponível sempre e quando necessário para tirar dúvidas  Mas colaboração e menos discussão de contrato  Mudanças de requisitos são bem-vindas
  29. 29. Características do Scrum Scrum é um processo empírico  Processos definidos  Processos empíricos
  30. 30. Características do Scrum Time Scrum  Product Owner  Equipe de Desenvolvimento  Scrum Master
  31. 31. Características do Scrum Eventos do Scrum  Reunião de Planejamento da Sprint  Reunião diaria  Revisão da Sprint  Retrospectiva da Sprint
  32. 32. Características do Scrum Artefatos do Scrum  Backlog do Produto  Backlog da Sprint  Incremento Definição de “pronto”
  33. 33. Complemento Técnicas, práticas e ferramentas complementares Planning Poker Kanban Gráfico Burndown da Sprint Gráfico Burndown da Release
  34. 34. ScrumBut
  35. 35. ScrumBut Os perigos por trás do ScrumBut "ScrumButs são razões pelas quais as equipes não podem tirar proveito do Scrum para resolverem seus problemas e perceberem os reais benefícios no desenvolvimento de produtos utilizando o framework Scrum". By Ken Schwaber
  36. 36. ScrumBut Sintaxe do ScrumBut O ScrumBut contém uma sintaxe particular definida como: (ScrumBut)(Razão)(Solução)
  37. 37. ScrumBut Exemplos de Scrumbut “Nós usamos Scrum, mas implementar a Daily Scrum todos os dias sobrecarrega a equipe e não é produtiva, de modo que só temos uma por semana.” “Nós usamos Scrum, mas as retrospectivas são um desperdício de tempo, por isso não implementamos.” “Nós usamos Scrum, mas não podemos construir uma funcionalidade em quatro semanas, por isso, nossos Sprints são de seis ou oito semanas de duração.”
  38. 38. ScrumBut Razões pelas quais equipes adotam ScrumBut  Clientes não querem ser envolvidos, simplesmente querem o produto pronto.  A empresa não está disposta a mudar seus processos.  A empresa não quer ser envolvida e não respeita a decisões de prioridade do Product Onwer.  Nem sempre conseguimos reunir todos os integrantes da equipe para reuniões de retrospectiva.  O Scrum Master não respeita as decisões da equipe e decide o que cada uma deve ou não fazer.  Os gerentes e diretores interessados no produto, não podem  Não foi possível convencer o gerente de TI dos benefícios ficar de fora e precisam participar das reuniões e, se de permitir a equipe Scrum ser autogerenciável.  necessário, determinar prazo para finalização de cada Sprint. Nem todos da equipes estão disponíveis para trabalharem de forma integral para o projeto ou Sprint.  A equipe não sente necessidade das reuniões diárias.  Nem todos da equipe tem condições de se responsabilizar por pedaços de funcionalidades requeridas no Sprint.  O Scrum Master não está comprometido com o Scrum, ao ponto que ele ou ela não remove os obstáculos destacados pelo time Scrum.  O Product Onwer não está comprometido com o Scrum e não auxilia a equipe Scrum com duvidas e priorização de atividades.
  39. 39. ScrumBut Riscos e consequências O Scrum é considerado imutável, ou seja, embora seja possível implementar partes do Scrum, o resultado final não é considerado Scrum. conflitos internos perda do controle atraso nas entregas falta de gestão clientes insatisfeitos perda de tempo
  40. 40. ScrumBut Como evitar o ScrumBut Discussões regulares sobre os valores do Scrum. Discussões regulares sobre os princípios do manifesto ágil. Debates sobre o que o Scrum significa para cada membro. Inspeções constantes sobre os benefícios e resultados obtidos com Scrum. Permitir que o time Scrum se autogerencie dentro de um time-box. Questione-se regularmente se os processos Scrum estão sendo respeitados. Identifique e evite qualquer ação de heroísmo individual.
  41. 41. Certificações
  42. 42. Certificações Validando seus conhecimentos Existem algumas certificações profissionais relacionadas com o tema ágil e são oferecidas por organizações como: Scrum.org, ScrumAlliance, ICAgile, PMI, dentre outras.
  43. 43. Scrum.org Modelos de certificações do Scrum.org O Scrum.org é uma organização fundada em 2009 por Ken Schwaber, um dos criadores do Scrum. Apesar de ser uma organização nova, já é reconhecida mundialmente. O Scrum.org mantém um programa de certificação para profissionais que trabalham ou pretendem trabalhar com o Scrum, são eles: Profissional Scrum Master; Profissional Scrum Developer; Profissional Scrum Product Owner.
  44. 44. Referências
  45. 45. Referências Livros, Blogs, Frameworks, e mais... HP Agile Development http://processviewer.corp.hp.com/app/viewer?id=595 HP Agile Development Pattern http://processviewer.corp.hp.com/app/viewer?id=608 HP Agile Transformation Journey http://processviewer.corp.hp.com/app/viewer?id=596 Scrum.org http://www.scrum.org/ Ken Schwaber’s Blog http://kenschwaber.wordpress.com/ Scaled Agile Framework – Big Picture http://scaledagileframework.com/ http://scaledagileframework.com/blog-2/ Book: Agile Project Management with Scrum By Ken Schwaber
  46. 46. Dúvidas Q&A Ele disse Scrum, certo? Zzzz QUE? Terminou? Sobre o que estamos falando? Qual o nome dele mesmo?
  47. 47. Obrigado

×