SlideShare a Scribd company logo
1 of 40
Gestão Ágil de Projetos
     com SCRUM
          Aula 2
O que teremos?

• Aula 2
 • Introdução à engenharia de requisitos
 • Introdução à histórias do usuário
 • Métrica por pontos e estimativas
Engenharia de
 Requisitos
Requisitos
• Requisitos são capacidades e condições às
  quais o sistema - e em termos mais
  amplos, o projeto - deve atender.
• Gerenciar Requisitos é uma abordagem
  sistemática para encontrar, documentar,
  organizar e rastrear as mudanças de
  requisitos de um sistema.


                                              [1]
Requisitos de Software
•   Requisitos de software expressam as necessidades e
    restrições colocadas sobre um produto de
    software que contribui para a solução de um
    problema do mundo real.

•   A área de conhecimento Requisitos de Software trata
    da elicitação, análise, especificação e validação dos
    requisitos do software.

•   Engenharia de Requisitos é um termo utilizado para
    denotar o tratamento sistemático dos requisitos.

                                                           [1]
Engenheiro de
              Requisitos
•   O Engenheiro, ou Analista de Requisitos se interessa
    tanto pelo sistema a ser construído, quanto pelo
    ambiente no qual ele irá funcionar.

•   Tarefas do Engenheiro de Requisitos:

    •   Reconhecimento do problema;

    •   Avaliação e Síntese;

    •   Especificação;

    •   Validação;

                                                           [6]
Engenheiro de
           Requisitos
• Habilidades do Engenheiro de Requisitos:
 •   Lidar com conceitos abstratos;
 •   Absorver fatos pertinentes a partir de fontes
     conflitantes e confusas;
 •   Entender o ambiente do usuário/cliente;
 •   Lidar com problemas complexos;
 •   Aplicar elementos de software/hardware ao ambiente
     do usuário/cliente;
 •   Comunicação verbal e escrita;
 •   Evitar detalhes desnecessários concentrando-se nos
     objetivos


                                                          [6]
Características dos
        requisitos
•   Não ambiguidade: uma única interpretação;

•   Completude: descrever cada aspecto significante
    e relevante com detalhes;

•   Consistência: não deve existir contradição;

•   Verificabilidade: verificar se a implementação
    satisfaz os requisitos especificados;

•   Validação: o usuário/cliente deve ser capaz de ler
    e entender as especificações;

                                                         [6]
Características dos
       requisitos
• Modificação: permitir que modificações
  sejam feitas facilmente;
• Compreensão: clientes, usuários, analistas,
  desenvolvedores devem ser capazes de
  entender;
• Rastreamento: referências entre os
  requisitos, aspectos de projeto e
  implementação;

                                                [6]
Tipos de requisitos
•   Requisitos Funcionais: descrevem as
    funções que o sistema deve executar.
    Geralmente representam interfaces com o
    usuário;

•   Requisitos Não Funcionais: referem-se
    a limitações do produto (performance,
    usabilidade, segurança, etc.) e do processo de
    desenvolvimento (custos, prazo,
    metodologias, etc.);

                                                     [6]
Requisitos evolutivos
•   Mudança nos requisitos é um componente
    fundamental;
•   Em média 25% dos requisitos são modificados;
•   Iniciar a programação e teste muito antes da maior parte
    dos requisitos terem sido analisados ou especificados;
•   Iniciar com os requisitos arquiteturalmente significantes,
    de alto risco e/ou de alto valor para o negócio;
•   No modelo em cascata 45% dos requisitos nunca são
    usados.


                                                                [2]
Modelo FURPS+
•   Funcional: características, capacidade, segurança;
•   Usabilidade: fatores humanos, ajuda, documentação;
•   Confiabilidade: falhas, recuperação, previsibilidade;

•   Desempenho: tempo de resposta, precisão, recursos;
•   Suporte: adaptação e manutenção,
    internacionalização;
    Em inglês: Functional, Usability, Reliability, Performance,
                         Supportability


                                                                  [1]
O “+” em FURPS+
•   Implementação: recursos, linguagens,
    hardware;

•   Interface: restrições com sistemas externos;

•   Operações: gerenciamento no ambiente
    operacional;

•   Empacotamento: distribuição do sistema;

•   Questões legais: licenças de uso, direitos;

                                                   [1]
Histórias do Usuário
Histórias do Usuário
•   Uma História do Usuário descreve uma
    funcionalidade de valor para o usuário ou
    patrocinador de um sistema ou software;

•   É composta por 3 aspectos:

    •   Descrição usada para planejamento ou lembrete;

    •   Discussão para concretizar os detalhes;

    •   Testes que indicam quando a história está pronta;


                                                            [COH04]
3C
• Os 3Cs são aspectos críticos de devem ser
  lembrados ao escrever histórias:
 • Cards: escrever em cartões os post-its
    para obrigá-las a serem pequenas;
 • Conversation: lembrete para discutir
    com o usuário/cliente;
 • Confirmation: maneira de validar o
    pedido;

                                              [JEF01]
INVEST
•   Independent: histórias devem ser independente
    das outras;
•   Negotiable: histórias não são contratos, mas
    lembretes para discussões;
•   Valuable: histórias devem gerar valor;
•   Estimatable: desenvolvedores devem ser capazes
    de estimar o tamanho das histórias;
•   Small: histórias não devem ser muito grandes e
    nem muito pequenas;

                                                     [COH04]
Considerações
• Stakeholders escrevem as histórias;
• Use a ferramenta mais simples possível;
• Lembre-se dos requisitos não funcionais;
• Indique o tamanho estimado;
• Indique a prioridade;
• Opcionalmente inclua um identificador
  único

                                             [AMB02]
Modelo Informal




                  [AMB02]
Modelo Formal
Sugestão
Como um {papel / ator}
Eu preciso {requisito}
Para {objetivo}


[Por exemplo, {exemplo}]
Prioridade: {N}            Pontos: {N}
Mão na massa
                                        60 min




• Em grupos, escreva de 15 a 20 histórias de
  um sistema de inscrição em eventos;
Métrica por pontos
Planejamento
• SIM, Planejar é difícil, e os planos geralmente
  estão errados. Isso não é nenhuma novidade!
• Um bom processo de planejamento:
  • Reduz riscos e incertezas;
  • Suporta boas tomadas de decisão;
  • Estabelece confiança
  • Transmite informações
                                                    [COH05]
Planejamento Ágil
•   Bom planejamento:
    •   O software será lançado no segundo ou terceiro
        trimestre?
•   Planejamento Ágil:
    •   Focado mais em planejar que no plano em si;
    •   Encoraja mudanças;
    •   O plano é facilmente alterado;
    •   Está espalhado por todo o projeto;

                                                         [COH05]
Por que planos falham?
• Planejar baseado em atividades e não em
  funcionalidades;
• Multi-tarefa causa mais atrasos;
• Funcionalidades não desenvolvidas por
  prioridade;
• Ignorar incertezas;
• Estimativas tornar-se comprometimento;
                                            [COH05]
Times Ágeis
• Agem com unidade;
• Trabalham em iterações curtas;
• Entregam algum valor ao término de cada
  iteração;
• Foca nas prioridades do negócio;
• Inspeciona e se adapta;
                                            [COH05]
Planejamento em
     Níveis
     Estratégia
     Portifólio
      Produto
      Release
      Iteração
         Dia



                  [COH05]
Estimativa usando
         Pontos
• Pontos de História são relativas;
• Ex. “Pontos de Cachorro” baseado no peso:
   Labrador     5 pt        Bassê       1 pt
    Terrier     3 pt    Pastor Alemão   5 pt
  Dinamarquês   10 pt   São Bernardo    9 pt
    Poodle      3 pt       Bulldog      3 pt


                                               [COH05]
Velocidade
•   Medida de progresso do trabalho da equipe;

•   Número de pontos completos por cada
    desenvolvedor durante uma Iteração;

•   A duração do projeto:

    •   Número de Iterações = Soma(pontos) /
        Velocidade

•   Ao término de cada iteração a duração é
    corrigida;

                                                 [COH05]
Estimativa usando Dias
         Ideais
•   Quanto tempo demora um jogo de futebol?
    •   Entre 90 (jogo normal) a 150 (jogo + prorrogação
        + pênaltis)

•   Fatores que afetam dias ideais:
Suporte ao release      Ligações        Recrutamento
    Doenças        Projetos especiais Troca de tarefas
    Reuniões         Treinamento         Correção de
 Demonstrações           E-mail       defeitos do release
Assuntos pessoais      Revisões        Gerenciamento

                                                            [COH05]
Técnicas para
         Estimativas
• Estimativas são compartilhadas:
  todos no time são responsáveis e dão sua
  opinião;
• Escala de estimativas: usar sequência
  de fibonacci (1,2,3,5,8)
• Histórias, Épicos e Temas: adicione
  os valores 13, 20, 40 e 100 à escala;


                                             [COH05]
Derivando estimativas

• Opinião de especialistas: tenha
  sempre uma opinião de um expert;
• Estimativa por analogia: comparar
  com algo semelhante e já realizado;
• Desagregação: quebrar em pedaços
  menores, mais fáceis de estimar;


                                        [COH05]
Planning Poker




                 [COH05]
Mão na massa
                                       60 min
• Estime as histórias que você escreveu para
  o software de inscrição de eventos
Visão

• Documento de Visão
 • Caixa do produto
• Teste do elevador
• A3
Documento de Visão
• Guiado pelos objetivos
• Conciso
• Simples
• Inspirador
• Visual
• 2 ~ 10 páginas
O que tem na Visão?
• Objetivos do negócio
• Quem vai usar o produto
 • Quem participa do projeto
• Quais as necessidades e principais
  funcionalidades
• Restrições (escopo, prazo e custo)
Teste do elevador
• Para {perfil do usuário/cliente}
• Que precisa(m) de {necessidade}
• O {produto} é um(a) {categoria}
• Que {principal benefício}
• Melhor que {principal concorrente}
• Porque {principal diferença}
Teste do elevador
                                       15 min




• Escreva o teste do elevador para o
  software de inscrição de eventos

More Related Content

What's hot

Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareElaine Cecília Gatto
 
Participação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumParticipação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumGustavo Quezada
 
Métodos Ágeis para desenvolvimento de jogos
Métodos Ágeis para desenvolvimento de jogosMétodos Ágeis para desenvolvimento de jogos
Métodos Ágeis para desenvolvimento de jogosRháleff Rodrigues
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Elaine Cecília Gatto
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Elaine Cecília Gatto
 
Uma introdução ao Scrum
Uma introdução ao ScrumUma introdução ao Scrum
Uma introdução ao ScrumEvandro Agnes
 
Estrategia de implementacao Scrum para Produtora Web
Estrategia de implementacao Scrum para Produtora WebEstrategia de implementacao Scrum para Produtora Web
Estrategia de implementacao Scrum para Produtora WebLuanna Eroles
 
1 apresentacao metodologia rcp
1  apresentacao metodologia rcp1  apresentacao metodologia rcp
1 apresentacao metodologia rcpFrank Coelho
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Elaine Cecília Gatto
 
Bate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPBate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPWildtech
 
Planejamento do Projeto (parte 2)
Planejamento do Projeto (parte 2)Planejamento do Projeto (parte 2)
Planejamento do Projeto (parte 2)Marcel Gois
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XPWildtech
 
Principais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de RequisitosPrincipais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de RequisitosNorton Guimarães
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitosGlauber Aquino
 

What's hot (20)

Lista de Práticas Ágeis
Lista de Práticas ÁgeisLista de Práticas Ágeis
Lista de Práticas Ágeis
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
Qualidade desenvolvimento-produtos
Qualidade desenvolvimento-produtosQualidade desenvolvimento-produtos
Qualidade desenvolvimento-produtos
 
Software
SoftwareSoftware
Software
 
Participação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumParticipação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos Scrum
 
Métodos Ágeis para desenvolvimento de jogos
Métodos Ágeis para desenvolvimento de jogosMétodos Ágeis para desenvolvimento de jogos
Métodos Ágeis para desenvolvimento de jogos
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3
 
Uma introdução ao Scrum
Uma introdução ao ScrumUma introdução ao Scrum
Uma introdução ao Scrum
 
Estrategia de implementacao Scrum para Produtora Web
Estrategia de implementacao Scrum para Produtora WebEstrategia de implementacao Scrum para Produtora Web
Estrategia de implementacao Scrum para Produtora Web
 
Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3
 
1 apresentacao metodologia rcp
1  apresentacao metodologia rcp1  apresentacao metodologia rcp
1 apresentacao metodologia rcp
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 
Bate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPBate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XP
 
ISO/IEC 9241-11
ISO/IEC 9241-11ISO/IEC 9241-11
ISO/IEC 9241-11
 
Planejamento do Projeto (parte 2)
Planejamento do Projeto (parte 2)Planejamento do Projeto (parte 2)
Planejamento do Projeto (parte 2)
 
Processo e Processo de Software
Processo e Processo de SoftwareProcesso e Processo de Software
Processo e Processo de Software
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XP
 
Principais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de RequisitosPrincipais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de Requisitos
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitos
 

Viewers also liked

Planning Poker Mobile ( Scrum ) - Minute Madness
Planning Poker Mobile ( Scrum ) - Minute MadnessPlanning Poker Mobile ( Scrum ) - Minute Madness
Planning Poker Mobile ( Scrum ) - Minute MadnessJuliano Theiss
 
Planejamento e Estimativas Ágeis com Planning Poker
Planejamento e Estimativas Ágeis com Planning PokerPlanejamento e Estimativas Ágeis com Planning Poker
Planejamento e Estimativas Ágeis com Planning PokerGlesio Paiva
 
Planning Poker - Scrum
Planning Poker - ScrumPlanning Poker - Scrum
Planning Poker - ScrumGabriel Rubens
 
Gestao agil de projetos com Scrum
Gestao agil de projetos com ScrumGestao agil de projetos com Scrum
Gestao agil de projetos com ScrumIgor Macaubas
 
Como demonstrar ROI das entregas de valor com Business Case
Como demonstrar ROI das entregas de valor com Business Case Como demonstrar ROI das entregas de valor com Business Case
Como demonstrar ROI das entregas de valor com Business Case Rildo (@rildosan) Santos
 

Viewers also liked (8)

Planning Poker Mobile ( Scrum ) - Minute Madness
Planning Poker Mobile ( Scrum ) - Minute MadnessPlanning Poker Mobile ( Scrum ) - Minute Madness
Planning Poker Mobile ( Scrum ) - Minute Madness
 
Planejamento e Estimativas Ágeis com Planning Poker
Planejamento e Estimativas Ágeis com Planning PokerPlanejamento e Estimativas Ágeis com Planning Poker
Planejamento e Estimativas Ágeis com Planning Poker
 
Planning Poker - Scrum
Planning Poker - ScrumPlanning Poker - Scrum
Planning Poker - Scrum
 
Gestao agil de projetos com Scrum
Gestao agil de projetos com ScrumGestao agil de projetos com Scrum
Gestao agil de projetos com Scrum
 
Como demonstrar ROI das entregas de valor com Business Case
Como demonstrar ROI das entregas de valor com Business Case Como demonstrar ROI das entregas de valor com Business Case
Como demonstrar ROI das entregas de valor com Business Case
 
Análise de Negócio na Perspectiva de BI
Análise de Negócio na Perspectiva de BIAnálise de Negócio na Perspectiva de BI
Análise de Negócio na Perspectiva de BI
 
Resumo do Guia BABOK® 3
Resumo do Guia BABOK®  3 Resumo do Guia BABOK®  3
Resumo do Guia BABOK® 3
 
Scrum Experience [O Tutorial Scrum]
Scrum Experience [O Tutorial Scrum]Scrum Experience [O Tutorial Scrum]
Scrum Experience [O Tutorial Scrum]
 

Similar to Gestão de projetos ágil com Scrum e engenharia de requisitos

Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumNoaldo Sales
 
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
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralRuan Carvalho
 
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
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoAchiles Camilo
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoJosé Araújo
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosJosé Claudemir Pacheco Júnior
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaHenrique Nunes Bez Fontana
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosTamires Guedes
 

Similar to Gestão de projetos ágil com Scrum e engenharia de requisitos (20)

Gestão projetos
Gestão projetosGestão projetos
Gestão projetos
 
Slideshow - Metodologias ágeis
Slideshow - Metodologias ágeisSlideshow - Metodologias ágeis
Slideshow - Metodologias ágeis
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com Scrum
 
Treinamento Ágil / Scrum
Treinamento Ágil / ScrumTreinamento Ágil / Scrum
Treinamento Ágil / Scrum
 
Aula 3
Aula 3Aula 3
Aula 3
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Mini aula análise de requisitos
Mini aula análise de requisitosMini aula análise de requisitos
Mini aula análise de requisitos
 
SCRUM - Aula1
SCRUM - Aula1SCRUM - Aula1
SCRUM - Aula1
 
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.
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
 
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
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introdução
 
Delphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no CódigoDelphi Conference 2012 - Qualidade no Código
Delphi Conference 2012 - Qualidade no Código
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresa
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Análise de Sistemas Orientado a Objetos - 02
Análise de Sistemas Orientado a Objetos - 02Análise de Sistemas Orientado a Objetos - 02
Análise de Sistemas Orientado a Objetos - 02
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 

More from Saulo Arruda

MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8Saulo Arruda
 
Oportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsOportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsSaulo Arruda
 
Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Saulo Arruda
 
Growth hacking - Jera Retrospectiva
Growth hacking  - Jera RetrospectivaGrowth hacking  - Jera Retrospectiva
Growth hacking - Jera RetrospectivaSaulo Arruda
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startupsSaulo Arruda
 
StartupFarm métricas
StartupFarm métricasStartupFarm métricas
StartupFarm métricasSaulo Arruda
 
Mande seu chefe pentear macaco
Mande seu chefe pentear macacoMande seu chefe pentear macaco
Mande seu chefe pentear macacoSaulo Arruda
 
Sthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSaulo Arruda
 
Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Saulo Arruda
 
Startups - É programando que se empreende
Startups - É programando que se empreendeStartups - É programando que se empreende
Startups - É programando que se empreendeSaulo Arruda
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Saulo Arruda
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Saulo Arruda
 
Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Saulo Arruda
 
TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?Saulo Arruda
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Saulo Arruda
 
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Saulo Arruda
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 
Empreendedorismo Agil
Empreendedorismo AgilEmpreendedorismo Agil
Empreendedorismo AgilSaulo Arruda
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-CSaulo Arruda
 

More from Saulo Arruda (20)

MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8MVP: conheça os 2 significados ao criar o seu #cpbr8
MVP: conheça os 2 significados ao criar o seu #cpbr8
 
Oportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startupsOportunidade para desenvolvedores na era das startups
Oportunidade para desenvolvedores na era das startups
 
Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014Growth Hacking Mobile - BRAPPS 2014
Growth Hacking Mobile - BRAPPS 2014
 
Growth hacking - Jera Retrospectiva
Growth hacking  - Jera RetrospectivaGrowth hacking  - Jera Retrospectiva
Growth hacking - Jera Retrospectiva
 
#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups#CPBR7 - Métricas para startups
#CPBR7 - Métricas para startups
 
StartupFarm métricas
StartupFarm métricasStartupFarm métricas
StartupFarm métricas
 
Mande seu chefe pentear macaco
Mande seu chefe pentear macacoMande seu chefe pentear macaco
Mande seu chefe pentear macaco
 
Sthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e MobileSthart - Desenvolvimento Web e Mobile
Sthart - Desenvolvimento Web e Mobile
 
Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?Como ganhar dinheiro com aplicativos mobile?
Como ganhar dinheiro com aplicativos mobile?
 
Startups - É programando que se empreende
Startups - É programando que se empreendeStartups - É programando que se empreende
Startups - É programando que se empreende
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5
 
Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4
 
TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?TDC 2012 - Querem me comprar, e agora?
TDC 2012 - Querem me comprar, e agora?
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3
 
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
Empreendedorismo Agil
Empreendedorismo AgilEmpreendedorismo Agil
Empreendedorismo Agil
 
Minicurso Ruby
Minicurso RubyMinicurso Ruby
Minicurso Ruby
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
 

Gestão de projetos ágil com Scrum e engenharia de requisitos

  • 1. Gestão Ágil de Projetos com SCRUM Aula 2
  • 2. O que teremos? • Aula 2 • Introdução à engenharia de requisitos • Introdução à histórias do usuário • Métrica por pontos e estimativas
  • 4. Requisitos • Requisitos são capacidades e condições às quais o sistema - e em termos mais amplos, o projeto - deve atender. • Gerenciar Requisitos é uma abordagem sistemática para encontrar, documentar, organizar e rastrear as mudanças de requisitos de um sistema. [1]
  • 5. Requisitos de Software • Requisitos de software expressam as necessidades e restrições colocadas sobre um produto de software que contribui para a solução de um problema do mundo real. • A área de conhecimento Requisitos de Software trata da elicitação, análise, especificação e validação dos requisitos do software. • Engenharia de Requisitos é um termo utilizado para denotar o tratamento sistemático dos requisitos. [1]
  • 6. Engenheiro de Requisitos • O Engenheiro, ou Analista de Requisitos se interessa tanto pelo sistema a ser construído, quanto pelo ambiente no qual ele irá funcionar. • Tarefas do Engenheiro de Requisitos: • Reconhecimento do problema; • Avaliação e Síntese; • Especificação; • Validação; [6]
  • 7. Engenheiro de Requisitos • Habilidades do Engenheiro de Requisitos: • Lidar com conceitos abstratos; • Absorver fatos pertinentes a partir de fontes conflitantes e confusas; • Entender o ambiente do usuário/cliente; • Lidar com problemas complexos; • Aplicar elementos de software/hardware ao ambiente do usuário/cliente; • Comunicação verbal e escrita; • Evitar detalhes desnecessários concentrando-se nos objetivos [6]
  • 8. Características dos requisitos • Não ambiguidade: uma única interpretação; • Completude: descrever cada aspecto significante e relevante com detalhes; • Consistência: não deve existir contradição; • Verificabilidade: verificar se a implementação satisfaz os requisitos especificados; • Validação: o usuário/cliente deve ser capaz de ler e entender as especificações; [6]
  • 9. Características dos requisitos • Modificação: permitir que modificações sejam feitas facilmente; • Compreensão: clientes, usuários, analistas, desenvolvedores devem ser capazes de entender; • Rastreamento: referências entre os requisitos, aspectos de projeto e implementação; [6]
  • 10. Tipos de requisitos • Requisitos Funcionais: descrevem as funções que o sistema deve executar. Geralmente representam interfaces com o usuário; • Requisitos Não Funcionais: referem-se a limitações do produto (performance, usabilidade, segurança, etc.) e do processo de desenvolvimento (custos, prazo, metodologias, etc.); [6]
  • 11. Requisitos evolutivos • Mudança nos requisitos é um componente fundamental; • Em média 25% dos requisitos são modificados; • Iniciar a programação e teste muito antes da maior parte dos requisitos terem sido analisados ou especificados; • Iniciar com os requisitos arquiteturalmente significantes, de alto risco e/ou de alto valor para o negócio; • No modelo em cascata 45% dos requisitos nunca são usados. [2]
  • 12. Modelo FURPS+ • Funcional: características, capacidade, segurança; • Usabilidade: fatores humanos, ajuda, documentação; • Confiabilidade: falhas, recuperação, previsibilidade; • Desempenho: tempo de resposta, precisão, recursos; • Suporte: adaptação e manutenção, internacionalização; Em inglês: Functional, Usability, Reliability, Performance, Supportability [1]
  • 13. O “+” em FURPS+ • Implementação: recursos, linguagens, hardware; • Interface: restrições com sistemas externos; • Operações: gerenciamento no ambiente operacional; • Empacotamento: distribuição do sistema; • Questões legais: licenças de uso, direitos; [1]
  • 15. Histórias do Usuário • Uma História do Usuário descreve uma funcionalidade de valor para o usuário ou patrocinador de um sistema ou software; • É composta por 3 aspectos: • Descrição usada para planejamento ou lembrete; • Discussão para concretizar os detalhes; • Testes que indicam quando a história está pronta; [COH04]
  • 16. 3C • Os 3Cs são aspectos críticos de devem ser lembrados ao escrever histórias: • Cards: escrever em cartões os post-its para obrigá-las a serem pequenas; • Conversation: lembrete para discutir com o usuário/cliente; • Confirmation: maneira de validar o pedido; [JEF01]
  • 17. INVEST • Independent: histórias devem ser independente das outras; • Negotiable: histórias não são contratos, mas lembretes para discussões; • Valuable: histórias devem gerar valor; • Estimatable: desenvolvedores devem ser capazes de estimar o tamanho das histórias; • Small: histórias não devem ser muito grandes e nem muito pequenas; [COH04]
  • 18. Considerações • Stakeholders escrevem as histórias; • Use a ferramenta mais simples possível; • Lembre-se dos requisitos não funcionais; • Indique o tamanho estimado; • Indique a prioridade; • Opcionalmente inclua um identificador único [AMB02]
  • 19. Modelo Informal [AMB02]
  • 21. Sugestão Como um {papel / ator} Eu preciso {requisito} Para {objetivo} [Por exemplo, {exemplo}] Prioridade: {N} Pontos: {N}
  • 22. Mão na massa 60 min • Em grupos, escreva de 15 a 20 histórias de um sistema de inscrição em eventos;
  • 24. Planejamento • SIM, Planejar é difícil, e os planos geralmente estão errados. Isso não é nenhuma novidade! • Um bom processo de planejamento: • Reduz riscos e incertezas; • Suporta boas tomadas de decisão; • Estabelece confiança • Transmite informações [COH05]
  • 25. Planejamento Ágil • Bom planejamento: • O software será lançado no segundo ou terceiro trimestre? • Planejamento Ágil: • Focado mais em planejar que no plano em si; • Encoraja mudanças; • O plano é facilmente alterado; • Está espalhado por todo o projeto; [COH05]
  • 26. Por que planos falham? • Planejar baseado em atividades e não em funcionalidades; • Multi-tarefa causa mais atrasos; • Funcionalidades não desenvolvidas por prioridade; • Ignorar incertezas; • Estimativas tornar-se comprometimento; [COH05]
  • 27. Times Ágeis • Agem com unidade; • Trabalham em iterações curtas; • Entregam algum valor ao término de cada iteração; • Foca nas prioridades do negócio; • Inspeciona e se adapta; [COH05]
  • 28. Planejamento em Níveis Estratégia Portifólio Produto Release Iteração Dia [COH05]
  • 29. Estimativa usando Pontos • Pontos de História são relativas; • Ex. “Pontos de Cachorro” baseado no peso: Labrador 5 pt Bassê 1 pt Terrier 3 pt Pastor Alemão 5 pt Dinamarquês 10 pt São Bernardo 9 pt Poodle 3 pt Bulldog 3 pt [COH05]
  • 30. Velocidade • Medida de progresso do trabalho da equipe; • Número de pontos completos por cada desenvolvedor durante uma Iteração; • A duração do projeto: • Número de Iterações = Soma(pontos) / Velocidade • Ao término de cada iteração a duração é corrigida; [COH05]
  • 31. Estimativa usando Dias Ideais • Quanto tempo demora um jogo de futebol? • Entre 90 (jogo normal) a 150 (jogo + prorrogação + pênaltis) • Fatores que afetam dias ideais: Suporte ao release Ligações Recrutamento Doenças Projetos especiais Troca de tarefas Reuniões Treinamento Correção de Demonstrações E-mail defeitos do release Assuntos pessoais Revisões Gerenciamento [COH05]
  • 32. Técnicas para Estimativas • Estimativas são compartilhadas: todos no time são responsáveis e dão sua opinião; • Escala de estimativas: usar sequência de fibonacci (1,2,3,5,8) • Histórias, Épicos e Temas: adicione os valores 13, 20, 40 e 100 à escala; [COH05]
  • 33. Derivando estimativas • Opinião de especialistas: tenha sempre uma opinião de um expert; • Estimativa por analogia: comparar com algo semelhante e já realizado; • Desagregação: quebrar em pedaços menores, mais fáceis de estimar; [COH05]
  • 34. Planning Poker [COH05]
  • 35. Mão na massa 60 min • Estime as histórias que você escreveu para o software de inscrição de eventos
  • 36. Visão • Documento de Visão • Caixa do produto • Teste do elevador • A3
  • 37. Documento de Visão • Guiado pelos objetivos • Conciso • Simples • Inspirador • Visual • 2 ~ 10 páginas
  • 38. O que tem na Visão? • Objetivos do negócio • Quem vai usar o produto • Quem participa do projeto • Quais as necessidades e principais funcionalidades • Restrições (escopo, prazo e custo)
  • 39. Teste do elevador • Para {perfil do usuário/cliente} • Que precisa(m) de {necessidade} • O {produto} é um(a) {categoria} • Que {principal benefício} • Melhor que {principal concorrente} • Porque {principal diferença}
  • 40. Teste do elevador 15 min • Escreva o teste do elevador para o software de inscrição de eventos

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n