18/09/2013 | Autor: Igor Abade V. Leite | Categoria: Técnico | Comentários

"Eu terceirizo justamente para não ter preocupação com o projeto. Não tenho tempo para outra reunião"

Antes de falar sobre o título deste post, queria fazer uma pergunta: você já passou por uma reforma em sua casa? Ou então, já contratou alguém para construir uma casa para você?

Se você nunca passou por isso, acompanhe o seguinte raciocínio:

Imagine que você deseja construir uma nova casa em um terreno vazio que você já tem. Você não é um engenheiro nem um arquiteto, portanto não faz a menor ideia de como se constrói uma casa. Por isso, procura uma empresa especializada.

Como você não entende de construção, descreve o melhor possível como gostaria que sua casa ficasse – qual o tamanho, quantos cômodos, que tipo de material, cor da parede…

Depois disso, a primeira coisa que você quer saber é “quanto custa?” A próxima pergunta, certamente, vai ser “quando fica pronta?”

Agora, faça de conta que as respostas foram “duzentos mil reais, sendo cinquenta mil de sinal e o resto em três parcelas mensais” e “três meses”.

Você fica animado e decide seguir em frente. Vai ao banco e já transfere os R$ 50.000 de sinal. Aproveita e já deixa agendadas as próximas três parcelas, uma a cada trinta dias, tal como combinado.

Depois de passados os três meses, você vai até seu terreno para finalmente conhecer sua nova casa.

Notou algo de errado na estorinha acima? Se você já passou por uma obra, certamente sabe do que estou falando.

Como assim, “depois de passados os três meses, você vai até seu terreno para finalmente conhecer sua nova casa”?!?! Você conseguiria ficar tranquilo sem visitar a obra? Claro que não! Tenho certeza que você iria, ao menos, uma vez por semana conferir o andamento dos trabalhos – isso se não aparecer por lá todo dia! Afinal, quem garante que as paredes estão no lugar que você gostaria? Ou que o material usado é aquele que você escolheu? Se você esperar a casa ficar pronta para só depois conferir o trabalho, corre o risco de jogar todo seu dinheiro fora!

Agora, vamos à pergunta de um milhão de dólares: se você nunca deixaria uma obra desacompanhada, por que cargas d’água você acredita que com software seria diferente?!

. . .

Não é de hoje que isso acontece. E não é de hoje que projetos falham por causa disso. É realmente frustrante a quantidade de vezes que ouvimos clientes dizerem, com a cara mais deslavada do mundo, que “eu terceirizo justamente para não ter preocupação com o projeto. Não tenho tempo para outra reunião.” Principalmente porque são justamente esses os cliente que vão chegar no final do projeto e dizer “mas não foi nada disso que eu pedi!”

“Mas eu não vivo de TI. Software, para mim, é apenas um meio para o meu negócio”

Sim, meu amigo desenvolvedor: eu sei que isso soa beeem familiar para você. Sabe aquele cliente que diz que não entende nada de programação, que “o que me interessa é <fabricar/vender/prestar serviços/qualquer outra atividade>” e que, portanto, quem tem que se virar para fazer o software é você? Pois é… A única coisa de que ele se esquece é que quem contrata consultorias para desenvolver software para sua empresa e não participa ativamente dos projetos, não tem direito de dizer que “a consultoria não presta.” O cliente é tão responsável pelo resultado do projeto quanto o time que está desenvolvendo o software – tal como na metáfora da construção da casa.

Como desenvolvedor, eu não espero que meu cliente entenda de programação. Da mesma maneira, um médico não espera que seu paciente entenda de medicina. Tanto o cliente quanto o paciente têm algo em comum: ambos tem um problema e não fazem ideia de como resolve-lo e, por isso, procuram um profissional especializado que saiba lidar com essa situação. Porém, sem feedback constante do paciente, um médico dificilmente conseguirá ter pleno sucesso no tratamento. Com o cliente não é diferente.

Colaboração com o cliente mais que negociação de contratos

Práticas ágeis de desenvolvimento não surgiram do nada, nem são uma “modinha”. Elas têm uma razão de ser. E o mais interessante: elas não foram “inventadas”, mas são simplesmente um registro formal do senso comum. Baseados em sua observação de inúmeros projetos de software, aprendendo com seus sucessos e falhas, os signatários do Manifesto Ágil nos lembram que “pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto” pois, de outra forma, o projeto estará fadado ao fracasso!

Quer um sinal claro de que as coisas começaram errado na relação cliente-desenvolvedor? Se há a necessidade de se criar documentação extensiva que é anexada ao contrato como forma de se “proteger” do cliente, então pode apostar que essa relação pode azedar a qualquer momento, afinal está baseada na premissa da desconfiança mútua. Quando há colaboração constante entre cliente e desenvolvedor, com um ciclo de feedback franco e transparente, cria-se uma relação de confiança que permite, entre outras coisas, melhorar a qualidade do entendimento e por conseguinte a qualidade do que se entrega.

E você? Como tem lidado com esse relacionamento cliente-desenvolvedor? Se você está (ou esteve) no papel de cliente, de que modo se relacionou com seus fornecedores? Se você é um desenvolvedor, como é o envolvimento e comprometimento dos seus clientes? Compartilhe sua experiência nos comentários!

Um abraço,
Igor