#
Metodologias Ágeis
O objetivo desta etapa é apresentar as metodologias que a empresa utiliza para otimizar o processo de desenvolvimento.
#
Scrum
O Scrum é uma metodologia ágil focada em entregar resultados de forma rápida e eficiente. A metodologia foi criada para promover a colaboração entre equipes, tornando o processo mais flexível e adaptável a mudanças.
#
Principais Componentes do Scrum:
#
Palavras populares no Scrum:
- Sprint: ciclo de desenvolvimento, onde geralmente e divido em 1 ou 2 semanas, no qual a equipe se compromete a entregar um incremento do produto. Durante esse período, o escopo não deve mudar.
- Product Backlog: Lista das tarefas necessárias para o desenvolvimento total do projeto, é feita inicialmente pela equipe de comercial e de projetos na fase de diagnóstico do projeto e posteriormente mantida pelo Product Owner do projeto.
- Sprint Backlog: Lista de entregas que a equipe deve realizar durante uma Sprint (ciclo de trabalho). Elas são selecionadas do Product Backlog.
- Versões: É o produto final, ou uma parte funcional dele, entregue em cada Sprint. Essas versões devem estar em um estado utilizável (Ex: prototipação/figma, banco de dados, front-end).
#
Weekly Scrum:
O Weekly Scrum é uma reunião semanal de média duração (30 minutos) onde a equipe discute o que foi feito no decorrer da semana, o que será feito em seguida e se há impedimentos (Tradicionalmente, essa reunião é feita todos os dias, mas dentro da empresa nós fazemos semanalmente).
- Sprint Planning: Etapa no início de cada Sprint, onde a equipe, liderada pelo gerente, planeja quais itens do Product Backlog serão trabalhados.
- Sprint Review: Etapa no final da Sprint, onde a equipe apresenta o que foi desenvolvido.
- Sprint Retrospective: Reunião para a equipe refletir sobre o processo da Sprint, identificando pontos de melhoria (essa reunião pode ser também um tópico feito no final da reunião semanal).
#
Vantagens do Scrum:
- Flexibilidade: o Scrum permite mudanças de direção conforme novas informações ou requisitos surgem.
- Transparência: todos os envolvidos no projeto têm visibilidade sobre o progresso e as dificuldades.
- Entrega Rápida: como o trabalho é dividido em sprints, há entregas frequentes e incrementais, gerando valor mais rapidamente.
- Colaboração: promove a comunicação constante entre todos os membros da equipe.
#
Ciclo de Trabalho no Scrum:
O gerente faz o Backlog e a Sprint Planning, decidindo quais tarefas serão realizadas. Durante a Sprint, a equipe faz reuniões para ajustar o trabalho. No final da Sprint, ocorre uma revisão e o incremento é entregue. A equipe faz a Sprint Retrospective para melhorar o processo na próxima Sprint.
#
Kanban
A metodologia Kanban é uma abordagem ágil usada para gerenciar e otimizar o fluxo de trabalho de maneira visual, permitindo que as equipes acompanhem e melhorem seus processos continuamente. Originária do Japão e popularizada pela Toyota na produção industrial, a metodologia Kanban foi adaptada para gerenciamento de projetos.
#
Princípios Fundamentais do Kanban:
#
Visualizar o Trabalho:
O princípio mais conhecido do Kanban é a visualização das tarefas em um quadro, geralmente chamado de "Kanban Board". Cada tarefa ou trabalho é representado por um cartão que é movido através de colunas que representam diferentes fases do processo (por exemplo: "A Fazer", "Em Progresso", "Concluído"). Isso permite que todos na equipe vejam claramente o status de cada tarefa e o progresso geral do projeto.
#
Limitar o Trabalho em Progresso (WIP - Work in Progress):
Um dos pilares do Kanban é limitar a quantidade de trabalho em andamento em cada fase. Isso ajuda a equipe a se concentrar em concluir as tarefas antes de começar novas, evitando que se dispersem em muitas atividades ao mesmo tempo. Limitar o WIP também reduz o risco de sobrecarga e promove uma entrega mais eficiente.
#
Gerenciar o Fluxo de Trabalho:
O objetivo do Kanban é melhorar continuamente o fluxo de trabalho. Isso significa garantir que as tarefas passem por cada etapa do processo de maneira constante e sem gargalos. Equipes podem medir o tempo que uma tarefa leva para ser concluída (Lead Time) e trabalhar para reduzir atrasos.
#
Estrutura de um Quadro Kanban:
Um quadro Kanban típico tem colunas que representam o estado do trabalho. As colunas mais comuns incluem:
- Backlog: onde as tarefas a serem feitas são listadas.
- A Fazer: as tarefas que estão prontas para começar.
- Em Progresso: tarefas em andamento.
- Concluído: tarefas que foram finalizadas.
As equipes podem adicionar colunas intermediárias ou especializadas, como Revisão ou Teste, dependendo da natureza do trabalho.
O Kanban é ideal para equipes que precisam de flexibilidade, visibilidade e querem melhorar continuamente a maneira como trabalham.
#
Ferramentas
Durante o desenvolvimento do projeto, o gerente pode utilizar algumas ferramentas que facilite a gestão da equipe e para aplicar a metodologia ágil (nesse ponto não existe limitações, qualquer ferramenta que auxilie no processo é bem vinda). Existem algumas ferramentas conhecidas que podem contribuir no projeto como: Google Tasks; Trello; Github; etc.
#
Como utilizar o Kanban do Github
No GitHub, a funcionalidade de Kanban está integrada dentro da ferramenta de "Projects". Para configurar a ferramenta e usar um quadro Kanban em um repositório no GitHub, siga os seguintes passos:
#
Passos para usar o Kanban no GitHub:
Acesse seu repositório no GitHub:
- Entre no repositório onde deseja usar o Kanban.
- Certifique-se de estar logado com permissões de escrita no repositório.
Vá para a aba de "Projects":
- Dentro do repositório, clique na aba "Projects". Essa aba está na parte superior, junto com "Code", "Issues", "Pull Requests" etc.
- Se ainda não houver nenhum projeto, será exibida uma opção para criar um novo.
Crie um novo Projeto (Project):
- Clique no botão "New Project".
- Escolha o tipo de projeto Kanban (Board). O GitHub oferece diferentes formas de visualizar projetos, mas para o Kanban, você deve selecionar "Board".
- Dê um nome para o seu projeto e adicione uma breve descrição (opcional).
- Clique em "Create project" para criar seu novo quadro Kanban.
Configuração inicial do Kanban: O GitHub fornece algumas colunas padrão, que são:
- To do: Tarefas que ainda não foram iniciadas.
- In progress: Tarefas que estão em andamento.
- Done: Tarefas que já foram concluídas.
Você pode editar, adicionar ou remover colunas de acordo com a necessidade do seu projeto. Para editar uma coluna, clique nos três pontos no topo da coluna e selecione as opções disponíveis.
Adicionando cartões (cards):
- Dentro de cada coluna, você pode adicionar "cards" para representar as tarefas ou funcionalidades a serem desenvolvidas.
- Clique em "Add a card" dentro de uma coluna e selecione uma Issue existente do seu repositório, ou crie uma nova.
- Se você quiser criar uma nova issue diretamente do quadro Kanban, clique em "Create new issue", escreva o título e, opcionalmente, adicione uma descrição.
Movendo tarefas entre colunas:
- À medida que o trabalho avança, você pode arrastar e soltar os cartões de uma coluna para outra, por exemplo, de To do para In progress e depois para Done.
Isso ajuda a visualizar o progresso de cada tarefa de maneira fácil e organizada.
Automatizando o fluxo de trabalho (opcional): O GitHub Projects permite automatizar certas ações, como mover cartões automaticamente para a coluna Done quando uma Pull Request é fechada. Para configurar isso:
- Clique nos três pontos na parte superior da coluna desejada e selecione Manage automation.
- Você pode definir gatilhos, como quando uma Issue for fechada ou quando um Pull Request for mergeado.
Visualizando e filtrando tarefas:
- Na parte superior do projeto Kanban, há um botão de Filters onde você pode filtrar os cartões por assignee (responsável), label (etiquetas), milestones ou outras condições.
- Isso ajuda a focar nas tarefas relevantes para um colaborador específico ou uma sprint.
Usando o quadro Kanban em equipe:
- Você pode colaborar com sua equipe no quadro, atribuindo responsáveis para os cartões (issues) e adicionando labels para categorizar melhor as tarefas.
- Também é possível comentar nas issues diretamente do quadro para facilitar a comunicação entre os membros do projeto.
#
Exemplos de uso:
- Projetos Ágeis: Configure colunas que representam fases do ciclo de desenvolvimento, como Backlog, Sprint, Em desenvolvimento, Revisão de código e Concluído.
- Gestão de bugs: Crie um quadro para priorizar e gerenciar correções de bugs com colunas como Aguardando correção, Em correção e Corrigido.
Dicas
- Use Labels e Milestones para organizar melhor o seu trabalho. As Labels podem categorizar as issues (ex: "Bug", "Feature", "Enhancement"), enquanto os Milestones ajudam a agrupar issues para uma entrega específica.
- Revise periodicamente o quadro para garantir que as tarefas estejam sendo movidas corretamente e que o progresso do projeto seja transparente para todos os membros.