A maioria dos profissionais, inclusive este que vos fala, gosta de trabalhar com tecnologias de ponta. Quem não gosta de utilizar a última versão do framework tido como revolucionário ? A nova metodologia que promete diminuir o tempo de projeto ? Aumentar a qualidade do sistema e a satisfação dos membros da equipe ? Isso parte da motivação humana e capitalista de querer fazer sempre mais e melhor em menos tempo. Só que nem sempre essa é a estratégia ideal para todos os clientes.
É muito comum dentro do processo de engenharia de software, as empresas manterem e evoluírem arquiteturas de sistemas para cada linguagem, tipo de negócio, maturidade do cliente, entre outras características. Sendo que em alguns casos, o que se vê é a utilização de tecnologias desnecessárias que aumentam a complexidade do projeto. Além de consumirem tempo com curvas de aprendizado significativas, agregam alguma ou nenhuma mudança em relação a performance e utilidade do sistema. Em nada afetam a percepção do cliente sobre o produto final, é o famoso “tiro de bazuca pra matar mosquito”. Poderiam ser facilmente substituídas por soluções menos complexas e mais funcionais, gerando o mesmo nível de satisfação.
O arquiteto normalmente justifica o uso da tecnologia milagrosa com os famosos jargões “e se algum dia tivermos um aumento de 300% na quantidade usuários ? E se tivermos que nos comunicar com um sistema na linguagem XPTO ? E se o sistema for utilizado pela NASA ?”. A tecnologia resolve todos esses problemas, garante ele. A última moda também é utilizar os termos “coesão” e “baixo acoplamento” para qualquer coisa. O gerente de projetos fica feliz ao escutar essas palavras de impacto e mais ainda ao repetir aos gestores e clientes. O desenvolvedor algumas vezes não concorda, mas aceita porque aquela é a arquitetura definida. O resultado real é que aumentam as possibilidades de ocorrerem atrasos na fase de construção e o pior, muitas vezes não é tão simples justificar esses atrasos com o cliente, que no mínimo vai pensar se realmente obteve algum benefício com o uso da nova tecnologia.
É preciso avaliar a adoção de tecnologias modernas em relação ao resultado final esperado pelo cliente, o que realmente atenderá as necessidades do mesmo. Os testes de conceito e criação de projetos piloto são fundamentais para que a tecnologia seja utilizada neste sentido. Além do foco na necessidade do cliente, devem ser considerados também os impactos sobre o processo de construção como um todo, envolvendo prazo, qualidade, desenvolvimento e manutenção do sistema. É fundamental a utilização de conceitos como reutilização, modularização e orientação por serviços. A empresa que não organiza seus sistemas dessa forma perde vantagem competitiva e operacional. É dever do arquiteto prever possíveis necessidades do sistema, mas numa escala real, tendo em mente que nem sempre a tecnologia mais nova ou a que possua maior conhecimento, será a melhor para o cliente.
You must be logged in to post a comment.