Adotar uma cultura Agile

Se há uma lição a ser aprendida na última década de "Transformações Agile", é que não há uma solução de tamanho único para adotar ou implementar uma abordagem Agile . Cada organização tem diferentes necessidades, restrições e requisitos. Seguir cegamente uma prescrição não levará ao sucesso.

O movimento Agile trata-se de encontrar continuamente maneiras de melhorar a prática de criação de software. Não se trata de um standup diário perfeito ou retrospectiva. Em vez disso, trata-se de criar uma cultura onde a coisa certa acontece com mais frequência do que não. Atividades como standups e retrospectivas têm seu lugar, mas não mudarão a cultura de uma organização.

Ilustração de pessoas falando.

Este artigo detalha os elementos fundamentais que toda organização precisa para criar uma mentalidade e cultura Agile. As recomendações não devem ser seguidas cegamente. Cada organização deve aplicar o que faz sentido em um determinado ambiente.

Agendamento e ritmo

Não há um comprimento de sprint perfeito. As equipes foram bem sucedidas com comprimentos de sprint que variam de uma a quatro semanas. O que mais importa é a consistência.

Selecione um comprimento de sprint que funcione para a cultura, o produto e o desejo da sua organização de fornecer atualizações. Por exemplo, a divisão ferramentas de desenvolvedor da Microsoft (cerca de 6.000 pessoas) funciona em sprints de três semanas. A equipe de liderança não escolheu esse comprimento de sprint; veio de comentários diretos das equipes de engenharia. Toda a divisão opera nesta agenda de sprint de três semanas. Desde então, os sprints tornaram-se a pulsação da organização. Agora cada equipe marcha para a batida do mesmo tambor.

É importante escolher um comprimento de sprint e ficar com ele. Se houver várias equipes Agile, todas elas deverão usar o mesmo comprimento de sprint. Se os comentários geram uma alteração, então seja receptivo. Ficará claro quando o termo certo estiver em vigor.

Uma cultura de envio

Peter Provost, gerente de programas de grupo principal da Microsoft, disse : "Você não pode trapacear no envio". A simplicidade e a verdade dessa afirmação são uma pedra angular da cultura Agile. O que Peter significa é que enviar seu software lhe ensinará coisas que você não pode e não entenderá a menos que você esteja realmente enviando seu software.

A natureza humana é atrasar ou evitar fazer coisas até que seja absolutamente necessário. Isso não poderia ser mais verdadeiro quando se trata de desenvolvimento de software. As equipes pontuam bugs até o final do ciclo, não pensam em configuração ou atualização até serem forçados a fazer isso e normalmente evitam coisas como localização e acessibilidade sempre que possível. Quando esse padrão surge, as equipes acumulam dívidas técnicas que precisarão ser pagas posteriormente. O envio exige que todas as dívidas sejam pagas. Você não pode enganar o envio. Para estabelecer uma cultura Agile, comece tentando enviar o produto no final de cada sprint. Não será fácil no início, mas quando uma equipe tenta, eles descobrem rapidamente todas as coisas que deveriam estar acontecendo, mas não estão.

Equipes íntegras

Não há receita para a equipe Agile perfeita. No entanto, algumas características importantes tornam o sucesso muito mais fácil de alcançar.

Localizar equipes sempre que possível

Uma equipe pode encontrar sucesso com pessoas espalhadas por diferentes geografias? Sim, mas é mais difícil. Quando as pessoas estão co-localizadas e sentadas na mesma sala, as conversas certas tendem a acontecer. Ainda é possível ter sucesso com equipes localizadas em todo o mundo e diferentes fusos horários. Mas essa mesma equipe não teria uma vantagem sem todos esses obstáculos?

Manter as equipes intactas por um período razoável de tempo

Permitir que as equipes dominem a arte de criar software juntos. Quando as equipes são mexidas, qualquer química que eles desenvolveram é interrompida. Às vezes, é apropriado reorganizar, mas as equipes normalmente são mais produtivas quando recebem tempo para aprender a trabalhar juntas. Como diretriz, tente manter as equipes intactas por pelo menos 12 meses.

Trabalho de balanceamento de carga, não pessoas

Às vezes, as equipes ficam para trás e precisam de ajuda. Uma tática comum para resolver isso é emprestar uma pessoa de uma equipe para outra. No entanto, isso pode ser contraproducente. Uma solução melhor é balancear o trabalho de carga para outra equipe, em vez de balancear carga entre elas. Retirar uma pessoa de uma equipe para ajudar outra interrompe ambas as equipes, e isso pode frustrar a pessoa que está sendo movida, mesmo que temporária. Tudo isso afeta a produtividade da equipe e, mais provável do que não, afeta negativamente a capacidade de voltar ao cronograma.

O trabalho de balanceamento de carga em vez de pessoas permite que uma equipe já estabelecida entre e ajude. Torna-se uma conversa sobre prioridades, não uma conversa sobre pessoas.

Permitir que as equipes possuam áreas de recursos, não camadas de arquitetura

Esforce-se para criar equipes verticais que possuem áreas de recursos. Essas equipes são responsáveis por todo o trabalho necessário para adicionar recursos à área, do banco de dados às alterações de interface do usuário. A equipe tem o poder de entregar e possuir uma experiência de ponta a ponta.

Quando as equipes horizontais possuem camadas de arquitetura, nenhuma equipe é responsável pela experiência de ponta a ponta. A adição de um recurso requer que várias equipes coordenem e requer um nível mais alto de gerenciamento de dependências. Resolver bugs exige que várias equipes investiguem se possuem o código necessário para corrigir o bug. Os bugs são rebatidos enquanto as equipes determinam que não é seu bug e o atribuem a outra equipe.

As equipes de recursos não têm esses problemas. A propriedade e a responsabilidade são claras. Pode haver um lugar para algumas equipes baseadas em arquitetura. No entanto, as equipes focadas verticalmente são mais eficazes.

Próximas etapas

À medida que as equipes embarcam em sua própria transformação Agile, tenha esses princípios fundamentais em mente. Lembre-se de que não há uma única receita que funcione para cada organização. Transformações ágeis são uma jornada. Faça alterações e aprenda com elas. Com o tempo, a organização desenvolverá a cultura Agile de que precisa.

A Microsoft é uma das maiores empresas Agile do mundo. Saiba mais sobre como a Microsoft adotou uma cultura Agile para o planejamento do DevOps.

Saiba mais sobre como o Azure DevOps permite que as equipes adotem e dimensionem uma cultura Agile.