Descrição da Metodologia
Introdução
Metodologia é o campo em que se estuda os melhores métodos praticados em determinada área para a produção do conhecimento.[1] O objetivo deste documento é descrever o que será utilizado das metodologias para a realização do projeto.
2. Scrum
Scrum é uma metodologia ágil para gestão e planejamento de projetos de software, em que os projetos são divididos em ciclos denominados de sprint. A sprint representa um Time Box dentro do qual um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que são chamadas de Sprints no caso do Scrum.[2]
2.1 Recursos utilizados do scrum
É uma lista contendo todas as funcionalidades desejadas para um produto. O conteúdo desta lista pode ser alterado durante o projeto;
Time Box dentro do qual um conjunto de atividades deve ser executado;
É uma lista de tarefas que a equipe se compromete a fazer em uma Sprint;
Ocorre no início da sprint e tem como objetivo organizar o funcionamento da sprint;
Ao final de cada Sprint é feito o Sprint Review Meeting. Durante esta reunião, o time discute sobre pontos positivos e negativos, podendo propor sugestões de melhorias no projeto;
A cada dia da Sprint a equipe faz uma reunião diária, chamada daily. Ela tem como objetivo disseminar conhecimento sobre o que foi feito no dia, identificar impedimentos e priorizar o trabalho a ser realizado no dia seguinte.
Descrevem as funcionalidades do produto de maneira clara e objetiva. Podem ser usadas para fracionar essas funcionalidades, com o objetivo de se analisar melhor o esforço necessário para cada uma;
3. KANBAN
Kanban é uma palavra japonesa (lógico) e seu significado literal é “cartão” ou “sinalização”. É um método para a implantação de mudanças que não prescreve papéis ou práticas específicas
3.1 Recursos utilizados do KANBAN
Será utilizado o quadro de tarefas para definir quais funcionalidades são do Product Backlog, quais estão no Backlog da Sprint, bem como aquelas que estão sendo feitas, as que estão para serem revisadas ou já foram concluídas. O quadro de tarefas será feito na ferramenta ZenHub devido a fácil utilização junto ao github.
4. eXtreme Programming
É uma metodologia de desenvolvimento de software que visa boas práticas de programação e desenvolvimento em geral, se baseia em valor que priorizam o trabalho em equipe no desenvolvimento.
4.1 Recursos utilizados do XP
Será utilizado a prática de programação em pares, realizadas em pareamentos normalmente de duplas, onde ocorre uma rotação entre as duplas com o objetivo de nivelar a equipe e aumentar o entendimento do desenvolvimento de todos da equipe. Outra Prática do XP utilizada é a da refatoração e padronização, onde será utilizada uma folha de estilo para padronização do código, assim como refatoração constante visando elevar a qualidade do mesmo.
5. RUP
O RUP é um processo de desenvolvimento de software. Ele engloba as ações necessárias para transformar um conjunto de requisitos do cliente em um sistema de software. O RUP combina os ciclos de vida iterativo e incremental de forma que cada entrega do software em um ciclo agrega mais valor ao produto em relação ao ciclo anterior. A grande vantagem em desenvolver um grande sistema usando um processo incremental é a diminuição do risco, pois cada entrega pode ser avaliada e o passe seguinte alinhado com os objetivos do cliente, que nem sempre permanecem constantes durante o desenvolvimento de um projeto.[5] O RUP é dividido em fases: Concepção, elaboração, construção e transição.
5.1 Recursos utilizados do RUP
Será utilizado conceitos da fase de concepção, onde o foco é o escopo do sistema, nas primeiras sprints o foco é o levantamento de requisitos, definindo o escopo do sistema, e realizando planos para definir custos, riscos e gestão para desenvolvimento do projeto.
6. Referência
[1] SIGNIFICADOS. Significado de Metodologia. Disponível em https://www.significados.com.br/metodologia/
[2] DESENVOLVIMENTO ÁGIL. SCRUM. Disponível em https://www.desenvolvimentoagil.com.br/scrum/
[3] BERNARDO, Kleber. Kanban: Do início ao fim. Disponível em https://www.culturaagil.com.br/kanban-do-inicio-ao-fim/
[4] FGA-GPP-MDS. Programação Extrema(XP). Disponível em https://github.com/fga-eps-mds/A-Disciplina/wiki/Programa%C3%A7%C3%A3o-Extrema-(XP)
[5] PALPITE DIGITAL. RUP – Rational Unified Process – Fases. Disponível em https://www.palpitedigital.com/rup-rational-unified-process-fases/
7. Histórico de Revisão
Data | Versão | Descrição | Autor(es) |
---|---|---|---|
03/04/2019 | 0.1 | Abertura do Documento | João Pedro, Lucas Siqueira |
03/04/2019 | 0.2 | Desenvolvimento dos tópicos 3, 4 e 5 | Lucas Siqueira |