Desenvolvimento

23 nov, 2011

Obras incríveis no Cazaquistão e a questão do desenvolvimento de software

Publicidade

Outro dia estava assistindo, no canal National Geographic, a um programa que se chama “Obras incríveis”, cuja obra em questão era a maior tenda do mundo, que fora construída no Cazaquistão. Simplesmente algo fantástico! A área na qual a tenda foi construída é de aproximadamente 100 mil m², ou seja, uma verdadeira cidade com várias opções de lazer, inclusive praia artificial, lojas, praças de alimentação e parques. A temperatura ambiente é de, aproximadamente, 30ºC, apesar de a temperatura externa variar entre -40ºC e 40ºC. Incrível, não?

Essa obra foi idealizada pelo presidente do Cazaquistão, Nursultan Nazarbayev, que deu o prazo de um ano para a sua construção. Foi nesse momento que me assustei e pensei: “poxa vida, isso me faz lembrar o desenvolvimento de software. Um ano é impossível!”.

Eles tinham pouco tempo para fazer tudo o que precisavam e, para piorar, se esqueceram do inverno. E foi aí que as coisas pioraram, pois o inverno do Cazaquistão não é o inverno de Vitória – E.S., ou do Brasil. E, com isso, o ritmo da obra ficou muito lento. Sendo assim, eles aumentaram o número de operários, e mais uma vez me lembrei do desenvolvimento de software: muito comum pensar que aumentando o número de programadores o trabalho renderá mais. Mas nem sempre isso se aplica.

Uma vez que o pilar central já estava erguido e todos os cabos estavam devidamente presos, finalmente chegou a hora de cobrir a tenda. Colchões especiais foram fabricados para serem colocados como cobertura da tenda e cada um tinha um lugar único na estrutura.

O trabalho não era fácil. Somente especialistas faziam a instalação, devido ao risco de danificar um colchão, e essa tarefa levava, em média, quinze minutos. Porém, com a chegada do inverno, o tempo de instalação saltou para três horas. Ficou iminente o atraso, e eles contrataram mais operários (a cara de desenvolvimento de software, né?). Apesar de não conseguirem chegar à marca de quinze minutos por instalação, a equipe conseguiu fazer a instalação de todos os colchões.

Notei diversos fatores nesse documentário que são similares a problemas que encontramos no desenvolvimento de software. A verdade é que nós, de TI, pensamos que só a gente tem questões abstratas para resolver, e até já ouvi a seguinte expressão: “Construir software não é como construir casa”.  Eu até concordaria, se todas as casas tivessem as mesmas formas arquitetônicas, se não dependessem do clima e do tempo para serem finalizadas. Na verdade, as coisas não são bem assim.

Achei interessante, no decorrer do documentário, ver a semelhança entre a construção da tenda e o desenvolvimento de software. Apesar de ter ciência de que o desenvolvimento de um software não é idêntico ao da construção civil, ainda que se assemelhe em alguns aspectos – neste caso em especial:

  • Presidente –> Product Owner (O presidente estava lá todos os meses para dar validar se estava do jeito que ele queria, por exemplo);
  • Um ano para Construção –> Urgência no prazo que o cliente estipula, como “preciso disso até a data X”;
  • Inverno –> Falha no planejamento de riscos de software (devido ao curto prazo), pessoas chaves do projeto saírem da empresa, surgiram problemas técnicos inesperados etc;
  • Instalação dos colchões no inverno –> Força tarefa contratada sem qualificação na tecnologia empregada (frameworks e etc), falta de sinergia com o restante da equipe e conhecimento fluente;
  • Ponta do pilar principal flexível –> buscar garantias à contingência do sistema, para que ele não pare, principalmente em momentos de pico (o inverno, no caso da tenda);
  • Atraso –> A maioria dos projetos de software atrasam;
  • Arquiteto chefe e os engenheiros responsáveis –> jogo de cintura por parte da gerência e liderança técnica do projeto de software para buscar o mínimo de atraso possível;
  • A tenda –> O projeto precisa ser entendido e bem mapeado, para que seja entregue o que o cliente quer; para que seja realmente feito.

Nós temos muitos problemas no desenvolvimento? Sim, temos inúmeros. Muitos por uma má compreensão do projeto, outros por querer experimentar tecnologias que ainda não estão estáveis, sem conhecimento aprofundado das mesmas, correndo atrás de uma simples falácia de um palestrante de tecnologia (o resumo é: inventa-se muita moda!).

Precisamos rever nossos conceitos, afinal não somos os únicos com problemas, e a maioria de nós nunca construiu uma casa.