Essa semana o Giovanni Bassi deixou um post muito interessante em seu blog intitulado "O longo prazo e a arquitetura de software", dele foi derivado um tópico no grupo de discussão do .Net Architects onde contribui hoje com o texto a seguir.

Na maioria das situações TI é "catalisadora" no processo, ou seja, você possui um interesse, diversas tecnologias envolvidas e um resultado final para ser produzido. Deste processo TI é o meio capaz de transformar os agentes envolvidos em prol do resultado esperado. É muito frustrante para a equipe técnica saber que uma solução será desenvolvida com baixa qualidade ou, utilizando analogamente os termos do Giovanni, foi mal feita.

O que podemos fazer para sofrermos menos nessas situações é separar a nossa expectativa (que tende a alcançar o software perfeito) da verdadeira realidade de quem "compra" a solução com todos os demais agentes influenciadores ao redor. Muitas vezes um aparente mal resultado pode ter sido o melhor resultado cabível, isso se afastarmos-nos do contexto de desenvolvimento e olharmos muito de cima, bem macro mesmo.

Entendido os pontos acima, chegamos à questão de continuidade e longo prazo, que não nos exime de praticarmos o melhor possível (e cabível) na construção de software. O que acho difícil é alterar o senso comum e o que é comumente aceito, infelizmente somos estigmatizados com diversos rótulos irreais, contudo não fazemos nada para modifica-los, assim tornamos-nos nossos próprios algozes. Muitas vezes acho que o grande empecilho da nossa área é a absurda evolução tecnológica, pois nos impede de solidificar um conhecimento e amadurece-lo para que façamos com qualidade, já que "temos" sempre que correr atrás de uma tecnologia emergente. Como pensar em longo prazo se não conseguimos sequer focar no que estamos fazendo? Perdemos o referencial, invariavelmente.