SlideShare uma empresa Scribd logo
1 de 97
Baixar para ler offline
Agile


                Eric Cavalcanti
        ecavalcanti@gmail.com
                      @ericoc
O Problema

            Chaos Report
             18%
     2004                               53%
                     29%

             19%
     2006                         46%         Fracassados
                           35%
                                              Comprometidos
                                              Bem sucedidos
                   24%
     2009                        44%
                         32%



                                               !"#$%&'(")&*%+,-."/0$12""
Principais fatores de
     insucesso
          requisitos incompletos

          falta de envolvimento
          de usuários

          mudanças de
          requisitos e especificações
          falta de apoio de negócios

          falta de recursos
Como resolver?
Abordagem Tradicional
BDUF
 Big Design Up Front
Analista de Requisitos, Analista de Negócios,
Engenheiro de Requisitos, Engenheiro de Qualidade,
   Gerente de Configuração, Líder de Projeto...




 Programadores
Processo!!
Ainda assim...
Ainda mais...
Código Complexo.
Manutenção difícil.
Baixa produtividade.
Cronograma sempre atrasado.
Insatisfação de todos.
Design degradado.
Documentação defasada, excessiva e ilegível.
Fracasso em grande parte dos projetos.
Por quê?
Previsibilidade
O desenvolvimento de software depende
muito mais das pessoas e da comunicação
“Ao contrário do cenário numa linha de
produção em massa, o software não é algo
previsível ou imune a mudanças”
                                Larman
“Desenvolver software é como
 desenvolver novos produtos”
                      Larman
“Desenvolver é como criar uma receita,
enquanto produzir é seguir a receita”
Poppendieck
“O desenvolvimento é um processo de
aprendizado, que envolve tentativa e erros”
                                       Larman
“Como a manufatura previsível, não pode ser comparada ao
software, dificilmente as práticas e valores enraizados nesse
paradigma trazem algum benefício”                      Larman
64% das funcionalidades
desenvolvidas nos softwares
não são utilizadas




Standish Group
Muitas vezes, pelo fato do cliente
só poder pedir uma vez, ele
acaba pedindo coisas que não
  tem certeza que precisa
Essas funcionalidades
fazem parte dos
64% que ele nem
repara que estão lá,
quando o software é
entregue
70%         dos usuários utilizam as
funcionalidades básicas de um software.



20%         utilizam as funcionalidades
intermediárias.



10%         utilizam as funcionalidades avançadas.



Microsoft
Cone da Incerteza




                    Construx
É natural que os
usuários tenham novas
 idéias e suas opiniões
 mudem quando vêem
  as primeiras versões
           do software
Os softwares mais famosos
e utilizados no mundo são
os mais simples
“Menos é Mais”
  A cabeça de Steve Jobs (Inside Steve’s Brain) - Agir 2008
DANIEL COOK
Abordagem Ágil
Final da década de 90
 eXtreme Programming
 Feature Driven Development
 Scrum
 Adaptive Development
 Crystal Clear
 Dynamic Systems Development Method
2001


Kent Beck           Ron Jeffries

Mike Beedle         Jon Kern

Arie van            Brian Marick

Bennekum            Robert C. Martin

Alistair Cockburn   Steve Mellor

Ward Cunningham     Ken Schwaber

Martin Fowler       Jeff Sutherland

James Grenning



                                       Manifesto Ágil
                    Dave Thomas

Jim Highsmith

Andrew Hunt
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
Princípios por trás do
         manifesto ágil
Nossa maior prioridade é
satisfazer o cliente, através
da entrega adiantada e
contínua de software de
valor
Aceitar mudanças de requisitos,
mesmo no fim do desenvolvimento
Processos ágeis se adequam a
 mudanças, para que o cliente
        possa tirar vantagens
                 competitivas
Entregar software
       funcionando com
 frequencia, na escala de
semanas até meses, com
         preferência aos
   períodos mais curtos
Pessoas relacionadas à negócios e desenvolvedores
devem trabalhar em conjunto e diariamente,
durante todo o curso do projeto
Construir projetos ao redor de
  indivíduos motivados. Dando a eles o
ambiente e suporte necessário, e confiar
                que farão seu trabalho.
O método mais eficiente e eficaz de
transmitir informações é através de uma
conversa cara a cara.
Software
funcional é a
medida primária
de progresso.
Processos ágeis promovem um ambiente
sustentável. Os patrocinadores, desenvolvedores
e usuários, devem ser capazes de manter
indefinidamente, passos constantes.
Contínua atenção à excelência
técnica e bom design, aumenta
a agilidade.
Simplicidade: a arte de
maximizar a quantidade de
trabalho que não precisou
ser feito
As melhores arquiteturas,
requisitos e designs emergem
   de times auto-organizáveis
Em intervalos regulares, o time reflete em como
 ficar mais efetivo, então, se ajustam e otimizam
                 seu comportamento de acordo
Por que adotar
abordagens ágeis?
STATE OF
AGILE SURVEY
2011



    6.042 participantes


                          VersionOne
STATE OF
AGILE SURVEY
2011



  >80%                       90%
      trabalham em        são pelo menos"esclarecido"
  organizações que usam   sobre técnicas de
        práticas de       desenvolvimento ágil de
   desenvolvimento ágil   software
    em um certo grau




                                                        VersionOne
STATE OF
AGILE SURVEY
2011


      45%      utilizam abordagem
               ágil a mais de 2 anos




                                       VersionOne
STATE OF
AGILE SURVEY
2011

     Scrum e variantes de Scrum
                são de longe os mais utilizados




                                             VersionOne
STATE OF
AGILE SURVEY
2011
               As razões mais comuns para a adoção ágil gira em torno de
   tempo de aceleração para o mercado, gereciamento de
       mudanças de prioridade e aumento produtividade




                                                              VersionOne
STATE OF
AGILE SURVEY
2011
Princípios fundamentais ágeis atualmente em uso são Daily Standup, Iteration
  Planning e Unit Testing. O mais notável é o uso crescente de Kanban (24%).




                                                                   VersionOne
O Scrum
A origem
  1995
  Jeff Sutherland
  Ken Schwaber




                    1986
Se destaca dos demais métodos ágeis pela
ênfase dada ao gerenciamento do projeto
Práticas de Engenharia


                  de d
              c lu
         t in
       No
Papéis
do Scrum
Product
Product Owner   Determina a visão do produto
Owner                Define as funcionalidades

                   Escolhe as datas de release

                                Dá o feedback

                     Gerencia os stakeholders

                Aceita ou rejeita os resultados

                Prioriza de acordo com o ROI
Pequenos (5 a 9 pessoas)

         Desenvolve as funcionalidades

                     Auto-organizável

                     Auto-gerenciável

                        Multifuncional

                     Estima o esforço

                      Defina as tarefas
O Time     Responsável pela qualidade
Scrum Master
Líder Servidor

Protege o time

Remove impedimentos

Guia do Scrum
Como funciona?
Então ao invés de um grande grupo gastando
um monte de tempo construindo uma grande
coisa, temos uma equipe pequena gastando um
 tempo curto construindo uma pequena coisa.
Mas integrando regularmente para ver o todo.


                             Henrik Kniberg
Product Backlog

 Uma lista de coisas que
  queremos que sejam
       entregues
As funcionalidades são
geralmente escritas em
 estórias de usuários.
Como um <perfil>,
quero <funcionalidade>,
para <valor de negócio>


  Como um agente de viagens, quero reservar lugar,
     para facilitar o atendimento dos clientes
                     corporativos
O time estima o trabalho
associado a cada estória.
As estórias são rankeadas em ordem
de importância pelo product owner.
O product owner é o dono do
    backlog do produto.
Team Velocity
Sprint Backlog
Executando a Sprint
 Sprint 1   Sprint 2   Sprint 3   Sprint 4   Sprint 5


 Análise    Código      Testa

            Análise    Código      Testa

                       Análise    Código      Testa




                                  Sprint 1   Sprint 2   Sprint 3   Sprint 4   Sprint 5


                                  Análise    Análise    Análise

                                  Código     Código     Código

                                   Testa      Testa      Testa
Daily Scrum Meeting
• O que você fez ontem?
• O que você fará de hoje
para amanhã?
• Há algum impedimento
em seu caminho?


            15
          minutos
Taskboard
Acompanhamento
Sprint Burndown
Sprint Review
Scrum Retrospective
Revisando...
Scrum of Scrums
Mude alguma coisa => Saiba como foi => Aprenda com isso
         => Mude alguma coisa novamente. Falando de um modo
         geral, você quer o ciclo de feedback o mais rápido possível,

Scrum + XP e ciclos feedbackfeedback
         para que seja possa adaptar o processo rapidamente.

     Em Scrum, a iteração básica de um
                                       de é o sprint. Há
         mais, porém, especialmente se você combinar com o XP
         (eXtreme Programm ing):




         Quando feito corretamente, Scrum + XP lhe oferece vários
         ciclos de feedback extremamente valiosos.
Kanban
O Kanban é baseado numa idéia muito simples. As
 atividades em andamento devem ser limitadas. Algo
    novo só deve ser iniciado quando uma peça de
trabalho existente é liberada ou quando uma função
               automática inicia isso.
O princípio do Kanban é que você inicia com o que
              estiver fazendo agora.
Como Funciona?
Visualize o fluxo de trabalho
             Divida o trabalho em partes,
             escreva cada item em um cartão e
             coloque na parede

             Use colunas nomeadas para
             ilustrar onde cada item está no
             fluxo de trabalho
Limite o trabalho em progresso (WIP
- work in progress)

Associe limites explícitos para quantos itens podem
estar em progresso em cada estado do fluxo de
trabalho
Acompanhe o tempo de execução da
tarefa
Tempo médio para completar um item, algumas vezes
chamado de “Lead Time”
Otimize o processo para tornar o tempo de execução o
menor e mais previsível possível.
Referências
Lean Software Development: An Agile Toolkit, Mary Poppendieck e Tom Poppendieck, 2003, Addison-
Wesley Professional

Agile Project Management with Scrum, Ken Schwaber, 2004, Microsoft Professional

The Enterprise and Scrum, Ken Schwaber, 2007, Microsoft Press

Kanban e Scrum - obtendo o melhor de ambos, Henrik Kniberg e Mattias Skarin, 2009, C3 Media Inc.

Kanban: Mudança Evolucionária de Sucesso para seu Negócio de Tecnologia, David Anderson,
2011, Blue Hole Press

Agile Estimating and Planning, Mike Cohn, 2005, Prentice Hall

User Stories Applied: For Agile Software Development, Mike Cohn, 2004, Addison-Wesley
Professional

Extreme Programming Explained: Embrace Change (2nd Edition), Kent Beck, 2004, Addison-Wesley
Professional

Test Driven Development, Kent Beck, 2002, Addison-Wesley Professional

Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, 1999, Addison-Wesley
Professional
Obrigado!
              Eric Cavalcanti
      ecavalcanti@gmail.com
                    @ericoc

Mais conteúdo relacionado

Mais procurados

Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Annelise Gripp
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
Treinamento - Product Owner - CLARO-NET-EMBRATEL
Treinamento - Product Owner - CLARO-NET-EMBRATELTreinamento - Product Owner - CLARO-NET-EMBRATEL
Treinamento - Product Owner - CLARO-NET-EMBRATELDaniel Calmazini
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutosSerge Rehem
 
Metodologia ágil
Metodologia ágilMetodologia ágil
Metodologia ágilrolfczekus
 
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelScrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelManoel Pimentel Medeiros
 
Seminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XPSeminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XPLays Lopes
 
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...Daniel Wildt
 
Gestao agil de projetos com Scrum
Gestao agil de projetos com ScrumGestao agil de projetos com Scrum
Gestao agil de projetos com ScrumIgor Macaubas
 
Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPaulo Furtado
 

Mais procurados (20)

Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
Treinamento - Product Owner - CLARO-NET-EMBRATEL
Treinamento - Product Owner - CLARO-NET-EMBRATELTreinamento - Product Owner - CLARO-NET-EMBRATEL
Treinamento - Product Owner - CLARO-NET-EMBRATEL
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
 
Metodologia ágil
Metodologia ágilMetodologia ágil
Metodologia ágil
 
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelScrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
 
Desmistificando Agile & Scrum
Desmistificando Agile & ScrumDesmistificando Agile & Scrum
Desmistificando Agile & Scrum
 
Mini-curso Scrum e Kanban WES 2015
Mini-curso Scrum e Kanban WES 2015Mini-curso Scrum e Kanban WES 2015
Mini-curso Scrum e Kanban WES 2015
 
Seminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XPSeminário - Scrum , Kaban e XP
Seminário - Scrum , Kaban e XP
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
 
Um guia definitivo para o Scrum em Português
Um guia definitivo para o Scrum em PortuguêsUm guia definitivo para o Scrum em Português
Um guia definitivo para o Scrum em Português
 
Scrum
ScrumScrum
Scrum
 
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
 
Gestao agil de projetos com Scrum
Gestao agil de projetos com ScrumGestao agil de projetos com Scrum
Gestao agil de projetos com Scrum
 
Agile SCRUM
Agile SCRUMAgile SCRUM
Agile SCRUM
 
Apostila introdutória ao Scrum (V1)
Apostila introdutória ao Scrum (V1)Apostila introdutória ao Scrum (V1)
Apostila introdutória ao Scrum (V1)
 
Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em Juazeiro
 

Semelhante a Agile: O Método Scrum

Desenvolvimento ágil pensando além
Desenvolvimento ágil   pensando alémDesenvolvimento ágil   pensando além
Desenvolvimento ágil pensando alémilegra
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMatheus Costa
 
Da Gestão 1.0 A Gestão 2.0
Da Gestão 1.0 A Gestão 2.0Da Gestão 1.0 A Gestão 2.0
Da Gestão 1.0 A Gestão 2.0Juan Bernabó
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumInove
 
Palestra sobre Fundamentos do Scrum e Kanban.
Palestra sobre Fundamentos do Scrum e Kanban.Palestra sobre Fundamentos do Scrum e Kanban.
Palestra sobre Fundamentos do Scrum e Kanban.Rafael de Oliveira
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareFrancke Peixoto
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumJuan Bernabó
 
Scrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaScrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaVítor Bruno de Almeida
 
Desenvolvimento Ágil - Pensando Além
Desenvolvimento Ágil - Pensando AlémDesenvolvimento Ágil - Pensando Além
Desenvolvimento Ágil - Pensando Alémilegra
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCWildtech
 
Apostila Scrum: Fundamentos do Scrum
Apostila Scrum: Fundamentos do ScrumApostila Scrum: Fundamentos do Scrum
Apostila Scrum: Fundamentos do ScrumMindMasterBrasil
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 

Semelhante a Agile: O Método Scrum (20)

Desenvolvimento ágil pensando além
Desenvolvimento ágil   pensando alémDesenvolvimento ágil   pensando além
Desenvolvimento ágil pensando além
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Desenvolvimento ágil com scrum
Desenvolvimento ágil com scrumDesenvolvimento ágil com scrum
Desenvolvimento ágil com scrum
 
Da Gestão 1.0 A Gestão 2.0
Da Gestão 1.0 A Gestão 2.0Da Gestão 1.0 A Gestão 2.0
Da Gestão 1.0 A Gestão 2.0
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com Scrum
 
Scrum 8
Scrum 8Scrum 8
Scrum 8
 
Palestra sobre Fundamentos do Scrum e Kanban.
Palestra sobre Fundamentos do Scrum e Kanban.Palestra sobre Fundamentos do Scrum e Kanban.
Palestra sobre Fundamentos do Scrum e Kanban.
 
Treinamento Ágil / Scrum
Treinamento Ágil / ScrumTreinamento Ágil / Scrum
Treinamento Ágil / Scrum
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de Software
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com Scrum
 
Scrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaScrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-dia
 
Desenvolvimento Ágil - Pensando Além
Desenvolvimento Ágil - Pensando AlémDesenvolvimento Ágil - Pensando Além
Desenvolvimento Ágil - Pensando Além
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESC
 
O que é SCRUM
O que é SCRUMO que é SCRUM
O que é SCRUM
 
Gerenciamento ágil de projetos com scrum
Gerenciamento ágil de projetos com scrumGerenciamento ágil de projetos com scrum
Gerenciamento ágil de projetos com scrum
 
Apostila Scrum: Fundamentos do Scrum
Apostila Scrum: Fundamentos do ScrumApostila Scrum: Fundamentos do Scrum
Apostila Scrum: Fundamentos do Scrum
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Scrum - Visão Geral
Scrum - Visão GeralScrum - Visão Geral
Scrum - Visão Geral
 

Mais de Eric Cavalcanti

Aplicações móveis multi-plataforma com Titanium - Geek Night
Aplicações móveis multi-plataforma com Titanium - Geek NightAplicações móveis multi-plataforma com Titanium - Geek Night
Aplicações móveis multi-plataforma com Titanium - Geek NightEric Cavalcanti
 
Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Eric Cavalcanti
 
Titanium Mobile apresentado na Campus Party Recife
Titanium Mobile apresentado na Campus Party RecifeTitanium Mobile apresentado na Campus Party Recife
Titanium Mobile apresentado na Campus Party RecifeEric Cavalcanti
 
Desenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidDesenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidEric Cavalcanti
 
Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium MobileEric Cavalcanti
 
Scrum Adoption in an Academic Distributed Environment
Scrum Adoption in an Academic Distributed EnvironmentScrum Adoption in an Academic Distributed Environment
Scrum Adoption in an Academic Distributed EnvironmentEric Cavalcanti
 
Utilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexUtilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexEric Cavalcanti
 
Desmistificando o cairngorm
Desmistificando o cairngormDesmistificando o cairngorm
Desmistificando o cairngormEric Cavalcanti
 
FireScrum - Ontem, Hoje e o Futuro
FireScrum - Ontem, Hoje e o FuturoFireScrum - Ontem, Hoje e o Futuro
FireScrum - Ontem, Hoje e o FuturoEric Cavalcanti
 

Mais de Eric Cavalcanti (12)

React Native - JSday
React Native - JSdayReact Native - JSday
React Native - JSday
 
Aplicações móveis multi-plataforma com Titanium - Geek Night
Aplicações móveis multi-plataforma com Titanium - Geek NightAplicações móveis multi-plataforma com Titanium - Geek Night
Aplicações móveis multi-plataforma com Titanium - Geek Night
 
Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2Titanium Mobile - Campus Party Recife 2
Titanium Mobile - Campus Party Recife 2
 
Titanium Mobile apresentado na Campus Party Recife
Titanium Mobile apresentado na Campus Party RecifeTitanium Mobile apresentado na Campus Party Recife
Titanium Mobile apresentado na Campus Party Recife
 
Desenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidDesenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para Android
 
Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium Mobile
 
Scrum Adoption in an Academic Distributed Environment
Scrum Adoption in an Academic Distributed EnvironmentScrum Adoption in an Academic Distributed Environment
Scrum Adoption in an Academic Distributed Environment
 
Utilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações FlexUtilizando o Padrão Presentation Model em Aplicações Flex
Utilizando o Padrão Presentation Model em Aplicações Flex
 
Desmistificando o cairngorm
Desmistificando o cairngormDesmistificando o cairngorm
Desmistificando o cairngorm
 
FireScrum - Ontem, Hoje e o Futuro
FireScrum - Ontem, Hoje e o FuturoFireScrum - Ontem, Hoje e o Futuro
FireScrum - Ontem, Hoje e o Futuro
 
FireScrum Agiles2009
FireScrum Agiles2009FireScrum Agiles2009
FireScrum Agiles2009
 
FireScrum
FireScrumFireScrum
FireScrum
 

Agile: O Método Scrum

  • 1. Agile Eric Cavalcanti ecavalcanti@gmail.com @ericoc
  • 2. O Problema Chaos Report 18% 2004 53% 29% 19% 2006 46% Fracassados 35% Comprometidos Bem sucedidos 24% 2009 44% 32% !"#$%&'(")&*%+,-."/0$12""
  • 3. Principais fatores de insucesso requisitos incompletos falta de envolvimento de usuários mudanças de requisitos e especificações falta de apoio de negócios falta de recursos
  • 6. BDUF Big Design Up Front
  • 7. Analista de Requisitos, Analista de Negócios, Engenheiro de Requisitos, Engenheiro de Qualidade, Gerente de Configuração, Líder de Projeto... Programadores
  • 10. Ainda mais... Código Complexo. Manutenção difícil. Baixa produtividade. Cronograma sempre atrasado. Insatisfação de todos. Design degradado. Documentação defasada, excessiva e ilegível. Fracasso em grande parte dos projetos.
  • 13. O desenvolvimento de software depende muito mais das pessoas e da comunicação
  • 14. “Ao contrário do cenário numa linha de produção em massa, o software não é algo previsível ou imune a mudanças” Larman
  • 15. “Desenvolver software é como desenvolver novos produtos” Larman
  • 16. “Desenvolver é como criar uma receita, enquanto produzir é seguir a receita” Poppendieck
  • 17. “O desenvolvimento é um processo de aprendizado, que envolve tentativa e erros” Larman
  • 18. “Como a manufatura previsível, não pode ser comparada ao software, dificilmente as práticas e valores enraizados nesse paradigma trazem algum benefício” Larman
  • 19. 64% das funcionalidades desenvolvidas nos softwares não são utilizadas Standish Group
  • 20. Muitas vezes, pelo fato do cliente só poder pedir uma vez, ele acaba pedindo coisas que não tem certeza que precisa
  • 21. Essas funcionalidades fazem parte dos 64% que ele nem repara que estão lá, quando o software é entregue
  • 22. 70% dos usuários utilizam as funcionalidades básicas de um software. 20% utilizam as funcionalidades intermediárias. 10% utilizam as funcionalidades avançadas. Microsoft
  • 23. Cone da Incerteza Construx
  • 24. É natural que os usuários tenham novas idéias e suas opiniões mudem quando vêem as primeiras versões do software
  • 25. Os softwares mais famosos e utilizados no mundo são os mais simples
  • 26.
  • 27.
  • 28.
  • 29. “Menos é Mais” A cabeça de Steve Jobs (Inside Steve’s Brain) - Agir 2008
  • 32. Final da década de 90 eXtreme Programming Feature Driven Development Scrum Adaptive Development Crystal Clear Dynamic Systems Development Method
  • 33. 2001 Kent Beck Ron Jeffries Mike Beedle Jon Kern Arie van Brian Marick Bennekum Robert C. Martin Alistair Cockburn Steve Mellor Ward Cunningham Ken Schwaber Martin Fowler Jeff Sutherland James Grenning Manifesto Ágil Dave Thomas Jim Highsmith Andrew Hunt
  • 34. Indivíduos e interação entre eles mais que processos e ferramentas
  • 35. Software em funcionamento mais que documentação abrangente
  • 36. Colaboração com o cliente mais que negociação de contratos
  • 37. Responder a mudanças mais que seguir um plano
  • 38. Princípios por trás do manifesto ágil
  • 39. Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor
  • 40. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento
  • 41. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas
  • 42. Entregar software funcionando com frequencia, na escala de semanas até meses, com preferência aos períodos mais curtos
  • 43. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto
  • 44. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
  • 45. O método mais eficiente e eficaz de transmitir informações é através de uma conversa cara a cara.
  • 46. Software funcional é a medida primária de progresso.
  • 47. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
  • 48. Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
  • 49. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito
  • 50. As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis
  • 51. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo
  • 53. STATE OF AGILE SURVEY 2011 6.042 participantes VersionOne
  • 54. STATE OF AGILE SURVEY 2011 >80% 90% trabalham em são pelo menos"esclarecido" organizações que usam sobre técnicas de práticas de desenvolvimento ágil de desenvolvimento ágil software em um certo grau VersionOne
  • 55. STATE OF AGILE SURVEY 2011 45% utilizam abordagem ágil a mais de 2 anos VersionOne
  • 56. STATE OF AGILE SURVEY 2011 Scrum e variantes de Scrum são de longe os mais utilizados VersionOne
  • 57. STATE OF AGILE SURVEY 2011 As razões mais comuns para a adoção ágil gira em torno de tempo de aceleração para o mercado, gereciamento de mudanças de prioridade e aumento produtividade VersionOne
  • 58. STATE OF AGILE SURVEY 2011 Princípios fundamentais ágeis atualmente em uso são Daily Standup, Iteration Planning e Unit Testing. O mais notável é o uso crescente de Kanban (24%). VersionOne
  • 60. A origem 1995 Jeff Sutherland Ken Schwaber 1986
  • 61. Se destaca dos demais métodos ágeis pela ênfase dada ao gerenciamento do projeto
  • 62. Práticas de Engenharia de d c lu t in No
  • 64. Product Product Owner Determina a visão do produto Owner Define as funcionalidades Escolhe as datas de release Dá o feedback Gerencia os stakeholders Aceita ou rejeita os resultados Prioriza de acordo com o ROI
  • 65. Pequenos (5 a 9 pessoas) Desenvolve as funcionalidades Auto-organizável Auto-gerenciável Multifuncional Estima o esforço Defina as tarefas O Time Responsável pela qualidade
  • 66. Scrum Master Líder Servidor Protege o time Remove impedimentos Guia do Scrum
  • 68. Então ao invés de um grande grupo gastando um monte de tempo construindo uma grande coisa, temos uma equipe pequena gastando um tempo curto construindo uma pequena coisa. Mas integrando regularmente para ver o todo. Henrik Kniberg
  • 69. Product Backlog Uma lista de coisas que queremos que sejam entregues
  • 70. As funcionalidades são geralmente escritas em estórias de usuários.
  • 71. Como um <perfil>, quero <funcionalidade>, para <valor de negócio> Como um agente de viagens, quero reservar lugar, para facilitar o atendimento dos clientes corporativos
  • 72. O time estima o trabalho associado a cada estória.
  • 73. As estórias são rankeadas em ordem de importância pelo product owner.
  • 74. O product owner é o dono do backlog do produto.
  • 77. Executando a Sprint Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Análise Código Testa Análise Código Testa Análise Código Testa Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Análise Análise Análise Código Código Código Testa Testa Testa
  • 78. Daily Scrum Meeting • O que você fez ontem? • O que você fará de hoje para amanhã? • Há algum impedimento em seu caminho? 15 minutos
  • 86. Mude alguma coisa => Saiba como foi => Aprenda com isso => Mude alguma coisa novamente. Falando de um modo geral, você quer o ciclo de feedback o mais rápido possível, Scrum + XP e ciclos feedbackfeedback para que seja possa adaptar o processo rapidamente. Em Scrum, a iteração básica de um de é o sprint. Há mais, porém, especialmente se você combinar com o XP (eXtreme Programm ing): Quando feito corretamente, Scrum + XP lhe oferece vários ciclos de feedback extremamente valiosos.
  • 88. O Kanban é baseado numa idéia muito simples. As atividades em andamento devem ser limitadas. Algo novo só deve ser iniciado quando uma peça de trabalho existente é liberada ou quando uma função automática inicia isso.
  • 89. O princípio do Kanban é que você inicia com o que estiver fazendo agora.
  • 91. Visualize o fluxo de trabalho Divida o trabalho em partes, escreva cada item em um cartão e coloque na parede Use colunas nomeadas para ilustrar onde cada item está no fluxo de trabalho
  • 92. Limite o trabalho em progresso (WIP - work in progress) Associe limites explícitos para quantos itens podem estar em progresso em cada estado do fluxo de trabalho
  • 93. Acompanhe o tempo de execução da tarefa Tempo médio para completar um item, algumas vezes chamado de “Lead Time” Otimize o processo para tornar o tempo de execução o menor e mais previsível possível.
  • 94.
  • 95.
  • 96. Referências Lean Software Development: An Agile Toolkit, Mary Poppendieck e Tom Poppendieck, 2003, Addison- Wesley Professional Agile Project Management with Scrum, Ken Schwaber, 2004, Microsoft Professional The Enterprise and Scrum, Ken Schwaber, 2007, Microsoft Press Kanban e Scrum - obtendo o melhor de ambos, Henrik Kniberg e Mattias Skarin, 2009, C3 Media Inc. Kanban: Mudança Evolucionária de Sucesso para seu Negócio de Tecnologia, David Anderson, 2011, Blue Hole Press Agile Estimating and Planning, Mike Cohn, 2005, Prentice Hall User Stories Applied: For Agile Software Development, Mike Cohn, 2004, Addison-Wesley Professional Extreme Programming Explained: Embrace Change (2nd Edition), Kent Beck, 2004, Addison-Wesley Professional Test Driven Development, Kent Beck, 2002, Addison-Wesley Professional Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, 1999, Addison-Wesley Professional
  • 97. Obrigado! Eric Cavalcanti ecavalcanti@gmail.com @ericoc