É importante notar que uma equipe pode estar em estágios diferentes depen-
dendo da referência, por exemplo, um time pode estar no estágio Ri em se falando
de entregas frequentes, mas pode estar no estágio Shu em relação à programação em
par.
Uma lição importante deste modelo é que há um momento certo de maturidade
para se quebrar as regras, adaptar e improvisar. Um aluno iniciante (no estágio Shu) de artes marciais que tentar mudar os movimentos ensinados pelo mestre poderá
facilmente fazer algo errado e se machucar, já um aluno intermediário (no estágio
Ha), provavelmente, estará mais preparado para encontrar seu próprio estilo sem
correr altos riscos.
O mesmo ocorre com uma equipe que está utilizando métodos ágeis, se num
momento precoce tentar adaptar ou quebrar as regras, antes de ter compreendido
mais profundamente os princípios, corre o risco de estar fazendo alguma outra coisa qualquer e as continuar chamando de métodos ágeis.
2.2
Ordem, Caos e Complexidade
Assim como há muitos tons de cinza entre o preto e o branco, entre o caos (de-
sordem) e a ordem, há também alguns níveis [8]. Quando tentamos trazer nossas
organizações para o extremo da ordem, para que possamos tornar as coisas mais
previsíveis e manter tudo sob controle, criamos uma série regras, e enrijecemos o
sistema, tornando-o pouco adaptativo e burocrático. Por outro lado, quando não
há nenhuma regra, nenhuma restrição, nenhum líder, o sistema se encontra no que
chamamos de caos sem nenhuma previsibilidade e você não consegue ter a menor
ideia do que está acontecendo ou para aonde as coisas estão caminhando.
26
Casa do Código
Capítulo 2. Fluência Ágil
Para ilustrar a diferença entre a Ordem e o Caos, imagine que você está indo
com sua família passar o final de semana na praia. Você tem dois filhos pequenos
e danados, um menino, e uma menina. Seu cônjuge foi fazer um caminhada e você
ficou responsável pelas crianças. Se você optar pelo Caos extremo, não dirá nada para as crianças e as deixará completamente livres para fazerem aquilo que quiserem, não as advertirá, não haverá limites, nem restrições, nem regras. Liberdade total, tudo é possível! Nem é preciso falar que a probabilidade de uma criança se afogar e a outra entrar no meio de um jogo de futebol e tomar uma bolada é bem alta.
Agora, se você optar pela ordem extrema, dirá a seus filhos:
Sentem-se aqui na minha frente, brinquem de fazer castelo com 500 metros de altura
e duas torres, usem o balde e as pazinhas, não saiam daqui enquanto eu não
autorizar, não chorem, não gritem, não levantem, e (imagine e inclua mais umas 50
regras aqui).
Num contexto totalmente ordenado, todas as variáveis devem ser isoladas, e por
isso é possível prever acontecimentos, porém, note que ambos os extremos são exa-
gerados. No primeiro, as crianças acabam se machucando por excesso de liberdade
e negligência, no segundo exemplo, as crianças mal podem se divertir pois preci-
sam seguir ordens restritas e não têm liberdade alguma para se auto-organizar ou
expressar sua individualidade e criatividade.
O meio termo entre esses extremos, seria dar às crianças algumas restrições bá-
sicas para certificar-se de que elas poderão brincar sem que nada de mal ocorra a
elas. Você diria algo do tipo: - Crianças podem brincar do que quiserem, e fiquem
onde eu possa vê-los, e não deixem que a água ultrapasse a cintura de vocês.
Agora pense em uma equipe de desenvolvimento de software que não possui
nenhuma regra comum entre os membros da equipe, cada um escreve código da
maneira que acha melhor, uns escrevem testes outros não, alguns utilizam certas
convenções, outros utilizam outras, cada um trabalha em sua linguagem de progra-
mação preferida, alguns trabalham no escritório outros de casa, cada um define sua
frequência de integração do código.
Dá pra imaginar que esse cenário seria um bagunça, não é? Por outro lado uma
equipe que está no extremo da ordem possui regras para tudo, não tem nenhuma
liberdade para expressar sua criatividade ou para solucionar os problemas, todos os horários estão definidos, as tecnologias, as linguagens de programação, o que se pode fazer, o que não se pode fazer. Há pouca ou nenhuma variação.
27
2.2. Ordem, Caos e Complexidade
Casa do Código
Os métodos ágeis são uma resposta ao caos e à ordem, e propõem um cenário
que está justamente no meio termo: a complexidade [8] (veja na figura 2.3. Muitos
autores chamam isso de a beira do caos. Você só precisa de um pouco ordem para
que o sistema possa se auto-organizar para atingir um determinado objetivo. Não
mais do que isso. E essa ordem geralmente está presente nos métodos ágeis na
forma de restrições.
Figura 2.3: Complexidade
Toda organização é um sistema complexo adaptativo, é como um jogo em que as
regras são mudadas ao longo do curso, e pelos próprios participantes.
Jurgen Appelo
Pense no Scrum, como um exemplo. A equipe precisa possuir de 5 a 9 membros.
Todos os dias o time deve fazer uma reunião diária de até 15 minutos. Toda iteração tem como resultado um potencial incremento no produto etc. Essas regras e restri-