Estão crescendo cada dia mais as opções de tecnologias e ferramentas. Então vem a seguinte questão: “Quais tecnologias as empresas devem utilizar para o desenvolvimento dos seus produtos?”.
Essa é uma pergunta bem difícil de responder e a resposta genérica é: “Existe uma solução para cada caso”.
Os desenvolvedores em geral dividem-se em dois grupos para responder essa questão: Os que tem ansiedade de novos desafios, com tecnologias emergentes e os especialistas, com tecnologias que já tem conhecimento profundo.
Nenhuma das duas abordagens está incorreta. Trabalhar com uma tecnologia que se tem muito conhecimento adquirido reduz o custo do projeto na maioria dos casos, mas existem tecnologias emergentes que tem largas vantagens em relação as já conhecidas.
Se existe esse paradigma, então o que deve ser utilizado? Eu acredito que as tecnologias devem ser propostas pelos desenvolvedores, mas devem ser escolhidas pelo Gerente do Projeto.
O responsável pelo projeto deve levar em consideração a maturidade da tecnologia, manutenibilidade, escalabilidade, valor hora médio de mercado.
A maturidade da tecnologia pode ser medida pela quantidade de documentação disponível, velocidade de atualização, velocidade de depreciação. Ainda é pertinente levar em consideração se a tecnologia possui uma comunidade ativa para ajudar em problemas que possam ocorrer, isso em tecnologias Open Source e para tecnologias proprietárias, se deve verificar se o suporte atende com velocidade suficiente para ter aderência ao projeto.
Quanto a documentação, ela deve ser clara e possuir a abrangência necessária.
A velocidade de atualizações da tecnologia deve ser analisada por dois critérios:
– Qual o motivo da atualização? Erros? Ou Melhorias? E
– Como a atualização da versão da tecnologia afeta o projeto?
Muitas atualizações por motivo de erro indicam que a tecnologia não está madura para ser utilizada em um projeto.
Ao trocar a versão da tecnologia o custo deve ser baixo para adequação ao produto. Caso contrário se torna um risco, pois melhorias das novas versões não são integradas no projeto e o produto acaba ficando estagnado em uma versão sem suporte da tecnologia.
O sucesso do projeto depende de forma significativa das tecnologias envolvidas. Uma escolha ruim, pode atrasar ou acabar com um projeto. É importante gastar um tempo escolhendo as tecnologias adequadas à solução.
Espero ter ajudado!
Obrigado por ler.
Deixe um comentário