quinta-feira, 23 de fevereiro de 2012

Interferências na escolha de tecnologias em projetos WEB

por Rodrigo de Almeida Rodriguez, Diretor de Tecnologia da Informação da Smarc\Web

Neste artigo abordaremos a implicância em determinados projetos de internet ao se optar por determinada tecnologia para seu desenvolvimento.
No caso usaremos as linguagens de programação PHP e JAVA para ilustrar duas possíveis escolhas na hora de desenvolver um sistema on-line ou um web-site,  porém o que abordaremos aqui abrange qualquer escolha,  logicamente dado seus aspectos e usos.

PHP é a linguagem de programação mais utilizada no mundo, enquanto JAVA desponta como uma das menos encontradas como tecnologia principal a qual um web-site se baseia.

O que explica tudo isso são os custos de desenvolvimento,  pois um profissional Java é bem mais custoso do que os profissionais especialistas em PHP.

Mas o que acontece depois do desenvolvimento?
 O que acontece no pós-produção?

Certeiramente,
 caso aconteça do projeto tomar dimensões não previstas em escopos iniciais, e a tecnologia escolhida não for a mais apropriada para o redimensionamento do projeto,  tem-se apenas duas opções:  1) continua-se na escolha inicial de tecnologia e arca-se com mais custos para adaptação da mesma para o uso do projeto ou 2) resolve-se reconstruir TUDO com uma tecnologia mais apropriada, porém arca-se com os custos de um “re-projeto”.
Observe que precisamos tomar o devido cuidado ainda na fase do escopo do projeto e principalmente ter convicção do uso apropriado de determinada tecnologia, pois num futuro talvez próximo essas escolhas podem levar a um custo maior do que o que é de fato necessário para se projetar.

Um ótimo exemplo disso é o Facebook.
 O Facebook foi desenvolvido completamente em PHP, talvez por não esperarem a dimensão que de fato ele é hoje,  mas por diversas vezes ele precisou ser reescrito em PHP,  surgiram até rumores que o Facebook estaria por investir na tecnologia PHP (Open Source) com objetivo de torná-la mais adequada a seu uso.

Também por diversas vezes houveram falhas estruturais da própria tecnologia que permitiram hackers se apropriarem de milhões e milhões de informações confidenciais de seus usuários. O que estou falando não é que isso talvez não tivesse acontecido com uma melhor escolha, pois todas as escolhas podem ser falhas dependendo do contexto que as usa.

Se a equipe que criou o Facebook tivesse ideia do uso e a dimensão que se tonaria com certeza eles não precisariam refazer do zero seus códigos e muito menos se poderia cogitar algum investimento para a expansão da tecnologia que nesse caso passou a ser uma falha escolha.

Então a pergunta é:
 por que não usamos a mais completa tecnologia, assim evitamos o problema acima?

Como já havia dito, toda tecnologia pode ser falha, pode e é, apenas dependendo do seu contexto.


Provavelmente se no início o Facebook fosse concebido em Java por exemplo, o custo de projeto seria tão alto que talvez inviabilizasse todo o sucesso e potencial da ideia original e assim sendo provavelmente não teríamos o Facebook hoje.


Logo se percebe que a simples preferência por determinada tecnologia a ser utilizada pode sugerir um fracasso num projeto, ou pelo menos em algum momento arca-se com mais investimento.

Essa discussão não é nova,  muito pelo contrario, é muito bem conhecida por engenheiros e gerentes de projeto.
Podemos de fato apenas opinar sobre algumas perspectivas que devem ser observadas, de modo a se evitar arrependimento no futuro.

Deve se primar pelo uso que se espera ter daquele projeto e encontrar uma opção que atenda aquele uso, e ainda supor um uso que inicialmente não terá, mas que futuramente poderá passar a ter, e então se perguntar: aquela tecnologia que escolhi, me atende nesse futuro?
 E se a resposta for SIM então se pergunta: Se eu fosse criar hoje um projeto que tivesse o uso previsto para um futuro, ainda assim escolheria a mesma tecnologia?
Se também for SIM mais certa vai ser a escolha da tecnologia, mas com certeza tudo isso depende da experiência dos gerentes de projeto e nesse caso principalmente do engenheiro de software e TI.


Smarc\Web - Produtora de Internet

Nenhum comentário:

Postar um comentário