Pular para conteúdo

Documento de Metodologia

Documento de Metodologia e Processos Histórico de Versão

Histórico de Versão

Data Versão Descrição Autor
14/09/2022 1.0 Criação do documento Leonardo Sobrinho e Kallyne M. Passos

1. Introdução

Esse documento visa informar todas as metodologias, processos e práticas que serão utilizadas ao longo da execução do projeto Pokeranking.

2. Metodologias

Para a viabilização e o efetivo desenvolvimento do projeto serão utilizadas metodologias baseadas majoritariamente no Manifesto Ágil, de modo a ter um planejamento volátil que está sempre mudando. Um dos pilares do Manifesto Ágil é a maior valorização de indivíduos e interações em detrimento de processos e ferramentas. Tendo isso como base, este fator será o foco para o processo de desenvolvimento de software e para a consequente aprendizagem por parte de todos os indivíduos envolvidos no projeto. Dentre as metodologias a serem utilizadas, estão o Scrum, o Kanban, o Extreme Programming (XP) e o Planning Poker.

2.1 Scrum

"A estrutura do Scrum procura aproveitar a maneira como as equipes de fato trabalham, fornecendo ferramentas para se auto-organizarem e otimizarem em pouco tempo a rapidez e a qualidade do trabalho." Scrum: a arte de fazer o dobro do trabalho na metade do tempo, 2016

2.1.1 Product Backlog

O product backlog é uma lista ordenada das tarefas necessárias para o desenvolvimento e melhora do software. Nele estão contidas as funcionalidades a serem implementadas, correções de falhas e alterações em funcionalidades já existentes. Mudanças no Product Backlog devem ser decididas junto com a equipe e também devem ser realizadas em todas as etapas da construção do produto.

2.1.2 Pápeis

  • Scrum Master: É o responsável pela eficiência do grupo, auxiliando a todos no entendimento do framework Scrum e atuando na gestão do grupo.

  • Product Owner: Responsável por aumentar o valor do produto a ser desenvolvido e na gestão do Product Backlog, comunicando com o time sobre o objetivo a ser atingido.

  • Desenvolvedor: Atua no desenvolvimento e teste do produto, criando o Sprint Backlog e adaptando seu plano de modo a atingir o objetivo definido ao final da Sprint.

  • Designer: Atua nas responsabilidades, operações, atributos e relacionamentos de elementos do design do produto, assegurando também que esse esteja consistente com a arquitetura do software.

  • Arquiteto: Atua na decisão das melhores tecnologias a serem utilizadas pelo grupo durante o desenvolvimento do projeto. Atua em suporte ao DevOps.

  • DevOps: Atua na configuração do ambiente de desenvolvimento e homologação do produto. Visa também automatizar processos como os testes e também, atuar para que o projeto forneça uma entrega e integração contínuas.

  • Desenvolvedor: Atua no desenvolvimento e teste do produto, criando o Sprint Backlog e adaptando seu plano de modo a atingir o objetivo definido ao final da Sprint.

2.1.3 Sprints

  • Sprint: Sprints são os eventos principais do Scrum, tendo duração previamente projetada e constante durante todo o projeto. Uma sprint pode ter duração igual ou menor a um mês, sendo utilizado neste projeto o período fixado de uma semana. Na sprint são desenvolvidas todas as atividades do projeto conforme o planejado ao início desta.

  • Sprint Planning: O Sprint Planning é o evento que inicia a sprint, reunindo os membros da equipe para a definição do Sprint Backlog, um artefato que define as metas e atividades que devem ser executadas ao decorrer da sprint.

  • Sprint Review: Realizada no final de cada sprint, o objetivo do Sprint Review é verificar o trabalho realizado durante a sprint e debater as mudanças que ocorreram no projeto.

  • Sprint Retrospective: A Sprint Retrospective é o último evento da sprint, tendo o objetivo de levantar pontos positivos e negativos do decorrer da sprint e debater como a produtividade e a qualidade do produto desenvolvido podem ser incrementadas. Basicamente a Sprint Retrospective busca avaliar o que foi bom ou ruim durante a sprint e agir para que os pontos positivos sejam mantidos e os pontos negativos sofram alterações.

  • Sprint Backlog: O Sprint Backlog é um artefato gerado no Sprint Planning, conforme descrito no tópico anterior. Nele estão contidos os itens do product backlog a serem realizados pelos desenvolvedores.

2.2 Kanban

Kanban em japonês tem como significado quadro de sinal ou sinal visual, o quadro Kanban mais simples possui três colunas – “Pedido”, “Em Progresso” e “Concluído”. Ele serve como uma central de informações em tempo real, destacando os gargalos no sistema e qualquer outra coisa que possa atrapalhar as práticas de trabalho.

O kanban será utilizado como um método de gerenciamento de fluxo de trabalho para definir, gerenciar e melhorar processos que fornecem trabalho de conhecimento, objetivando a visualização rápida do trabalho à ser realizado e a maximização da eficiência e produtividade.

2.3 Extreme Programming (XP)

O Extreme Programming (XP) é uma metodologia ágil que visa o desenvolvimento de sistemas que entreguem o que é pedido pelo cliente, melhorando também o ambiente de trabalho dos desenvolvedores, de modo a propiciar a realização de trabalhos simples e de qualidade. Dentre os pilares do XP, estão a simplicidade, a comunicação, o feedback, respeito e a coragem (de dizer "não").

Durante o projeto, ele será utilizado como forma de melhorar o desempenho individual dos integrantes da equipe.

2.4 Planning Poker

O Planning Poker é um método que visa ajudar a mensurar a dificuldade de uma tarefa. Ele funciona de modo a facilitar a medida ao juntar a opinião do grupo sobre a dificuldade de determinada tarefa sem que haja influência de um integrante sobre outro.

No nosso projeto utilizamos como referência tamanhos de camisa.

3. Plano de Comunicação

O Plano de Comunicação vem para assegurar que exista uma comunicação eficiente e compreensível entre os integrantes da equipe e também para ajudar a documentar e organizar o conjunto de informações que a equipe gera durante todo o processo. Com isso em mente, nossa equipe optou por utilizar os seguintes meios de comunicação: * Github - armazenamento de código fonte, transparência na realização de tarefas e documentação de iterações. * Telegram - diálogo rápido, organização de eventos e decisões de baixo impacto. * Teams - reuniões marcadas para dias específicos da semana.

4. Referências

"Extreme Programming – Conceitos e Práticas", por Manoel.

SUTHERLAND, Jeff: Scrum. A Arte de Fazer o Dobro do Trabalho na Metade do Tempo. Editora LeYa, 2016.

"O Guia Definitivo para o Scrum: As Regras do Jogo", por Ken Schwaber e Jeff Sutherland.

"O que é Timebox? 14 exemplos e casos de uso.".

"Extreme Programming (XP): o que é, valores e benefícios".

Planning Poker.

"Metodologia Ágil e Scrum".

Manifesto Ágil.