Pesquisar este blog

domingo, 29 de maio de 2011

Como evitar frustração no desenvolvimento de sistemas sob encomenda

Em quase todo possível novo cliente que visito me deparo com o mesmo problema. "Fulano estava fazendo um sistema pra gente mas interrompeu pelas metades". A experiência tem me mostrado que a causa é quase sempre uma visão equivocada quanto à evolução do desenvolvimento de um sistema sob encomenda. O erro mais comum é confundir projetos de sistemas com outros tipos de projetos, como a construção de uma casa por exemplo. O iniciante demora a perceber que há uma diferença básica: o projeto de uma casa acaba, e depois que a casa é construída, o arquiteto ou engenheiro nunca mais precisam ver aquele cliente novamente. Já a realidade do desenvolvimento de um sistema sob encomenda é bem diferente, pois o cliente sempre vai precisar de modificações posteriores. Tudo em tecnologia é assim. Nunca se está plenamente satisfeito. Um computador sempre precisará de um upgrade, e o mesmo acontece com o software, principalmente quando a intenção é fazer algo sob medida. É impossível ao cliente saber de antemão tudo o que precisará ter, e a partir do momento em que o software estiver sendo benéfico para ele no dia a dia, é normal que ele vislumbre mais possibilidades. Mas o desenvolvedor iniciante geralmente fecha um valor pelo projeto e não traça planos para cobrança pelo seu trabalho pós-entrega-da-primeira-versão. O cliente começa a pedir modificações e, por serem relativamente pequenas, num primeiro momento o desenvolvedor as aceita sem se importar com os custos. Com o tempo ocorre o inevitável: os pedidos de modificação vão se somando, e não demora muito para o desenvolvedor se ver obrigado a arrumar alguma desculpa para abandonar o projeto, seja um emprego, uma viagem ou algum "curso noturno", e o cliente acaba tendo que se contentar com um sistema abandonado que não atende plenamente às suas necessidades. Infelizmente o que se nota é que a maioria dos sistemas nesta situação são jogados fora. Tempo e dinheiro perdido.

É preciso se entender que de pequena em pequena modificação todo sistema acaba sempre acrescentando custos um tanto variáveis ao longo do processo, e que, portanto, o preço para se desenvolver um sistema sob encomenda nunca pode ser encarado como algo "fixo pelo projeto todo". É essencial que o desenvolvedor autônomo tenha uma metodologia de cobrança em que cada elemento de funcionalidade pedido, seja no projeto inicial ou em modificações posteriores, seja contado e devidamente pago pelo cliente, e um bom ponto de partida é conhecer as técnicas de análise de pontos de função. É justo, pois é simplesmente pagar ao desenvolvedor pelo trabalho que for realizado, e é melhor para o cliente também, para não terminar com um produto inacabado nas mãos.

Nenhum comentário: