Uso de fluxos de trabalho para diversão e lucro

Todos odeiam processos, mas, sem um fluxo de trabalho estabelecido, você vai rapidamente para lugar nenhum.

Dan Radigan Dan Radigan

Toda equipe de software tem um processo que é usado para concluir o trabalho. Normalizar esse processo–por exemplo, estabelecê-lo como um fluxo de trabalho–torna-o mais claramente estruturado e repetível, o que, em troca, faz dele escalável. Na Atlassian, usamos uma abordagem iterativa com o gerenciamento de fluxo de trabalho, pois isso nos ajuda a atender nossas metas mais rapidamente e exemplifica a cultura da nossa equipe. Somos especialistas no gerenciamento de fluxo de trabalho ágil (se podemos dizer isso de nós mesmos) e queremos ajudar você a se tornar especialista também.

Comece simples, comece agora

Ao implementar um fluxo de trabalho para a equipe, sempre comece simples. Lute contra a tentação de passar semanas pensando demais na engenharia. Fluxos de trabalho excessivamente complexos são difíceis de entender e adotar – sem mencionar a adaptação. Para equipes de software, recomendamos esses estados básicos do fluxo de trabalho:

Para fazer

Work that has not been started

Em andamento

Trabalho que está sendo ativamente feito pela equipe.

Revisão de código

Trabalho que está concluído, mas está esperando revisão.

Done

Trabalho que está completamente concluído e atende a definição de pronto de equipe.

Em um rastreador de problemas, esses status passam de um para o outro usando transições que estruturam o fluxo de trabalho. 

Agile workflow | Atlassian agile coach

Algumas equipes de software incluem estados adicionais no fluxo de trabalho que ajudam a monitorar o status do trabalho de modo mais preciso.

Aguardando GQ

Work that has been implemented, but is still waiting for a tester review (see our article on agile testing for more details).

Pronto para mesclar

O código que foi revisado e está pronto para ser mesclado no código principal ou na ramificação de liberação.

Os diversos estados do fluxo de trabalho não precisam ser tratados cada um por uma pessoa diferente. À medida que uma equipe ágil amadurece, os desenvolvedores lidam com mais e mais trabalho – desde o design até a entrega. Afinal, uma equipe autônoma que pode lidar com trabalhos heterogêneos é uma das características da agilidade.

Fale sobre cada dificuldade durante a retrospectiva da equipe. Lembre-se que cada equipe terá valores um pouco diferentes com base no projeto, pilha de tecnologia e método de trabalho. É por isso que é importante escolher um rastreador de problema que tenha uma configuração flexível de fluxo de trabalho. Equipes em excesso comprometem o estilo de trabalho para adequação a um determinado conjunto de ferramentas, o que é frustrante para todos. Então, os membros da equipe começam a evitar o uso da ferramenta, ocasionando frustração na equipe e, geralmente, causando problemas. E, se a motivação diminui, a produtividade reduz. É um golpe duplo que queremos evitar!  

As equipes novas no método ágil ou que não têm habilidades multifuncionais normalmente acabam com "pequenas cascatas" em seu fluxo de trabalho. Por exemplo, o departamento de design começa um item de trabalho com um modelo. A equipe de desenvolvimento faz a implementação. O teste confirma a qualidade. Cada estado fica bloqueado até o estado anterior ser concluído. Soa familiar? Isso é cascata. Mas podemos fazer melhor com fluxos de trabalho ágeis para liberar a equipe e facilitar o desenvolvimento. 

Otimizar o fluxo de trabalho

Quando estiver confortável com o fluxo de trabalho básico e estiver pronto para personalizá-lo, crie status para cada tipo de trabalho em um processo da equipe. Criação de ideias, design, desenvolvimento, revisão de código e teste são funcionalmente diferentes e podem ter status individuais. Use um conjunto enxuto de status que comunique claramente em qual fase uma parte do trabalho está.

Os status do projeto também podem ser compartilhados com o restante da organização. Ao criar um fluxo de trabalho, pense sobre quais métricas são importantes para relatórios e o que os membros fora da equipe podem estar interessados em aprender. Por exemplo, um fluxo de trabalho bem projetado responde as seguintes perguntas:

  • Que tipo de trabalho a equipe concluiu?
  • A lista de pendências de trabalho está aumentando ou está no mesmo ritmo que a equipe?
  • Quantos itens estão em cada status?
  • Há obstáculos que estão diminuindo a velocidade da equipe?
  • Quanto tempo leva para conclusão de uma tarefa média?
  • Quantos itens de trabalho não foram aprovados em nossos padrões de qualidade na primeira vez?

A próxima etapa na otimização do fluxo de trabalho é garantir um fluxo de trabalho constante em todo o fluxo de trabalho. Os limites de trabalho em andamento (WIP) estabelecem os números mínimo e máximo de problemas em um estado específico do fluxo de trabalho, garantindo que cada estado no fluxo de trabalho tenha trabalho suficiente para manter a equipe totalmente utilizada, mas não tanto que possa fazer com que todos percam o foco ao fazer malabarismos com as prioridades. Impor limites em andamento mostrará rapidamente quais processos na equipe estão diminuindo o trabalho geral pelo pipeline. À medida que a equipe aprende a otimizar os limites do trabalho em andamento, o rendimento aumenta. (Consulte o artigo em Limites de WIP para mais detalhes.) 

Os desafios do dimensionamento de um fluxo de trabalho

As organizações com várias equipes ágeis enfrentam desafios especiais com os fluxos de trabalho. Normalmente, as equipes querem otimizar o fluxo de trabalho para refletir sua cultura ou processo exclusivo. Perfeitamente compreensível. Mas podem surgir problemas quando várias equipes, que trabalham no mesmo projeto, usam processos diferentes.

Agile teams that work together can benefit from sharing the same workflow. Using the same workflow can make transitioning work between agile teams easier, because they use the same conventions for defining and delivering work. Creating a common process usually involves some give and take from both teams. That's good! They'll learn from one another and come out with a better workflow in the end. 

Dica profissional

Com o Jira Software, o rastreador de problemas da Atlassian, as equipes podem compartilhar fluxos de trabalho, mas têm diferentes representações do processo no quadro ágil. Essa capacidade proporciona opções de visualização flexíveis sem sacrificar o ativo compartilhado do fluxo de trabalho. 

Não importa como o seu fluxo de trabalho é, o processo de desenvolvimento dele também deve ser ágil. Converse sobre isso durante as retrospectivas e faça uma adaptação de acordo com a cultura da equipe e as alterações na composição.