Pontos Principais
- Os antipadrões não são puramente baseados em frameworks prontos e são perniciosos e às vezes difíceis de identificar;
- Muitos antipadrões são o resultado de interações de baixa qualidade entre a equipe ágil e um sistema mais amplo;
- Abordagens de pensamento sistêmico podem auxiliar no mapeamento e na classificação das interações entre as equipes Agile e a organização como um todo;
- Certificações ágeis são úteis em termos de representação de regras iniciais e dos limites a serem respeitados;
- Usando fluxos de valor, uma linguagem comum estabelece pontos fundamentais na interação dentro do sistema, o que torna essas interações mais significativas e eficazes.
À medida que práticas ágeis são adotadas mais amplamente, em diversas empresas e projetos, os antipadrões Agile se escondem de forma sutil, assumindo aparência de "soluções" ou de "soluções alternativas" que não são mais baseadas baseadas em frameworks ágeis e parecem contribuições válidas para o ecossistema das organizações.
Neste artigo, discutimos a importância de reconhecer e classificar essa nova geração de antipadrões, adotando uma abordagem de pensamento sistêmico. Também veremos como criar e promover a ideia de que uma linguagem compartilhada, usando fluxos de valor, é um meio eficaz de se criar uma cultura desse tipo de pensamento nas equipes ágeis e nas empresas.
O que são antipadrões ágeis?
Os antipadrões ágeis geralmente se manifestam como soluções que podem ser aplicadas a problemas identificáveis e reconhecidos. Uma solução se torna um antipadrão quando deixa de fornecer uma correção verdadeira, ou quando o efeito cumulativo de sua aplicação tem impacto negativo.
A natureza perniciosa dos antipadrões está ligada ao fato que seus impactos negativos demoram a ser percebidos. Os problemas resultantes aparecerem em lugares inesperados: o problema parece ter sido parcialmente resolvido, mas há efeitos colaterais graves em outros pontos.
A adoção de antipadrões é baseada em consenso, o que reforça o seu uso. Afinal, é fácil convencer uma equipe com cronograma apertado que reuniões diárias produzem muito menos benefícios que horas adicionais de desenvolvimento.
Antipadrões ágeis comuns
Os antipadrões Agile envolvem a remoção das principais técnicas ágeis (stand-ups, retrospectivas, revisões) ou a inclusão de etapas que normalmente satisfazem algum requisito de governança. São fáceis de adotar e incorporar, e felizmente são também fáceis de corrigir. Por exemplo, o aumento no tempo de desenvolvimento antes gasto em reuniões diárias, resulta muitas vezes em mais linhas de código. Assim, serão gerados mais bugs e correções, e mais esforço na identificação de falhas (tudo com menos coesão e cooperação, e menos comunicação eficaz dentro da equipe).
O tempo, a inspeção, a adaptação e a experiência mostram às equipes que o impacto dessas mudanças pode ser prejudicial e que muitas vezes essa experiência, conquistada com muito sacrifício, pode contribuir para a evolução de uma equipe auto-organizada com bom desempenho, à medida que aprendem a identificar e erradicar esses antipadrões. Por outro lado, os antipadrões não tão óbvios (e portanto mais críticos) não são fáceis de remover, sendo quase impossível identificá-los, pois muitas vezes surgem de fora da equipe ágil, para atender a requisitos mais gerais.
Ironicamente, os frameworks ágeis podem servir como catalisadores para os antipadrões, pois o empirismo desses frameworks nos obriga a lidar com os problemas continuamente, e isso pode criar uma cultura concentrada na resolução de problemas, mesmo os mais periféricos. Será de grande ajuda reconhecer a origem central dessas questões, além de se ter uma visão mais abrangente do impacto das reações aos problemas.
Talvez o antipadrão organizacional/gerencial mais comum seja o definido na "lei" de Brook: "adicionar pessoas a um projeto atrasado gera mais atrasos". As equipes de desenvolvimento costumam reclamar que não têm recursos suficientes e que precisam mais mão-de-obra para entregar o projeto no prazo. Porém, não percebem que quantidade não é o mesmo que qualidade e que o crescimento da equipe faz com que todos precisem aceitar os benefícios e malefícios desse aumento. O fato é que as soluções oferecidas por antipadrões podem ser muito sedutoras; afinal, é preciso uma equipe de alto desempenho e muito evoluída para recusar a ajuda de novos membros.
Do ponto de vista da equipe, alguns antipadrões podem não ser tão sedutores. Ainda assim são poderosos, talvez sendo determinados pela empresa e de uso obrigatório; ou podem vir de objetivos comerciais mais amplos que a equipe reconhece como corretos ou sensatos. Infelizmente, muitos desses antipadrões são baseados em conceitos de custo, escopo e tempo fixos. No nível de equipe, as soluções são implementadas para acomodar tais demandas externas, fazendo com que o fluxo de valor seja diluído. Mesmo o mais detalhado mapa de fluxo de valor não consegue descrever os pontos de interação entre as partes do sistema, nem o vocabulário usado para orientar essas interações.
Talvez o antipadrão mais difundido seja a decisão de inserir, de pára-quedas, vários times Scrum na empresa, na esperança de que prosperem e atuem como motivadores de transformação organizacional. Isso quase nunca funciona, já que a interrelação entre as equipes e a organização não é claramente entendida ou articulada.
Em muitos casos, tais antipadrões podem ser evitados, ou pelo menos reconhecidos e tratados de forma mais eficaz. Isso é feito adotando-se uma abordagem de pensamento sistêmico que considera o papel das equipes ágeis na organização e os efeitos das forças organizacionais.
Adaptar o Agile aos limites, ou criar exceções para atender aos requisitos organizacionais?
Um dos benefícios mais negligenciados dos métodos ágeis é funcionarem como ferramentas de diagnóstico: frequentemente passam, nos estágios iniciais de implantação, por uma gama de problemas que podem ter impacto negativo na entrega de valor, na equipe, na cultura organizacional, na dinâmica e no movimento em direção à melhoria contínua.
Há um perigo com adaptações de práticas estabelecidas: normalmente acabamos diagnosticando (e medindo) o efeito das mudanças, ao invés de analisar a entrega de valor. Isso pode ser especialmente prejudicial quando, por exemplo, destacamos o aumento de velocidade de uma equipe que abandonou as reuniões diárias para obter mais tempo desenvolvendo. Um aumento de velocidade neste caso demonstraria que a mudança está "funcionando". Além disso, esses "ajustes" costumam ser feitos sem referência ao sistema mais amplo e sem compreender a causa ou o efeito resultante. Isso faz com que os problemas se perpetuem, sendo adicionadas mais alterações no modelo para acomodar ou compensar os problemas originais.
As certificações ágeis não são boas nem ruins: a eficácia depende da pessoa com o certificado ágil. No entanto, delineiam as fronteiras, regras e os prós e contras do framework ágil, assegurando que os elementos corretos estão determinados e que são implantados da maneira e na ordem corretas.
Realizar reuniões diárias e sprints não torna o projeto um projeto Scrum, e obrigar o time a fazer essas coisas não faz da pessoa um Scrum Master. Mas a certificação ajuda a definir limites. Infelizmente, muitas vezes subvertemos, diluímos ou ignoramos esses limites e as regras acordadas, buscando acomodar-se a normas e limites da organização. Pior ainda, caracterizamos essas decisões como adaptações ou inovações necessárias, o que é especialmente prejudicial se as "inovações" criarem espaço para soluções ainda mais sem valor, como citado.
Há uma série de fatores ambientais que contribuem para esse antipadrão, porém o principal é a disposição dos agilistas em demonstrar a flexibilidade do Agile para se adaptar aos requisitos sistêmicos. Ironicamente, isso é visto nos programas de transformação ágil, em que qualquer tipo de mudança real é realizada no nível da equipe e não é transmitida para a organização. Dessa forma, a transformação na equipe ocorre para acomodar a falta de transformação dentro da organização.
Como o pensamento sistêmico e métodos ágeis andam juntos
O pensamento sistêmico é o processo de compreender como as coisas exercem influências-entre si, no contexto de um sistema como um todo, e tentar compreender como tais interrelações têm impacto sobre os objetivos comuns do todo. O pensamento sistêmico é uma abordagem que procura usar essa compreensão para determinar pontos de maior alavancagem, ou seja, locais no sistema onde pequenas mudanças podem produzir resultados importantes.
Equipes ágeis de alto desempenho utilizam o conceito de pensamento sistêmico de maneira eficaz, pois verificam e se adaptam continuamente, para melhorar o que fazem e como o fazem. Uma característica sistêmica é a capacidade de manter a estabilidade por meio do feedback.
Não importa quais sejam seus pensamentos, sentimentos ou experiências ao evoluir frameworks ágeis: deve-se reconhecer que um dos aspectos mais eficazes do SAFe é a ênfase colocada no pensamento sistêmico para entregar valor, incorporada na ideia de que "a solução é um sistema, um todo".
Apesar de os objetivos comuns ou soluções estarem no centro dos sistemas organizacionais, é comum que componentes individuais só olhem para si mesmos e estejam menos conscientes do todo. Isso sem perceber que estão separados e que operam de maneira "egoísta e competitiva, com centros de lucro independentes, trabalhando juntos para destruir o sistema". Essa divisão pode contribuir para isolar a equipe da área de negócios e das influências sistêmicas (tanto boas quanto ruins), já que a equipe fica quase totalmente focada em questões internas a ela.
A maneira de combater esse problema é atenuar os limites entre o sistema mais amplo e os seus componentes (as equipes ágeis), colocando ênfase maior no reconhecimento e entendimento das influências do sistema geral sobre a equipe ágil. Isso pode ser alcançado classificando-se os antipadrões em nível de equipe e de sistema, e incentivando os times a determinar pontos de maior alavancagem em relação às soluções que desenvolvem.
Usando o pensamento sistêmico para lidar com antipadrões ágeis
Para muitas empresas, a complexidade organizacional se traduz em problemas organizacionais, que por sua vez diluem a eficácia das soluções que suas equipes ágeis podem criar e implantar. A questão é acentuada porque defensores da mudança ágil criam impactos no nível das equipes e têm poder limitado para efetuar mudanças amplas na organização.
Uma abordagem de pensamento sistêmico deve ser vista como meio de reduzir a rigidez das barreiras entre equipes ágeis e a organização como um todo. Um princípio fundamental do pensamento sistêmico é reconhecer que o desempenho do sistema não é a soma de suas partes, mas sim o resultado de interações entre essas partes.
Os antipadrões que emergem e persistem são muitas vezes resultado de interações ineficazes entre equipes ágeis e o sistema organizacional mais amplo em que operam. Ao adotar o pensamento sistêmico dessa maneira, pode-se começar a reconhecer os padrões que caracterizam as interações, e ao fazê-lo, efetuar mudanças que lidam com causas e não com sintomas.
Certificações ágeis
Embora sejam às vezes vistas apenas como apenas uma maneira de se ganhar dinheiro, as certificações continuam a fornecer uma boa linha de base de habilidades e conhecimento. Além disso, a troca de informações que ocorre durante sessões de treinamento é baseada em experiências que continuam a ser valiosas.
Acredito que teremos certificações cada vez mais personalizadas, para empresas e cenários organizacionais específicos (soluções ágeis no contexto de um projeto de logística podem diferir muito das relacionadas ao desenvolvimento de software). Isso acontece especialmente quando as empresas procuram desenvolver e promover a especialização ágil de dentro de suas equipes, e também à medida que evoluem os papéis tradicionais mais focados na entrega.
Por sua vez, isso resolveria a preocupação comum de que é possível acumular uma série de certificações ágeis sem se obter a devida experiência. As "academias ágeis" internas podem se tornar a regra, à medida que empresas recrutam pessoal interno para atender às suas necessidades específicas.
Como verificar o uso de antipadrões e reduzir seu impacto
O velho ditado, de que "os problemas de hoje são as soluções de ontem", encapsula a natureza problemática dos antipadrões, mas também sugere a natureza evolucionária da solução de problemas. É importante verificar se a equipe ou a organização possuem um histórico de adoção de antipadrões, além de reconhecer que, com freqüência, os antipadrões resultam de interações ineficazes entre equipes ágeis e os sistemas em que operam.
Vale a pena categorizar as questões levantadas e as soluções propostas no nível da equipe, para que essas questões possam ser tratadas de forma oportuna. Isso porque a causa e o efeito nem sempre estão interligados. A categorização também deve ser direcionada estrategicamente, para que seja possível melhor identificar de onde vem o problema e se a ação tomada será sentida no mesmo contexto.
Equipes ágeis de alto desempenho sabem criar transparência interna, mas o uso do pensamento sistêmico pode criar transparência mais eficaz na forma como a equipe interage com o sistema. Dessa forma, torna-se mais fácil destacar onde interações são ineficazes ou prejudiciais, e como más interações se manifestam como antipadrões.
As equipes ágeis devem procurar classificar problemas e soluções nas seguintes linhas:
- Uma análise das condições sistêmicas e uma representação das condições que afetam o trabalho da equipe ágil;
- Uma retrospectiva para determinar soluções ainda em curso, verificando se são ou não necessárias e se evoluíram para um antipadrão, e porque;
- O problema vem da equipe ou do sistema como um todo?
- Onde está o ponto mais alto de alavancagem em termos da solução?
- Quais experimentos internos a equipe pode realizar, em que efeitos contínuos sejam sentidos fora da equipe e no contexto do sistema mais amplo?
- É possível abordar a causa sistêmica e não o sintoma específico sentido pela equipe?
- Quais problemas que estão surgindo agora começaram no passado como soluções?
- A solução será sentida em outro ponto dentro da equipe?
- Quais são os ciclos de feedback entre a equipe ágil e o sistema mais amplo; esses ciclos podem ser melhorados?
Todos os itens acima ocorrem dentro de uma cultura organizacional que reconhece e facilita o papel ativo da equipe ágil, na mudança e na melhoria sistêmica.
Um desafio é que agora existe um cenário de desenvolvimento de produtos em que o desenvolvimento é contínuo, e em que a integração, o valor percebido e o desempenho são vistos como essenciais em termos de competitividade de negócios. Por outro lado, a obtenção dessas metas depende da criação de um ecossistema ágil equilibrado e otimizado, capaz de reconhecer e remover antipadrões que ameaçam esse equilíbrio.
As agile frameworks are integrated into more diverse business environments and delivery models, anti-patterns continue to be not only a product and reflection of the environments in which they occur, but moreover, are often the result of a failure to undertake a systems thinking approach which recognises and is able to leverage the disruptive effect of Agile approaches within the wider system.
Frameworks ágeis vêm sendo introduzidos em ambientes de negócio e em modelos de entregas cada vez mais diversificados, e os antipadrões ágeis continuam sendo o produto dos ambientes em que ocorrem. Acima de tudo, são resultado de falhas em adotar abordagens de pensamento sistêmico - abordagens que reconheçam e aproveitem o efeito disruptivo de técnicas ágeis sobre o sistema organizacional como um todo.
Sobre o autor
David Johnston passou mais de 15 anos trabalhando no ensino superior, ensinando, entre outras coisas, garantia de qualidade de software, metodologia de sistemas e frameworks ágeis. Trabalhou como Scrum Master e Agile Coach, em diversos setores de desenvolvimento, incluindo os de mídia, varejo, logística e engenharia.