Skip to content

Metodologia de Trabalho da Equipe

Introdução

Para as fases inicias do projeto, foi adotada a metodologia de Lean Inception, que foi abordada em mais detalhes na aba homônima, iniciada no Dia 1.

Nossa equipe adotou uma metodologia de desevolvimento híbrida baseada em Scrum e práticas do Extreme Programming (XP), Kanban e PMBOK para garantir um desenvolvimento ágil e eficiente. Este documento detalha os processos e ferramentas que utilizamos para organizar e comunicar nosso trabalho.

Framework Scrum

1. Sprints

  • O Scrum traz uma abordagem que ocorre ao longo sprints, que são esses períodos de tempo (geralmente uma semana), dentro dos quais são planejadas metas de trabalho a serem realizados.

2. Planning

  • Objetivo: Definir as metas e tarefas para o próximo ciclo de desenvolvimento.
  • Frequência: Toda segunda 21h após reunião com cliente
  • Participantes: Toda a equipe
  • Atividades:
  • Revisar o backlog de produto
  • Estimar as tarefas utilizando métodos como Planning Poker
  • Definir as prioridades e selecionar as tarefas para o sprint

3. Standup meeting

  • Objetivo: Alinhar o progresso e identificar impedimentos.
  • Frequência: Terças e quintas entre aulas
  • Participantes: Toda a equipe
  • Atividades:
  • Novas atividades podem ser repassadas
  • Cada membro responde às perguntas:
    • O que estou fazendo?
    • Há algum impedimento no meu caminho?

4. Review

  • Objetivo: Apresentar o trabalho realizado durante a sprint e validar com o PO.
  • Frequência: Toda segunda 20h em reunião com cliente
  • Participantes: Toda a equipe, incluindo stakeholders
  • Atividades:
  • Demonstração das funcionalidades desenvolvidas
  • Feedback dos stakeholders
  • Atualização do backlog com base no feedback recebido

5. Retrospectiva

  • Objetivo: Refletir sobre o sprint passado e identificar melhorias para os próximos sprints.
  • Frequência: Toda sexta-feira às 16h
  • Participantes: Toda a equipe
  • Atividades:
  • Discussão sobre o que funcionou bem e o que pode ser melhorado
  • Definição de ações para melhorias contínuas

6. Papéis

  • O Scrum sugere os papéis de Product Owner e Scrum Master. Neste trabalho, os representantes do SINDPOL-DF (Matheus Amaral e Davi Mendonça) tiveram uma atuação semelhante a proposta de um Product Owner, representando as necessidades do cliente. Enquanto isso, os estudantes de EPS puderam assumir o papel de Scrum Master, gerenciando, treinando e orientando a Equipe de Desenvolvimento (estudantes de MDS e, em dados momentos, EPS) para cumprir as regras de Scrum e entregar os resultados.

Práticas do Extreme Programming (XP)

1. Programação em Pares

  • Objetivo: Melhorar a qualidade do código e promover o compartilhamento de conhecimento.
  • Como funciona: Dois desenvolvedores trabalham juntos no mesmo código, alternando entre os papéis de “Driver” e “Observer”. Neste trabalho, houveram momentos em que a programação envolvia inclusive mais de duas pessoas, em momentos críticos e quando códigos eram debugados. Além disso, o time realizou duas reuniões extraordinárias com a presença de todos integrantes para codar num ambiente em que o grupo como um todo poderia se apoiar e parear conforme necessidade.

2. Integração Contínua (CI/CD)

  • Objetivo: Assegurar que o código está sempre em um estado funcional.
  • Como funciona: O código é integrado e testado automaticamente no SonarQube, permitindo coletar métricas do código rapidamente.

3. Proximidade com o Usuário

  • Objetivo: Garantir que o desenvolvimento está alinhado com as necessidades e expectativas do usuário.
  • Como funciona: Envolvimento constante do usuário final durante o processo de desenvolvimento, com feedback frequente e ajustes conforme necessário.

4. Cadência Rápida de Entregas

  • Objetivo: Entregar incrementos de valor ao cliente de forma contínua e rápida.
  • Como funciona: Entregas frequentes e menores, focando na entrega contínua de valor ao cliente por meio de releases (versões do produto). Com a definição de três releases major no período da disciplina, foram planejadas as entregas de cada uma, de forma que, o trabalho dentro das sprints do Scrum era executado a fim de atingir essas metas.

5. Testes

  • Objetivo: Essa prática viabiliza a integração contínua e busca monitorar a qualidade do produto, garantindo que seu comportamento seja condizente com o esperado.
  • Como funciona: No código fonte são realizados testes unitáios desenvolvidos pela Equipe de Desenvolvimento, enquanto no ambiente de produção são feitos testes de aceitação/testes manuais realizados pelos P.Os e pela Equipe de Desenvolvimento.

Kanban

Uso do Quadro Kanban

  • Objetivo: Visualizar o fluxo de trabalho e limitar o trabalho em progresso.
  • Como funciona: As tarefas são movidas através de colunas no quadro, representando diferentes estágios do fluxo de trabalho (Ex.: Backlog, Em Progresso, Em Revisão, Concluído). Foi usado o Zenhub criar essa visualização de progresso das atividades e, ao passo que foi notado gargalo de trabalho em andamento, os Scrum Masters tomaram decisão de não iniciar novas histórias e focar em finalizar entregas de qualidade do que estava In Progress.

PMBOK

Gestão de Projetos

  • Objetivo: Integrar práticas de gerenciamento de projetos para melhor organização e controle.
  • Como funciona: Utiliza-se as áreas de conhecimento do PMBOK, como gerenciamento de escopo, tempo, custo e qualidade, adaptando-as ao contexto ágil da equipe. O escopo foi gerenciado pelos Srum Masters com acompanhamento dos P.Os ao longo do semestre, considerando o que havia sido planejado inicialmente e a viabilidade conforme o andamento do trabalho. O custo também foi monitorado por meio de documentos como Custo, com acompanhamento semanal/total do custo, e EVM, com os resultados de Valor Agregado e Valor Planejado. O documento de Riscos demonstra o relato semanal/por sprint dos riscos identificados e seus respectivos graus de probabilidade e impacto, bem como os planejamentos de respostas a cada um deles.

Grupos de processos

  • Objetivo: Definir o ciclo de vida do projeto.
  • Como funciona: Apesar de discordar um pouco da visão ágil nesse sentido, o PMBOK traz um conjunto de fases pelas quais o projeto passa dentro do seu cronograma de execução. Essa visão foi trazida na EAP, onde tem-se os grupos de processos Iniciação, Planejamento, Execução e Encerramento. Essa visão é uma abstração do método, visto que, as atividades nem sempre são resumidas apenas a um grupo de processos, como é a proposta do ágil.

Conclusão

Adotando essa combinação de Scrum, XP, Kanban e PMBOK, visamos a maximização da produtividade e a qualidade do nosso produto final. As ferramentas escolhidas suportam nossas necessidades de comunicação e organização, facilitando a colaboração e a transparência em todas as fases do desenvolvimento.

Histórico de versão

Alteração Data Autor
Criação do documento Victor Yukio
Revisão 18/07/24 Sara Campos
Revisão 03/08/24 Sara Campos
Revisão conforme apontamentos da Release Final 14/09/24 Sara Campos

Referências

Scrum: Como fazer mais em menos tempo. Acessado em 14/09/2024. Práticas em XP: Extreme Programming. Acessado em 14/09/2024.