# Metodologia

# Histórico de Versão

Data Autor(es) Descrição Versão
08/09/2020 Caio César Beleza(Caiocbeleza) Adicionando Documento de metodologia 0.1

  Para este projeto será utilizada uma metodologia híbrida, onde o grupo escolheu alguns aspectos de metodologias ágeis e implementou um modo de trabalho adaptado, juntando esses aspectos e os colocando em prática.

# Scrum

  Scrum é uma metodologia ágil para gestão e planejamento de projetos de software, onde os projeto são divididos em ciclos chamados de sprint, que representam um tempo determinado dentro do qual um conjunto de atividades deve ser executado.
Antes de começar uma sprint é necessário fazer uma reunião de Sprint Planning(Planejamento da Sprint), na qual os envolvidos no projeto planeja o que será realizado naquela Sprint, priorizando as funcionalidades e às quebrando em tarefas técnicas a serem cumpridas no tempo da Sprint.
No fim de cada sprint é realizada uma reunião de Sprint Review(Retrospectiva da Sprint) que tem como objetivo a apresentação do time de desenvolvimento do que foi alcançado na Sprint.
Além disso, existe o Daily Scrum, onde a equipe se reune rapidamente para cad membro dizer o que fez no dia anterior, o que irá fazer no dia atual e os imedimentos existentes durante esse período. Mas essa atividade não será implementada ao nosso processo de trabalho. Ao invés disso, ocorrerão reuniões nas sextas-feiras, para acompanhar o andamento das tarefas da Sprint.

  Da metodologia Scrum, foram escolhidos os seguintes aspectos para serem seguidos no projeto:

  • Sprints: No projeto QRodízio, as sprints terão duração de 1 semana.
  • Sprint Planning: Foi definido que, no projeto QRodízio, as reuniões de Sprint Planning ocorrerão nas segundas-feiras.
  • Sprint Review: As Sprint Reviews também aconteçem nas segundas-feiras.

# Extreme Programming(XP)

  XP é uma metodologia de desenvlvimento de software, que ajuda a criar sistemas de melhor qualidade, mais rapidamente e de forma mais econômica, seguindo um conjunto de 5 valores: Comunicação, Coragem, Feedback, Respeito e Simplicidade.
Além desses valores, o XP emprega algumas práticas, como programação por pares, integração contínua e desevolvimento orientado a testes.

  Do XP, resolvemos aderir a programação por pares(Pair Programming), pois além de auxiliar no nivelamento do conhecimento da equipe, é muito útil para perceber erros mais facilmente.

# Kanban

  Kanban é um sistema ágil e visual para gerenciamento de tarefas, baseado em cartões, que são a menor parte do kanban, que representam as tarefas ou ações a serem feitas. Além dos cartões, são utilizadas colunas, que representam os status das tarefas e geralmente são 3: Fazer, Em execução e Feito. Os cartões são movidos pelas colunas conforme seus status forem mudando. E finalmente, existe o quadro, que é o kanban como um todo, onde estão contidos os cartões e as colunas.

  O kanban será utilizado através da ferramenta "Zenhub" do Github, para o gerenciamento das atividades e issues a serem feitas durante o projeto.

# Referências

  • DESENVOLVIMENTO ÁGIL. Scrum. Disponível em https://www.desenvolvimentoagil.com.br/scrum/ . Acesso em 07 de setembro. 2020.
  • DESENVOLVIMENTO ÁGIL. XP. Disponível em https://www.desenvolvimentoagil.com.br/xp/ . Acesso em 07 de setembro. 2020.
  • ARTIA. Como funciona o Kanban. Disponível em: https://artia.com/kanban/ . Acesso em 07 de setembro. 2020.