Qual o nosso objetivo?
Criar um pipeline de build?
Criar uma infra de testes automatizados?
Aprender a ser mais ágeis?

Gostaria de compartilhar uma história.

Em 2008 eu estava vivendo na Índia, em Bangalore. Eu começava no trabalho as 8 Am. E fazia yoga diariamente das 6-7:30 em um lugar a 15 km do meu trabalho.

Em 2009 eu tinha uma moto, carteira de habilitação para moto, sabia dirigir no trânsito de Bangalore e conhecia o caminho entre o trabalho e o local de yoga.

Mas qual era o meu objetivo?
Aprender a dirigir moto? Tirar a carteira de habilitação? Dirigir em Bangalore?

Nenhum desses! Meu objetivo era fazer yoga diariamente antes do trabalho e chegar no trabalho relaxado.

Note o final da frase do objetivo: chegar no trabalho relaxado. O meu objetivo não era somente fazer yoga, mas sim fazer yoga e chegar no trabalho relaxado. Afinal de contas não faz sentido fazer yoga e chegar no trabalho estressado.

Fácil de dizer, difícil de implementar. Para estar no local da  yoga as 5:30 eu tinha de acordar as 4:50 e pegar uma rickshaw as 5 am. Infelizmente não era certo quando uma rickshaw passaria e era bastante  estressante a negociação do preço que teria que pagar pelo translado. Para quem já esteve na Índia sabe que os rickshaw gostam de negociar o preço pela corrida, principalmente de um gringo as 5am. E o mesmo problema acontecia na volta da yoga para o trabalho.

rickshaw

uma rickshaw

Eu estava conseguindo fazer yoga diariamente, mas chegava ao trabalho estressado após lidar com a incerteza de horário e preço dos rickshaw.

A solução: comprar uma moto, aprender a dirigir moto, tirar carteira de habilitação e aprender a dirigir em Bangalore.

Simples, não?

Ao final de 2009 a solução estava implementada e o objetivo alcançado.

Agora sim eu quero entrar no X da questão: como implementar melhorias no ciclo de desenvolvimento, e ao mesmo tempo realizar entregas com o conhecimento e aparato disponível no momento?

Relembrando, o meu objetivo era fazer yoga diariamente antes do trabalho e chegar no trabalho relaxado.

Segue o histórico do que aconteceu.

  • Janeiro 08 – ir para yoga de rickshaw e aprender o caminho
  • Fevereiro 08 – alugar uma scooter e ir para yoga de scooter
  • Maio 08 – comprar uma moto e treinar a andar de moto na garagem (local sem trânsito)
  • Junho 08 – ir e voltar da yoga de moto
  • Agosto 08 – retirar a carteira de habilitação (por causa da burocracia isso levou bastante tempo)
  • Julho 09 – experiente em dirigir em Bangalore

Note que levei bastante tempo para obter o aparato e a experiência necessária a alcançar o objetivo –fazer yoga diariamente e chegar ao trabalho sem estar estressado. Aprendi a andar de moto na Índia e retirei uma carteira de habilitação. De fato até hoje sigo andando de moto.

Atualmente estamos implementando uma transformação ágil e melhorando o ciclo de desenvolvimento. Sei que vamos melhorar o build pipeline, aprender a criar e manter testes automatizados e a ser mais ágeis na criação e entrega de produtos. Tudo isso serão ótimos resultados. Mas precisamos seguir entregando software de qualidade periodicamente sem estarmos estressados com o ciclo de desenvolvimento.

Nossa situação é parecida , metaforicamente, com o que vivi na Índia.  Precisamos de uma carteira de habilitação, subir numa moto e trafegar efetivamente no trânsito deste departamento de TI. Mas isso vai levar algum tempo.

Assim como o meu exemplo, moto e carteira de habilitação são ótimos resultados, mas não o objetivo em si. Vamos focar nas entregas, assim como nas melhorias. Com o tempo vamos aprendendo o caminho, a dirigir nossas motos e até vamos nos certificar que podemos dirigir, mas nunca colocando em risco nossas entregas periódicas.