Kanban - Gerenciamento de Projetos

Kanban é adaptado ao desenvolvimento de software como uma abordagem de gerenciamento de projeto. Kanban no desenvolvimento de software suporta um fluxo de trabalho contínuo, denominado como Fluxo de Valor.

Fluxo de Valor

O Fluxo de Valor consiste em todas as ações necessárias para levar um projeto da criação à conclusão.

As ações podem -

  • Adicione valor ao projeto
  • Não adicione valor, mas inevitável
  • Não agregue valor, evitável (denominado como desperdício)

Eliminação de Resíduos

Tudo o que não agrega valor ao projeto é conhecido como Resíduos. Kanban facilita a eliminação de desperdício.

No desenvolvimento de software, existem três tipos de resíduos -

  • Resíduos no desenvolvimento de código
  • Resíduos na gestão de projetos
  • Desperdício no potencial da equipe

Resíduos no desenvolvimento de código

O desperdício no desenvolvimento de código é devido aos seguintes motivos -

  • Partially completed work- O trabalho parcialmente concluído pode ficar desatualizado e inutilizável. Ele pode ser eliminado com ciclos iterativos e com código modular que é concluído dentro da iteração.

  • Defects- No desenvolvimento de um código, a correção e o novo teste requerem tempo e recursos. Ele pode ser eliminado com um conjunto de testes atualizado, concluindo o teste na iteração e comentários contínuos do cliente.

Resíduos na gestão de projetos

O desperdício na gestão do projeto é devido aos seguintes motivos -

  • Extra Processes- Documentação desnecessária que requer tempo e recursos. Pode ser eliminado com -

    • Pré-planejamento de quais processos são relevantes e necessários.

    • Revisão da documentação, que garanta que os processos relevantes e necessários sejam seguidos.

  • Code Handoffs- significa passar o trabalho de uma pessoa ou equipe para outra, após a conclusão do trabalho da primeira pessoa. Isso pode causar falta de conhecimento. Ele pode ser eliminado mantendo os fluxogramas e wireframes visíveis e claros.

  • Extra Functions- São recursos que não são exigidos pelo cliente. Esforço e tempo são perdidos no desenvolvimento das funções necessárias para implementar os recursos que o cliente não deseja. Pode ser eliminado com interação contínua com o cliente e testadores envolvendo na coleta de requisitos, pois eles podem visualizar melhor os cenários e o comportamento esperado do sistema.

Resíduos no potencial da equipe

O desperdício no potencial da equipe é devido aos seguintes motivos -

  • Task Switching- Isso leva ao perigo de multitarefa, o que é um desperdício. Ele pode ser eliminado com foco em uma tarefa a cada versão. Grandes etapas do processo são segmentadas em tarefas para -

    • Melhore a visibilidade

    • Reduza as dependências

    • Facilite o fluxo de trabalho

    • Foco no tempo de ciclo do trabalho entregue

    • Ofereça uma maneira de detectar e resolver gargalos

  • Waiting- Tempo para obter instruções ou informações - A equipe está sujeita a ficar ociosa se as decisões não forem tomadas pela equipe, ou se as informações fornecidas à equipe (desenvolvedores, testadores, etc.) forem recursos caros. Ele pode ser eliminado permitindo que os membros da equipe (desenvolvedores, testadores, etc.) -

    • Tome decisões para que eles não tenham que esperar por instruções

    • Ter acesso às informações para que possam ser utilizadas como e quando necessário