Ir para o conteúdo

Metodologias

1. Introdução

  Este documento apresenta as metodologias empregadas ao longo do desenvolvimento do projeto. As abordagens metodológicas descritas aqui foram selecionadas com o objetivo de garantir a eficiência, a qualidade e a consistência dos resultados obtidos.

2. Lean Inception

  O Lean Inception é um workshop colaborativo que combina princípios do Design Thinking e Lean Startup, e é dividido em várias etapas e atividades para guiar a equipe na definição de um MVP (Produto Mínimo Viável). As atividades incluem:

  • Visão do produto: Define e alinha a essência do produto e seu valor para o negócio.
  • É, não é; faz, não faz: Classifica os aspectos do produto, determinando o que ele é e não é, e o que faz e não faz.
  • Objetivos do negócio: Alinha as perspectivas da equipe e alcança um consenso sobre os objetivos essenciais.
  • Personas: Promove o entendimento do contexto dos usuários, ajudando a descrever funcionalidades do ponto de vista de quem irá interagir com o produto.
  • Jornada do usuário: Descreve o caminho que um usuário percorre para alcançar um objetivo.
  • Brainstorming de funcionalidades: Levanta e descreve funcionalidades com base nas etapas anteriores.
  • Revisão técnica, de negócio e de UX: Discute as perspectivas técnicas, de negócio e de experiência do usuário.
  • Sequenciador: Estrutura e organiza a ordem de implementação das funcionalidades.
  • Canvas MVP: Auxilia no alinhamento estratégico final do MVP.

3. Scrum

  Scrum é uma metodologia ágil voltada para a gestão e planejamento de projetos. As principais práticas e características do Scrum implementadas no gerenciamento do projeto incluem:

  • Sprints: Ciclos de desenvolvimento com duração definida, tarefas específicas e objetivos claros.
  • Planning: Reunião para planejar as tarefas da sprint, definir responsáveis e revisores.
  • Daily: Reuniões diárias curtas para acompanhar o progresso das tarefas. Em nosso caso, algumas dessas reuniões ocorrem presencialmente.
  • Revisão e retrospectiva de sprint: Reuniões realizadas ao final de cada sprint. A revisão foca na avaliação do produto desenvolvido, enquanto a retrospectiva analisa as práticas da equipe e as situações enfrentadas durante a sprint.
  • Product Backlog: Lista de histórias de usuário planejadas para o desenvolvimento do produto.
  • Sprint Backlog: Lista de histórias de usuário selecionadas para desenvolvimento durante uma sprint, definida na reunião de planejamento.

4. Programação Extrema

   A Programação Extrema (XP) adota os princípios, valores e práticas do manifesto ágil, sendo ideal para equipes de pequeno e médio porte. Este método ágil promove a entrega contínua de software de alta qualidade. Entre os valores do XP, as principais práticas implementadas são:

  • Programação em pares: quando possível, tarefas são atribuídas a duplas de programadores, visando aumentar a qualidade do código e promover o compartilhamento de conhecimento;
  • Lançamentos Pequenos e Frequentes: entregas frequentes de incrementos funcionais do produto;
  • Integração Contínua: códigos são integrados regularmente para garantir que as alterações sejam combinadas e testadas continuamente;
  • Cliente Sempre Presente: os proprietários do produto participam ativamente do desenvolvimento, fornecendo feedback constante e esclarecendo requisitos semanalmente;
  • Design Simples: o código é mantido simples, evitando complexidade desnecessária;
  • Planning Poker: técnica usada para estimar o esforço necessário para concluir itens do backlog, onde a equipe vota usando a sequência de Fibonacci e discute as respostas para chegar a um consenso;
  • Testes Automatizados: assegurar uma boa cobertura de testes automatizados.

5. Kanban

  Originário do Japão, o termo "Kanban" significa "sinalização" ou "cartão". Esta metodologia é amplamente utilizada para gerenciar fluxos de trabalho e produção, proporcionando uma visão clara das tarefas em andamento. O Kanban utiliza um quadro visual onde cartões representam tarefas específicas, organizadas em colunas que indicam diferentes etapas do processo. Para nossa implementação, adotaremos o Zenhub, uma ferramenta que integra o Kanban diretamente com repositórios de código, facilitando a gestão e o acompanhamento do progresso das tarefas.

  Além disso, o Kanban enfatiza alguns princípios fundamentais:

  • Visualização do Trabalho: Ter uma representação visual clara das tarefas em andamento, pendentes e concluídas.
  • Limitação do Trabalho em Progresso (WIP): Controlar a quantidade de trabalho em cada fase para evitar sobrecarga e garantir um fluxo constante.
  • Foco no Fluxo: Identificar e eliminar gargalos no processo para melhorar a eficiência e a produtividade.
  • Melhoria Contínua: Avaliar regularmente o processo e implementar mudanças incrementais para otimização contínua.

Referências

EXTREME PROGRAMMING. The Values of Extreme Programming. Disponível em: http://www.extremeprogramming.org/values.html

PROJETO CURUMIM. Metodologia. Diponível em: https://unbarqdsw2021-1.github.io/2021.1_G6_Curumim/base/metodologia/metodologia/

EQUIPE ALECTRION 2023-1. Metodologias. Disponível em: https://fga-eps-mds.github.io/2023-1-Alectrion-DOC/metodologias/

CAROLI, Paulo. Lean Inception: Como alinhar as pessoas e construir o produto certo. 1. ed. atual. São Paulo: Caroli, 2018. ISBN 978-85-94377-06-7. E-book.

SCRUM.ORG. What is Scrum?. Disponível em: https://www.scrum.org/resources/what-is-scrum