Skip to content

Viaje leve, O cliente agradace!

agosto 10, 2010

Estive lendo esses dias o livro de Extreme Programming de Vinicius Teles , já tinha lido ele em 2006, mas acredito que é sempre bom reler um livro quando se tem uma maior visão/experiência sobre o assunto, acho que só tende a somar. Logo não consegui controlar a minha vontade de expressar meu total sentimento sobre um fator que eu acho de suma importância nas práticas do desenvolvimento de software: Feedback.

Um dos maiores problemas que eu costumo enfrentar em equipes é o foco no qual o serviço foi solicitado pelo cliente. Desenvolver seu software como principal objetivo lhe trazer lucros e benefícios. O que ocorre na prática são excessivos artefatos na tentativa de garantir que foi especificado e construído exatamente o que o cliente solicitou. Esquecem o objetivo trivial e com isso criam diversas formas de garantir com que a equipe não seja o responsável pelo retrabalho (não seria mudanças?), ser o responsável pelo fracasso de não atender exatamente o que o cliente precisa. (mas foi ele mesmo que pediu isso!).

Abraçe as Mudanças! Sim, diversas equipes criam contratos afim de garantir que as mudanças devem ser evitadas e que se ocorrerem, não será ela que irá pagar por isso! precisamos garantir isso, pois no final de tudo será preciso culpar alguém pelo erro. Devemos mesmo culpar quem errou? Ou melhorar afim de evitar o erro?  O ponto em questão é que na prática o cliente não sabe o que quer, e não adianta você tentar especificar e mostrar seus “prototipos” afim de que o cliente confirme: “É isso mesmo que você quer?”. Ok, isso reduz o ruído de interpretar um requisitos de forma errada, mas não acaba com o problema. Assim como a atividade de escrever um código, não basta a teoria , será preciso praticar e ter feedback dela para saber se exatamente isso lhe trás o retorno esperado.


Viaje leve! Como fazer isso?  Atentativa de especificar em diversos aterfatos o desenvolvimento do software afim de garantir as desejadas qualidades e garantias que aquilo está bem feito, são tão focadas que esquecem de entregar algo que realmente gere LUCRO  (sim, o cliente precisa de um software que lhe resolva seu problema afim de retornos lucrativos sempre!). E é isso que no final o software terá que atender. Agora vejamos em nosso “processo perfeito” esquecendo suas práticas ágeis, seu desenvolvimento waterfall e seus certificados de qualidade, O cliente deseja mesmo que tudo isso seja feito? Ou você está pegando o “suado” dinheiro dele e torrando com coisas que no final não irá lhe dá retorno algum?

Vamos falar um pouco sobre seus artefatos, você muito aficionado pela qualidade do serviço prestado, irá gerar uma ótima especificação a base de milhares de documentos onde guardam tudo o que o cliente falou e claro, não podemos esquecer de que ele assinou por isso! “SIM é isso mesmo que eu quero e vou pagar exatamente por isso”. Depois de uma garantia que nossas “bundas” estão protegidas podemos então partir para o nosso lado e desenvolver o produto com “a mais alta qualidade dos serviços prestados”, Então muito preocupado com essa qualidade passamos meses afim de encontrar a arquitetura perfeita, as melhores forma de reutilizar código (já vi muito framework caseiro saindo disso), montar aquelas coisas genericas que futuramente irão precisar e claro, isso tudo tem que está documentado! código? não basta! é preciso um documento que não seja necessário um desenvolvedor entender de código para codificar o projeto (WTF?).  O processo será rígido e terá fases bem definidas e tudo será bem controlado a base de horas, afinal de contas, Desenvolver software é tudo a mesma coisa, todo mundo irá fazer da mesma forma não importa o estado ou situação da equipe.

Quando o feedback estragou nosso sonho! Tudo muito lindo, muito bem documentado e com o reconhecimento de que estamos garantindo a qualidade que o cliente “merece”. Quando nos deparamos com o tempo… não temos um stop/play para isso, o cliente está olhando para seu relógio e torcendo para que a equipe entregue logo seu software e assim possa comecar a lhe trazer seu desejado retorno.

Hora de codificar! Começa a fase onde tudo vem a tona, a equipe começa a codificar tudo aquilo que foi especificado, mas começa a entrar o principal fator para saber se algo realmente funciona: O feedback , a equipe começa a ter feedback por parte do código que não foi a melhor solução escolhida para sua arquitetura e então será preciso mudar. (Mudar? mas nosso contrato foi definido afim de não ocorrer as mudanças!), Mas isso não pode ocorrer pois as horas estão contando! horas,  aquelas as quais o cliente está pagando e “doido” que passe logo para ter seu software. E o ciclo em alterar artefatos afim de atender o feedback do código é constante e muitas vezes percebe-se: Ou paramos de atualizar artefatos ou entregamos o software no seu prazo (ou atrasado). E lá se vai mais dinheiro descendo pela ralo, dinheiro que o cliente poderia ter investido de uma maneira mais lucrativa ou não?!

No final a equipe consegui entregar o projeto com todos os problemas ocorridos e um razoável atraso da entrega prevista, o cliente já pode ter o feedback de tudo que foi planejado desde o inicio. Feedback? isso mesmo, e no final o projeto acaba não gerando o retorno esperado pelo cliente, pois ele viu com o feedback que poderia ser feito de uma forma mais eficaz e até coisas que pareciam úteis já não fazia mais sentido após utilizá-lo. Esse é um dos pontos que costuma acontecer no fracasso dos projetos de TI e não sou eu que estou afirmando isso.

Viajar leve é isso, fazer com que você evite dolorosos trabalhos aparentemente útil porém pouco necessário quando se precisa. Em minhas experiências em diversos projetos pude perceber que nunca voltavamos a olhar para todo aqueles documentos criados para “auxiliar” o desenvolvimento. Muito desses artefatos que cria uma falsa qualidade para o software acaba gastando tempo e na maioria das vezes ficando defasado após o constante feedback que o código gera para a equipe.

Mantenha-se simples, entregue releases curtos, mantenha o feedback continuo, procure entregar sempre o VALOR REAL para o cliente. Quando for construi um software pense bem nisso, pense se está gastando corretamente o dinheiro do seu cliente e se o que você está fazendo irá mesmo lhe dá retorno do seu investimento. O cliente agradace!

From → Sem categoria

One Comment
  1. Obs.: Everton, normalmente leio os feeds em casa ou de manhã cedo, e não no meio do turno…

    Sim!

    Lendo o livro “Caindo na Real” da 37signals, eu destaquei a seguinte expressão: “Receba feedback real. Então aprimore baseado nessa informação.”

    Só vale ressaltar que o feedback dever ser passado a toda a equipe e o mais rápido possível. No mais é isso ae!

Deixe uma resposta

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

%d blogueiros gostam disto: