Quando temos um projeto de desenvolvimento de software em mãos, caso o cliente não tenha o requisito técnico especificando qual a linguagem, avaliamos as diversas tecnologias disponíveis, procurando utilizar a que vai trazer mais retornos para o projeto em questão.

Para uma avaliação completa, devemos escolher os fatores relevantes para realizarmos uma comparação direta, visando racionalizar nossa decisão. Temos que ter o objetivo em mente, sabendo se o que queremos é rapidez para o sistema entrar no ar, escalabilidade, custo menor, etc.

Para as comparações que serão feitas adiante, a escolha foi dos itens escalabilidade, velocidade de desenvolvimento, manutenabilidade, facilidade de aprendizado, custo total de propriedade e portabilidade, explicados a seguir.

O conceito geral de escalabilidade refere-se a habilidade de uma aplicação continuar funcionando bem quando seu tamanho aumenta para atender as demandas dos usuários. Como o conceito geral é vago, para fins de comparação pode-se definir escalabilidade como a capacidade da aplicação continuar funcionando conforme o número de usuários do sistema cresce, causando maior número de acessos simultâneos no ambiente.

A velocidade de desenvolvimento é um item extremamente importante, em função dos prazos sempre apertados da TI e do custo adjacente. Este fator corresponde ao esforço em horas gasto pelo programador para implementar determinada funcionalidade no desenvolvimento do sistema.

Manutenabilidade corresponde a facilidade e ao esforço necessário para manter o sistema, sendo que manter significa realizar alterações necessárias e novas implementações depois que o sistema foi para o ar. Isto implica não apenas em novas funcionalidades, como também em alterações de contexto, bancos de dados, servidores, retirar funcionalidades e alterar layouts.

A facilidade de aprendizado de uma linguagem corresponde ao número de horas necessárias para um programador conseguir aprender a linguagem a ponto de conseguir implementar as funcionalidades necessárias. Há linguagens que exigem um estudo maior e linguagens que com algumas horas já se consegue realizar algumas implementações, como o caso dos scripts. Este item interfere diretamente em custos de treinamento e facilidade em se encontrar profissionais que dominam a linguagem no mercado.

O custo total de propriedade (TCO – Total Cost of Ownership) refere-se ao valor necessário para se manter a aplicação rodando com determinada linguagem. Este item inclui custos como licença de uso e de desenvolvimento, licença de uso da IDE, licença de uso do servidor e outros custos necessários para se manter a aplicação no ar.

Por último o item portabilidade, muitas vezes não necessário, dependendo dos objetivos da aplicação desenvolvida. Este fator abrange a facilidade em se utilizar a mesma aplicação desenvolvida em ambientes diferentes, como celulares, PDAs, outros servidores e outros sistemas operacionais, sem a necessidade de se reescrever a aplicação.

Tendo estes seis itens em mãos, quando formos escolher determinada linguagem para implementar nosso projeto, devemos avaliar qual a relevância de cada fator para o projeto em questão. Por exemplo, para uma aplicação de cadastro de pedidos o item portabilidade pode ter grande prioridade, em função da aplicação rodar em diferentes plataformas. Cada projeto atribuirá diferentes pesos para cada um dos fatores, e em função destes pesos devemos escolher a linguagem adequada.

Um fator que quase sempre possui grande influência na decisão, mas que não é intrínseco à linguagem, é o ambiente já utilizado no cliente. Se o cliente possui um legado em Progress e necessita desenvolver uma nova aplicação que deve ser totalmente integrada ao legado, o Progress já sairá em grande vantagem, pelo simples fato de já estar sendo amplamente utilizado na corporação, o que facilita as integrações. Este item será deixado de lado nas comparações, visto que não corresponde a um fator de vantagem ou desvantagem intrínseco da linguagem, e sim do ambiente ao qual ela está inserida.

É importante mantermos a imparcialidade, visando objetivivamente a comparação dos fatores acima, para não escolhermos a linguagem em função de dogmas ou apreciações subjetivas e muito menos opções e convenções pessoais, afinal quem paga é o cliente.

~\\|//~
 -(o o)- RODRIGO SILVA
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s