Skip to content

Metodologia do projeto

Histórico de Versão

Data Versão Descrição Autor(es)
29.01.2022 0.1 Criação do documento Davi matheus
03.02.2022 0.2 Revisão do documento e adição de outras ferramentas Nilvan Peres
04.02.2022 0.2.1 Revisão e correção do documento, primeira entrega Natanael Filho

Participantes

Introdução

Este documento possui a finalidade de descrever e explicar quais serão as abordagens, metodologias e processos utilizadas no projeto, no intuito de estruturar um padrão para a melhor produtividade da equipe.Este documento também tem como objetivo apresentar as ferramentas escolhidas pelo grupo para a realização da comunicação. A comunicação é algo essencial para a realização do projeto, assim nosso grupo se certificou que todos possuisem o domínio das ferramentas propostas.

Metodologia

A nossa equipe discutiu em uma reunião diaria utilizar uma metodologia mista, utilizando algumas metodologias em conjunto e de forma customizada a fim de formar uma metodologia híbrida que se adaptasse melhor ao nosso contexto para que assim agregue muito valor e auxilie os integrantes no andamento do projeto. Nesse contexto partir de decisões tomadas em conjunto e com base nestes princípios, foram utilizado partes de várias metodologias já conhecidas que baseada no Scrum, mas também utilizando algumas praticas do XP e do Kanban. A combinação das metodologias aqui presentes, não tem só como objetivo construir um processo de desenvolvimento de software consistente e ágil, mas também um ambiente de trabalho saudável para o time, tendo espaço para o respeito e para a comunicação.

Resultados

SCRUM

A metodologia Scrum é um framework simples para trabalhar com projetos complexos, criada pelos desenvolvedores Ken Schwaber e Jeff Sutherland, ela faz parte das metodologias ágeis e é um framework de gerenciamento de projetos, da organização ao desenvolvimento ágil de produtos complexos e adaptativos comumente utilizada por desenvolvedores de softwares e sistemas sendo utilizado em mais de 60% dos projetos ágeis em todo o mundo.

Em Julho de 2016, a Scrum.org apresentou uma atualização no Scrum Guide ressaltando os 5 valores do Scrum, em que a nossa equipe tenta sempre colocar em pratica:

  • Coragem - Os integrantes de um projeto Scrum precisam ter coragem para trabalharem juntos e buscando soluções .
  • Foco - Os integrantes precisam ter foco durante o Sprint e nas metas desiguinadas pela equipe.
  • Comprometimento - se comprometer com o trabalho que se responsabilizou em fazer. Se comprometer é se envolver e não abandonar o trabalho pela metade ou entregar sem qualidade.
  • Respeito - O respeito é algo obritatorio durante o trabalho e as conversas.
  • Abertura - expor as ideias e propostas mesmo que elas não sejam aproveitadas. Promover momentos de debates, discussões, ouvir opiniões e sugestões para gerar novas práticas.

-- Scrum.org [1]

Dentre as práticas e conceitos dessa metodologia, a equipe optou em fazer a utilização dos seguintes:Product Backlog, Sprints, Sprint Planning, Sprint Review , Daily Meeting e Sprint Retrospective.

Product Backlog

O backlog do produto, é um artefato descrito pela metodologia SCRUM que consiste em uma lista de tarefas que descrevem as funcionalidades e comportamentos que são esperados do produto quando este alcança a conjuntura de conclusão. O backlog do produto se organiza de maneira a separar as atividades por diferentes granularidades,em que, por exemplo, um bom Backlog chega a usar 5 níveis de granularidade, ou seja: Tema, Épico, Feature, História de Usuário e Tarefa.

Ou ainda mais, com especificação de Critérios de Aceitação, chegando a seis níveis de granularidada sendo elas:

  • Theme (Temas);
  • Epics (Épicos);
  • Features (Funcionalidade);
  • User stories (História de usuários);
  • Tasks (Tarefas).

Sprints

Sprints são usados ​​no Scrum para criar regularidade e minimizar a necessidade de reuniões não definidas no Scrum, estes eventos são podem ser curtos ou longos havendo um limite máximo de tempo. As sprints podem durar entre uma semana a um mês, e são um esforço dentro de uma faixa de tempo. Esse faixa de tempo deve ser relativamente curta para possibilitar entregas parciais do sistema. No nosso contexto, foi definido que as sprints irão durar entre 5 a 7 dias.

Os evento Scrum são:

  • Sprint : Planning -> Desenvolvimento -> Review -> Retrospective
  • Planejamento de sprint : Reunião onde é feito o planejamento estrátegico e a definição dos objetivos de uma nova sprint,
  • Daily : Reuniões de curta duração para manter o contato e comunição entre a equipe e atualizar sobre o que foi feito e o que será feito durante o dia.
  • Revisão de Sprint : Ocorre ao final da Sprint. É um momento onde a equipe se atualiza de tudo o que foi produzido na Sprint e de como está o projeto atualmente.
  • Retrospectiva da Sprint : É um momento de discussão para a equipe entender o que aconteceu na Sprint que pode ser melhorado para as próximas, e também reforçar aquilo que está funcionando bem, para manter para as próximas.

Time-Box

"É uma técnica simples usada no desenvolvimento de software para rastrear o progresso e para, simplesmente, ter o trabalho feito. No Scrum o conceito de “Time Box” é aplicado a tudo: Sprints e reuniões. A equipe junto com o PO define qual será o “Time Box” do projeto" blog.myscrumhalf , 2019.

Time box utilizado pela equipe : - Daily - 15 minutos - Sprint - 1 semana. - Inicio: Terça - Fim: Segunda - Sprint Planning - 1hrs, horário reservado depois da aula, deverá gravada e publicada. - Sprint Review e Sprint Retrospective: 30 minutos cada uma.

XP

O XP propõe a ideia de que os elementos de engenharia de software tradicionais sejam levados para níveis “extremos”, atingindo um grau de excelência muito maior na execução. A metodologia garante, simultaneamente, redução do risco do projeto, melhora na resposta às mudanças, melhora na produtividade durante toda a vida do sistema e acrescenta diversão à construção de software em times.
InstitutoInformation Management

Com isto dito a metodologia Extreme Programming (XP) visa sempre uma maior qualidade, um menor tempo e a economia, essa metodologia apresenta um conjunto de valores, principios e práticas muito diferentes das formas tradicionais de se desenvolver software em que serão utilizadas pela equipe:

  • Pair Programing - Programação em pares com rotatividades para gestão do conhecimento
  • Small Realeases - Pequenas entregas para que assim 1 pessoa consiga entregar dentro do time-box do projeto.
  • Baby Steps: nas implementações e tratativas gerais do projeto, serão feitas apenas pequenas mudanças de cada vez com o intuito de se avançar sempre um pouco por vez, porém, com segurança;
  • Refatoring - Todos os entregáveis do projeto são revisados por membros do grupo que não estiveram envolvidos na criação, dessa forma reduzindo o enviesamento e aumentando a qualidade do artefato.

Kanban

Kanban é outra metodologia ágil que nosso grupo irá utilizat , em que o Kanban é um quadro de cartões, criada pela Toyota e até hoje bastante utilizada por diversas empresas e áreas por trazer uma organização visual extrema para dentro dos projetos e por ser extremamente fácil de se aplicar sendo que cada cartão representa uma atividade, onde é controlado os fluxos em que cada cartão se encontra. Esses fluxos podem ser vários, dependendo do processo em questão, mas no geral são 3 fluxos principais: "To Do", "Doing" e "Done".

Para o presente projeto, essa metodologia será aplicada utilizando o ZenHub no GitHub, em que assim, nesse contexto, o kanban foi dividido em 5 fluxos: project backlog, sprint backlog, in progress, review e done. No primeiro processo é onde ficam todas as issues planejadas até o momento. No segundo fluxo ficam as issues que serão realizados na sprint atual, no terceiro fluxo ficam as issues cuja as tarefas já foram iniciadas, no fluxo review ficam as tarefas que já foram concluídas e estão esperando por revisão de terceiros, e no último fluxo, done, ficam as tarefas que já foram revisadas e aprovadas

Ferramentas

WhatsApp

WhatsApp é um aplicativo multiplataforma de mensagens instantâneas e chamadas de voz para smartphones. Além de mensagens de texto, os usuários podem enviar imagens, vídeos e documentos em PDF, além de fazer ligações grátis por meio de uma conexão com a internet.

Utilizaremos esse aplicativo para nos atualizar rapidamente do progresso do projeto.

  

GitHub

GitHub é uma plataforma de hospedagem de código-fonte e arquivos com controle de versão usando o Git. Ele permite que programadores, utilitários ou qualquer usuário cadastrado na plataforma contribuam em projetos privados e/ou Open Source de qualquer lugar do mundo.

GitHub é uma ferramenta importantissima para o progresso do nosso trabalho, servindo como um relatorio da nossa evolução, realizando tanto comunicações internas , onde o grupo poderá comentar e discutir as commit e as issues estabelecidas, como comunicações externas, em que tanto a comunidadae como empresas poderão contribuir para o futuro do projeto.

  

ZenHub

Nesse projeto utilizamos o ZenHub como uma extensão do GitHub, em que o grupo, através de Sprints e issues consegue organizar e dar funções para os membros ao longo da semana. Com a ferramenta também será possível extrair métricas importantes para saber se o desenvolvimento de fato está ágil, como os gráficos de burndown, e velocity.

  

Google Drive

Google Drive é um serviço de armazenamento e sincronização de arquivos, abriga agora o Google Docs, um leque de aplicações de produtividade, que oferece a edição de documentos, folhas de cálculo, apresentações, e muito mais.

Essa aplicação servirá para o nosso grupo armazenar os conteudos e as informações pertinentes ao nosso projeto, facilitando o compartilhamento e a comunicação em si.

  

Whimsical

Whimsical é uma ferramenta de desenvolvimento visual, ideal para desenvolver projetos de forma colaborativas, além da possibilidade de construir fluxos das seguintes formas: mapas mentais, wireframe, flowchart. Por fim, a plataforma ainda permite criar documentos a partir de vários templates bem interessantes, tais como: retrospectiva, matriz de prioridade, análise swot, etre outros.

Essa aplicação será utiliza pela maioria do grupo para construir algum fluxo do projeto, facilitando o entedimento de mais alto nível para o desenvolvimento. Alguns integrantes utilizaram para contruir mapa mental e o rich picture, entretando o uso da plataforma não será limitado apenas a esses dois artefatos.

   7c9d33

Miro

Miro também é uma ferramenta de desenvolvimento visual, e como a ferramenta anterior também auxilia no desenvolvimento de projetos de forma colaborativa, é bastante conhecida por ser possível elaborar jornadas de projeto com ela com seus famosos post-its e comentários, a plataforma também permite referenciar um post-it a outro, ajudando na rastreabilidade do fluxo.

Essa aplicação também nos auxiliará no fluxo do projeto, e possivelmente será a escolhida para o desenvolvimento do brainstorm, e das reuniões de retrospectivas, permitindo um desenvolvimento ágil dessas técnicas.

   7c9d33

Figma

Figma é uma ferramenta de User Intefarce, muito conhecido pela criação de prototipagem, onde todo o fluxo da aplicação pode ser mapeado, criando um mockup totalmente fidedigno a aplicação. Além disso também é possível combinar a aplicação com outras extensções para obter um mapa de calor, em algum teste de validação do protótipo.

Essa aplicação nos ajudará a construir os protótipos relacionados ao projeto, e em possíveis testes de validação.

   7c9d33

Referências

[1] Conheça a importância dos Eventos Scrum na rotina de uma empresa. Disponivel em : https://www.voitto.com.br/blog/artigo/eventos-scrum.

[2] Guia de desenvolvimento agil. Disponivel em : https://www.desenvolvimentoagil.com.br/scrum/

[3] Introdução ao Extreming Programing XP. Disponivel em : https://www.devmedia.com.br/introducao-ao-extreme-programming-xp/29249

[4] What is Scrum's Three Pillars?. Disponivel em : https://www.visual-paradigm.com/scrum/what-are-scrum-three-pillars/

[5] Metodologia Scrum: o que é, métodos ágeis e guia prático. Disponivel em : https://blog.contaazul.com/metodologia-scrum

[6] Cinco valores da metodologia XP. Disponivel em : https://docmanagement.com.br/06/01/2017/cinco-valores-da-metodologia-xp/.

[7] Valores do Scrum… A importância que cada um deles tem no processo!. Disponivel em : https://annelisegripp.com.br/valores-do-scrum-a-importancia-que-cada-um-deles-tem-no-processo/.

[8] Os artefatos do Scrum . Diponivel em : https://escritoriodeprojetos.com.br/artefatos-do-scrum

[9] Time Box no Scrum. Disponivel em : https://blog.myscrumhalf.com/time-box-no-scrum/

[10] Documento de Metodologia Acacia . Disponivel em : https://github.com/fga-eps-mds/2019.2-Acacia/blob/develop/docs/project_methodology.md

[11] Documento de Metodologia Ziguen . Disponivel em : https://github.com/fga-eps-mds/2020.1-Ziguen/blob/master/docs/wiki/Metodologia.md