DevSecOps

6 jan, 2012

Bons contratos de desenvolvimento de software: desejo e verdade

Publicidade

Ao longo dos anos temos discutido e refletido continuamente sobre as dificuldades da indústria de software. Em particular nos grandes projetos de desenvolvimento de sistemas de informação, nossa principal área de atuação. Quando falo de dificuldades, não me refiro a eventuais limitações de uma equipe/ empresa A, ou B, mas àquelas dificuldades que encontramos de forma generalizada em todo lugar, evidenciadas, por exemplo, em pesquisas, como a citada pelo Marcelo Arrevabeni (Projetos de TI: 400% acima do orçamento e 25% dos benefícios esperados), que apresentam um desconcertante cenário de estouro de orçamento e entregas pouco significativas.

Sem dúvidas, as causas de um projeto mal sucedido podem ser diversas, e em geral envolvem múltiplos fatores. Contudo, ao olhar para a indústria de software da posição onde me encontro hoje (em termos de vivência técnica, gerencial e comercial), o que percebo é que o fator mais crítico é a ilusão do que seja um bom negócio, tanto para a contratante, quanto para a empresa de TI prestadora de serviço – o que muitas vezes gera relações comerciais conflitantes e até mesmo traumáticas. Talvez ainda haja muito desconhecimento sobre a natureza do serviço de desenvolvimento de sistemas de informação, tanto no que diz respeito à sua complexidade e custos, quanto a importância de fazer bem feito para poder maximizar seu retorno (ROI).

Parece que muitos gestores acreditam, ou querem acreditar, que é possível desenvolver sob demanda um software complexo, com um orçamento próximo ao da compra de um produto de prateleira e em um prazo curtíssimo. O pior é que muitas empresas do software, visando “conquistar” mercado, acabam se sujeitando a esse tipo de relação, causando um mal sistêmico na indústria de software.

Acredito que a lógica por de trás dessa relação, aparentemente saudável, seja o desejo de fazer um bom negócio, aliado às “juras de amor” feitas na negociação, endossadas pelos contratos de prestação de serviço com escopo, prazo e custos definidos visando uma maior segurança. Contudo, a verdade é que enxugar ao máximo os custos diretos com o serviço de desenvolvimento de software é apenas uma parte da equação que determina o que é de fato um bom negócio. E um contrato não é segurança real, pois não é garantia de sucesso, mas apenas garantia de multas e outras sanções no caso de insucesso. E, infelizmente, muitos estão dispostos a correr esses riscos.

Quando uma organização decide desenvolver um software importante, as expectativas são enormes. A decisão de construção do software geralmente está ligada à estratégia da empresa, e enquanto ferramenta operacional e/ ou de gestão, espera-se que o novo sistema traga melhorias significativas em eficiência de produção, diminuição de erros, melhoria nas decisões gerenciais, diminuição da necessidade de treinamentos, qualidade para clientes, etc.. Além dos benefícios de se ter um bom sistema de informação, um investimento desse tipo geralmente é também explorado politicamente. Por isso a imagem dos gestores que decidiram contratar o desenvolvimento do software será sempre afetada pelo sucesso ou insucesso do projeto.

Por esses motivos ninguém quer cancelar um projeto após vários meses de trabalho. Além do investimento financeiro, existe o tempo das pessoas, o desgaste político e psicológico de um projeto mal sucedido, e o atraso no planejamento estratégico da empresa que terá de começar tudo novamente com outro fornecedor. Por isso que, muitas vezes, mesmo quando os prazos e custos estouram, as contratantes costumam manter os contratos dizendo algo como “já vim até aqui, agora tenho de concluir”. Não deve ser assim. As empresas acabam pagando muito mais do que imaginavam inicialmente, esperando mais tempo do que o previsto, recebendo um software aquém do que ela poderia ter, por conta dos atropelos típicos de um projeto que já começa estourado. Ao final, a empresa executa um projeto com prazos e custos que jamais aprovaria inicialmente, se desgasta com a relação, não usufrui de todos os benefícios esperados com o novo sistema, e acaba percebendo o serviço de desenvolvimento de software como algo caro e problemático.

Do outro lado, a empresa de TI sai com uma imagem de ineficiência e incompetência, apesar de muitas vezes ter trabalhado mais do que o contratado, visando conseguir entregar um software de complexidade subestimada, achando inclusive que o cliente pediu mais coisas do que tinha sido conversado inicialmente (geralmente as funcionalidades descritas nos contratos são bem superficiais, dando margem a diferentes interpretações, e os clientes não tem total clareza do que necessitam). Em resumo, todo mundo sai insatisfeito, e o aparente bom negócio se mostra um erro. Com sorte, no final haverá algum software funcionando, e uma satisfação longe da esperada inicialmente.

O problema é que os gestores parecem não ter ouvidos para o fato de que os sistemas de informação podem agregar muito mais valor aos seus negócios do que tem experimentado, se forem pensados e construídos muito cuidadosamente, alinhando as necessidades e expetativas dos usuários e stakeholders, e construindo coisas que realmente agregam valor ao seu negócio, ao invés de apenas cumprir contratos. É claro que isso pode exigir investimentos altos, mas se iludir com serviços aparentemente mais vantajosos, muitas vezes, ao final, acabam gastando esse dinheiro alto – que jamais aprovariam inicialmente, e prejudicando todo o processo de desenvolvimento, comprometendo o resultado.

O que estamos defendendo são relações comerciais francas e saudáveis, estruturadas com contratos de escopo negociável, organizado em fases que permitam uma avaliação dos resultados através de entregas parciais usáveis (geralmente subsistemas). Acreditamos em uma relação de parceria com o cliente que nos permita construir o software alinhado à sua estratégia, que realmente faça a diferença para o seu negócio, e confiando que a satisfação com os resultados é a garantia de continuidade do serviço. Essa é uma relação saudável, onde todos ganham.

Por isso, acredito que seja melhor prometermos menos e fazermos direito. Pois lá na frente colheremos os frutos de uma boa reputação.