Borba on Software Desenvolvendo Software com Qualidade.

19Aug/104

Codificação é Commodity?

Ouvi uma coisa no início dessa semana que não saiu da minha cabeça: "codificação é commodity". E aí? Será que é mesmo?

Quando usamos o termo commodity para serviços deve ser necessário que as empresas tenham uma certa uniformidade em relação a prestação deste serviço. Por exemplo, enviando uma especificação para duas "fábricas" de software espera-se que ambas entreguem o mesmo produto (com poucas diferenças) e mais ou menos no mesmo prazo. Em um cenário assim, a escolha do fornecedor vai depender primordialmente do preço. Vamos escolher a "fábrica" que cobrar mais barato. Para fortalecer ainda mais este conceito, temos certificações como o MPS.BR e CMMI que servem para classificar os fornecedores. Imagina-se então que duas empresas que são CMMI nível 5 devem produzir mais ou menos a mesma coisa no mesmo prazo e portanto, posso escolher a que me cobrar mais barato. Você realmente acredita nisso?

Diferentemente de como muita gente pensa, codificação não é uma atividade mecânica. Não existe nenhuma máquina em que você coloque as especificações em um buraco e saia o software pronto do outro lado. Arquiteturas, especificações, designs são modelos meramente teóricos. Nenhum arquiteto ou projetista pode garantir que aqueles esquemas irão funcionar. Para saber se vai funcionar o sistema tem estar codificado e rodando. Na prática esses modelos teóricos ajudam a estruturar o problema e definir as soluções em um nível mais abstrato, mas durante a implementação é que os detalhes emergem e as decisões finais são tomadas. Não sendo uma atividade mecânica que dizer então que não pode se considerar uma commodity? Acho que não, outros fatores devem ser analisados como por exemplo o desempenho dessa "indústria".

E como está o desempenho dessa "indústria"? Basta dar uma olhada no resultado do CHAOS Report (relatório anual do desempenho dos projetos de desenvolvimento de software feito pelo Standish Group). Em 2009 apenas 32% dos projetos de software foram considerados plenamente bem sucedidos. Como uma "indústria" com desempenho tão ridículo pode oferecer um serviço considerado commodity?

Cuidado, se você vai contratar uma empresa de desenvolvimento de software não olhe apenas para o preço. Fazer software é muito difícil e muito pouca gente sabe. Procure uma empresa que tenha um portfólio de sucessos. Não acredite apenas nessa bobagem de certificações, isso não vale nada. Tratar desenvolvimento de software como commodity só vai trazer dor de cabeça e prejuízo.

Comments (4) Trackbacks (1)
  1. Excelente colocação. Sabe-se bem que até mesmo há muitos empresas que acabam tirando certificações na ‘forçada’ de barra para criar uma verdadeira celeuma de que seus mecanismos estando padronizados farão a catraca funcionar com mais conformidade. O que a prática mostra ser pura ilusão.

    Ainda, aliada a questão de portfólio da empresa, é necessário que os executivos encarem com mais coragem processos mais enxutos e efetivos que reduzam a burocratização e conseqüentemente focam-se no essencial que é fazer seu negócio ter lucros. Não é a tôa que a ‘informalidade’ das metodologias ágeis tem melhorado o cenário do Chaos Report.

  2. Esse post é parcial. :/

  3. @Helio: É isso aí. Concordo plenamente.

    @Troll1: O post reflete a minha opinião sobre o assunto e portanto, é parcial. Mas se você discorda, porque não desenvolver o assunto? Obrigado pela participação.

  4. Gostaria de deixar este link:

    http://www.flownet.com/gat/jpl-lisp.html

    Uma página em que um lisper conta sua história no JPL e Google. Ele faz alguns comentários que tocam nessa questão que você levantou aqui.


Leave a comment

(required)