Roles

Roles

  • Docs
  • Sprints
  • Blog
  • Help

›Metodologia

Negócio

  • TAP
  • EAP
  • Documento de Visão
  • Colaboradores
  • Roadmap Geral
  • Roadmap Devops
  • ROI

Metodologia

  • Plano Metodológico
  • Roadmap Scrum Master
  • Post Mortem

Técnico

  • Documento de Arquitetura
  • Roadmap Arquiteto
  • Roadmap Devops
  • DevOps

Comunidade

  • License
  • Código de Conduta
  • Guia de Contribuição
  • Templates

Plano Metodológico

A metodologia aplicada neste projeto será uma metodologia híbrida baseada nos frameworks Scrum, Extreme Programming e Kanban. Abaixo segue a descrição de quais técnicas serão aplicadas e como cada uma deve ser seguida.


Papéis

Scrum Master

  • Responsável por garantir que a equipe esteja aderindo aos valores, práticas e regras do Scrum;
  • Educar a equipe para ser mais produtiva e desenvolver os produtos com maior qualidade;
  • Ajudar a equipe a se auto-organizar;
  • Documentar as sprints;
  • Resolver impedimentos internos e externos;
  • Gerenciar os riscos do projeto e EVM.

Product Owner

  • Responsável pelo gerenciamento do Backlog do produto e garantir o valor do trabalho realizado pela equipe;
  • Definir os critérios de aceitação para issues;
  • Vender o produto;
  • Intermediário entre o cliente e a equipe;
  • Agregar valor ao produto;
  • Canvas.

DevOps

  • Garantir que todas as alterações de código e configurações sejam feitas usando mecânismos automatizados e rastreávevis;
  • Automatizar a infraestrututra;
  • Automatizar e garantir a integração e deploy contínuos;
  • Organizar os pipelines de produto, desenvolvimento e deploy;
  • Organizar e garantir o ambiente de desenvolvimento e testes;
  • Organizar e garantir o ambiente de homologação;
  • Gerar '.apk';
  • Verificar e aceitar os pull requests de acordo com os critérios definidos pelo Scrum Master e o PO;
  • Registrar o gitflow.

Arquiteto

  • Planejar e desenvolver a arquitetura que melhor atende as necessidades do projeto;
  • Tomar decisões sobre ferramentas e métodos de desenvolvimento;
  • Acompanhar o processo de desenvolvimento para garantir que a arquitetura está sendo seguida;
  • Lidar com a aplicação e seu fluxo de dados.

Desenvolvedor

  • Desenvolver as histórias de usuário;
  • Testar sempre as soluções, visando manter no mínimo 90% da corbetura do código;
  • Ter habilidade de compartilhar, adquirir e transformar conhecimento em um produto utilizável;
  • Seguir os padrões e técnicas de programação adotados pelo Scrum Master.

Rituais

Sprints

  • Geralmente com duração de 7 dias;
  • As sprints normalmente se iniciaram na segunda-feria e tiveram seu término na segunda-feira seguinte.
    • As sprints mais proximas das releases podem ser encurtadas para 4 dias ou alongadas para até 15 dias. Sendo responsabilidade do Scrum Master, avaliar previamente, conforme andamento da equipe, qual a melhor opção que deverá ser adotada.

Daily Meeting

  • Duração Máxima de 15 minutos;
  • Realizadas presencialmente todas as terças e quinta às 13:45h;
  • Realizadas virtualmente toda segunda, quarta e sexta-feira através do Discord.
  • A ausência em qualquer das reuniões deverá ser previamente comunicada pelo membro da equipe e justificada. Sendo obrigação do mesmo informar o andamento das duas atividades neste dia pelos meios de comunicações definidos pela equipe.

Sprint Review

  • Duração Máxima: 1 hora;
  • Ocorrerão toda segunda-feira, tendo início as 19h

Sprint Retrospective

  • Duração Máxima: 45 minutos;
  • Ocorrerão toda segunda-feira, após o termino da Sprint Review.

Sprint Planning

  • Duração Máxima: 2 horas;
  • Ocorrerão toda segunda-feira, tendo início após o termino da Sprint Retrospective.

Técnicas de Planejamento

Issues

  • As issues serão aplicadas para representar os mais diversos tipos de tarefas que o projeto demandar.

Milestones

  • As milestones serão aplicadas para identificar cada sprint. Entende-se que cada sprint representa uma entrega significativa de novas funcionalidades, caracterizando-se assim como macros do projeto.
  • Toda issue planejada ou adicionada para ser executada durante aquela sprint deve ser mapeada com a milestone referente.

Épicos

  • Issues referentes a um mesmo módulo dentro do projeto devem estar associadas a épicos, como forma de mapear melhor o desenvolvimento daquele épico em específico.
  • Épicos também podem ser usados para representar issues muito grandes, com alto grau de dificuldade. Assim, quebra-se essas issues complexas em issues menores facilitando o desenvolvimento.

User Stories

  • Serão aplicadas na estimativa de tempo para planejamento da sprint;
  • Deverão seguir o seguinte template:
Eu como [usuário do sistema] desejo [ação a ser executada] para [justificativa para a ação].
  • Este template deve estar mapeado em uma Issue Template:

Descrição Deve conter uma descrição detalhada explicando a finalidade para a qual à issue foi criada.

Tarefas :

  • [ ] Tarefa 1;

Requisitos:

As issues devem possuir título, descrição, no mínimo um assinante responsável, labels, milestone(a sprint que deve ser concluída) e estimated(puntuação) para as issues pontuadas.

  • Cada user story deve possuir um conjunto de critérios de aceitação definidos pelo PO, os quais deverão ser verificados antes de afirmar a tarefa como concluída.

Technical Stories

  • Techinical Stories devem ser aplicadas quando surgir alguma demanda não funcional durante o andamento do projeto.
  • Deverão seguir o mesmo template definido para as user stories.

Planning Poker

  • Deverá ser aplicado para estimar a dificuldade de trabalho do projeto e auxiliar no planejamento das sprints, conforme nota-se a capacidade de produção da equipe;
  • Os pontos estimados para uma issue devem estar registrados na mesma por meio do ZenHub;
  • Os valores considerados deverão seguir a tabela abaixo:
PontuaçãoDuraçãoRiscoMáximo
015 minutos15 minutos30 minutos
11 hora1 hora2 horas
22 horas1 hora3 horas
34 horas2 horas6 horas
58 horas2 horas10 horas
812 horas4 horas16 horas
1320 horas6 horas26 horas
2130 horas10 horas40 horas

Issues com mais de 13 pontos devem ser transformadas em Épicos e quebradas em issues menores, para facilitar o desenvolvimento do projeto.

MosCow

O backlog deve ser priorizado utilizando o método MosCow, o qual está disposto abaixo:

Must have Tem que ter
Should have Deveria ter
Could have Pode ter
Would have Seria bom ter

Kanban

O Kanban será aplicado visando monitorar o fluxo de trabalho da equipe.

  • O Kanban deverá contar com os quadros Product Backlog, Icebox, Sprint Backlog, Em progresso, Revisão e Terminados;
  • É de responsabilidade de cada membro da equipe atualizar o Kanban diariamente com o status de cada atividade;
  • O Kanban estará disponível por meio da ferramenta ZenHub.
  • Acessar o Kanban.

Técnicas de Gerenciamento

Velocity

  • O velocity deve ser medido ao final de cada sprint e utilizado no planejamento da próxima sprint como parâmetro para avaliar a capacidade da equipe de desenvolvimento.

Burndown

  • O burndown deve ser aplicado sobre cada sprint com o intuito de monitorar a entrega das atividades planejadas.
  • É responsabilidade do Scrum Master acompanhar o gráfico durante a sprint e tomar ações para garantir as entregas ao final da sprint.
  • O gráfico de burndown será gerado automaticamente pela ferramenta ZenHub a medida que o KanBan é atualizado pela equipe.

Técnicas de Codificação

Programação em Pares

  • Os pares da sprint deverão ser definidos durante o Sprint Planning;
  • O Scrum Master é responsável por formar os pares;
  • O quadro de conhecimentos deve ser o indicador de maior peso na formação dos pares, sendo que desenvolvedores com mais experiência em determinada área deve parear com quem possui menos conhecimento na mesma.

Integração Contínua

  • As branchs master e dev estarão submetidas ao processo de integração contínua, devendo respeitar o mínimo de 90% da cobertura de código nos testes unitários;
  • Todo pull request realizado para branch dev estará sujeito ao processo de integração contínua.

Padrões de Codificação

  • O código deve ser formato seguindo os padrões de estilo e técnicas de programação adotadas pela equipe, visando assim garantir a qualidade do código gerado.

Técnicas de Design

Simplicidade

  • Ao manusear o código a equipe deve priorizar sempre a solução mais simples que atenda as necessidades do problema.

Refatoração

  • Ao manusear o código, sempre que houver dificuldade para compreensão do mesmo a equipe deve se organizar para refatorá-lo.
  • A refatoração deve ser realizada antes de fazer qualquer alteração na funcionalidade, visando garantir a integridade do código.

Definição de Pronto

História de Usuário

Uma história estará finalizada quando a funcionalidade for implementada, testada, e validada junto ao PO, além de manter ou aumentar a cobertura dos testes.

Feature

Uma feature é considerada finalizada quando todas as histórias derivadas estão todas implementadas com a cobertura de testes aumentada ou mantida.

Sprint

Uma sprint conclui após 7 dias de trabalho. Caso as histórias não forem finalizadas e mescladas na branch master devem ser alocadas para a próxima Sprint como dívida técnica. Os riscos identificados devido as dificuldades enfrentadas são mapeados na documentação da sprint.

Artefato

Um artefato é considerado pronto quando for finalizado e feito o pull request com as validações presentes no guia de contribuição.

← ROIRoadmap Scrum Master →
  • Papéis
    • Scrum Master
    • Product Owner
    • DevOps
    • Arquiteto
    • Desenvolvedor
  • Rituais
    • Sprints
    • Daily Meeting
    • Sprint Review
    • Sprint Retrospective
    • Sprint Planning
  • Técnicas de Planejamento
    • Issues
    • Milestones
    • Épicos
    • User Stories
    • Technical Stories
    • Planning Poker
    • MosCow
    • Kanban
  • Técnicas de Gerenciamento
    • Velocity
    • Burndown
  • Técnicas de Codificação
    • Programação em Pares
    • Integração Contínua
    • Padrões de Codificação
  • Técnicas de Design
    • Simplicidade
    • Refatoração
  • Definição de Pronto
    • História de Usuário
    • Feature
    • Sprint
    • Artefato
Copyright © 2018 RolesFGA - EPS/MDS 2.2018