Fred George, no primeiro dia da conferência Agile Índia, compartilhou suas ideias sobre como ir além do Agile, atingindo um estado que chama de "Anarquia dos Programadores" (Programmer Anarchy). Através de exemplos de sua experiência na empresa britânica Forward Technology, George explicou como tal modelo pode levar a um ambiente extremamente produtivo na resolução de problemas complexos e ao aumento substancial de resultados.
George iniciou sua sessão com a introdução de conceitos do Framework Cynefin, através do qual estreitou o foco de sua apresentação sobre o domínio de problemas complexos. Seguiu com uma comparação entre a abordagem tradicional de desenvolvimento de software e a abordagem do Agile, no que diz respeito à eficácia para resolver problemas neste domínio de problemas.
George lembra que os métodos tradicionais determinam que o cliente defina o projeto e o repasse para que a empresa de desenvolvimento realize sua implementação. Já em projetos ágeis, existe uma parceria entre o cliente e a empresa (ou equipe) de desenvolvimento na condução do projeto.
No estado de Anarquia dos Programadores, por outro lado, essa característica do Agile é levada ao extremo. O cliente apenas apresenta o problema de negócio para a empresa ou equipe de desenvolvimento. Esta, em seguida, assume e dirige o projeto tornando-se totalmente responsável pela criação de valor para o negócio.
Ele cita um exemplo (parafraseando):
Tivemos que reescrever um sistema que foi previamente escrito em .NET e SQL e a equipe acabou utilizando várias tecnologias (Ruby, Clojure, Node.js, MySQL, MongoDB etc). O núcleo do sistema continha lógica de cálculo de contas de energia, com diversas condições e verificações complexas, e que estava distribuída por toda parte no sistema.
Como parte do nosso exercício de reescrita, reescrevemos o núcleo em Ruby com cerca de 600 linhas de código. Em seguida, reescrevemos a mesma parte em Clojure, com cerca de 300 linhas. Depois, o mesmo desenvolvedor reescreveu em Clojure com 200 linhas de código mais limpo do que a implementação anterior. Tudo isso com diversas novas funcionalidades que pretendíamos para o sistema original, e que nunca haviam sido implementadas.
Que gerente lhe permite reescrever o núcleo do sistema três vezes? Nenhum. É por isso que não temos gerentes!
Fred George explica que um ambiente tão radical como esse é possível porque os desenvolvedores entendem onde está o valor de negócio; as métricas de negócio são as únicas que são coletadas. Se a equipe comete erros, as métricas indicam esses erros e a equipe corrige os problemas. As entregas contínuas levam ao feedback contínuo e as ações corretivas podem ser tomadas quase que imediatamente. Os desenvolvedores são autoorganizados em quase todos os sentidos, inclusive nas tarefas de contratação e alocação de tarefas.
A mudança de Waterfall (Cascata) para Agile requer uma mudança radical de mentalidade e na confiança entre o cliente e a equipe de desenvolvimento. A mudança para a Anarquia dos Programadores requer ainda mais confiança, uma vez que o cliente perde essencialmente toda a sua impressão de controle sobre o projeto e passa a depender da equipe de desenvolvimento para agregar valor ao negócio. Além disso, a empresa aceita uma série de riscos: falhas são compreendidas como algo comum e uma oportunidade de se aprender rapidamente. Outra empresa que George indica conhecer com este tipo de trabalho orientado ao desenvolvedor e uma cultura de tolerância aos riscos, é o Facebook.
Os slides da apresentação de Fred George sobre a Anarquia dos Programadores está disponível online.