Metodologia

Versionamento

Data Versão Descrição Autores
09/09/2020 0.1 Criação do documento Gustavo Carvalho, Murilo Loiola, Rodrigo Dadamos
11/09/2020 1.0 Adicionando tópico Lean no projeto e revisando documento Murilo Loiola
28/09/2020 1.1 Adicionando referência Gabriel Tiveron

Introdução

  O objetivo deste documento é detalhar e formalizar as metodologias que serão utilizadas no desenvolvimento do Diário da Saúde. As metodologias aplicadas no escopo da elaboração do projeto incluem:

Metodologias de desenvolvimento

Scrum

  A metodologia Scrum é uma metodologia ágil utilizada no planejamento e gerenciamento. O Scrum faz uso de um artefato chamado Product Backlog que lista as funcionalidades ou tarefas que serão implementadas. O projeto é dividido em ciclos chamados de Sprint. No começo de cada sprint é realizado o Sprint Planning Meeting onde são definidas as funcionalidades que devem ser desenvolvidas nessa sprint. As tarefas alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog.

  No término de uma sprint é realizado uma Sprint Review Meeting onde são apresentadas as funcionalidades implementadas nessa sprint. Então é feito o planejamento da próxima Sprint e o ciclo recomeça.

Kanban

  Um quadro kanban é uma ferramenta ágil de gerenciamento de projeto pensada para ajudar a visualizar o trabalho, limitar o trabalho em andamento e maximizar a eficiência. Os quadros Kanban usam cartões e colunas para ajudar as equipes de tecnologia e serviço a se comprometerem com a quantidade certa de trabalho e realizá-la.

Extreme Programming (XP)

  Extreme Programming (XP) é uma estrutura ágil de desenvolvimento de software que visa produzir software de alta qualidade e maior qualidade de vida para a equipe de desenvolvimento. XP é a mais específica das estruturas ágeis em relação às práticas de engenharia apropriadas para o desenvolvimento de software.

Algumas das práticas:

Lean

  A metodologia Lean foca na agregação de valor e, portanto, busca reduzir os custos ao cortar atividades desnecessárias. Assim sendo, os princípios do Lean tendem a buscar otimização do processo de desenvolvimento. Alguns princípios do Lean são:

Ver o todo:

  Determinar o valor do produto a partir do ponto de vista do cliente, isto é, observar o produto como unidade final e não apenas como módulos, ajuda o grupo de desenvolvimento a verificar se o que foi produzido até o momento atende às necessidades do usuário. Utilizar esse princípio ao longo do desenvolvimento permite observar de que forma as funcionalidades implementadas impactam no produto final. Dessa forma, esse princípio ajuda na otimização do desenvolvimento ao destacar aquilo que realmente adiciona valor ao produto.

Eliminar desperdício:

  Ao analisar o processo produtivo continuamente, é possível identificar quais etapas consomem mais recursos/tempo e que não oferecem retorno adequado. Ao identificar e eliminar essas etapas, sobra mais tempo para focar nas partes que realmente adicionam valor ao produto, melhorando o resultado final. Esse princípio é especialmente importante pelo fato de que as otimizações realizadas são mantidas ao longo do projeto, intensificando a produção.

Fortalecer o time:

  Esse princípio ajuda a manter o projeto em um processo de melhoria contínua. Para uma boa aplicação desse princípio é importante que o grupo mantenha uma comunicação fluída, para que todos saibam como está o progresso do projeto a todo momento.

Metodologias de gerência

Burndown

  Burndown é uma ferramenta para coletar os dados do projeto, levando em consideração o trabalho que deve ser feito relativo ao tempo do projeto. Usar um gráfico burndown é um meio de ver quanto trabalho resta e quanto tempo há para fazê-lo. É uma representação gráfica, oferecendo clareza de interpretação e entendimento.

Velocity

  Velocity é uma medida da quantidade de trabalho que um time pode realizar durante uma única Sprint e é a métrica chave no Scrum. O velocity é calculado no final da Sprint somando os pontos de todas as histórias de usuário totalmente concluídas.

Quadro de Conhecimento

  Quadro de conhecimento é uma ferramenta utilizada para reunir em um só lugar informações sobre as habilidades e conhecimentos dos membros envolvidos no projeto. Este artefato visual lista as tecnologias utilizadas em formato de colunas, o nome dos membros e a pontuação de cada um referente a tópico. O quadro de conhecimento é um ótimo indicador para definir treinamentos e até mesmo alocação dos indíviduos dentro do projeto com base em suas habilidades.

Aplicação de metodologias dentro do projeto

  Buscando maior flexibilidade, desempenho e adaptação, foi discutido e decidido pelo grupo durante uma reunião uma utilização híbrida de metodologias, sendo escolhidas as seguintes:

Scrum no Projeto

Foram adotados os seguintes aspectos do scrum:

Kanban no projeto

O quadro kanban será constituido pelas seguintes colunas:

XP no projeto

Lean no projeto

  Uma vez que o Lean não se trata exatamente de uma metodologia, mas sim de uma base que pode ser aplicada a diferentes metodologias (como o Scrum, por exemplo), a utilização do Lean se dará de forma mais implícita durante o desenvolvimento.
  Durante as etapas de Sprint Review e Sprint Planning, por exemplo, o grupo dará atenção especial na análise da produção de cada dupla de programação (XP), observando se é possível fortalecer o time ou eliminar desperdício através do gerenciamento adequado dos membros.
  Dessa forma, o Lean será utilizado no projeto como uma guia geral, ajudando na tomada de decisões que beneficiarão o desenvolvimento.

Ferramentas utilizadas

Referências