Aquela máxima não cola aqui.
Até nas melhores condições de temperatura e pressão, com concentração máxima e tudo a favor, a gente pode se embananar com o tanto de coisa envolvida no desenvolvimento.
Imagina então se você começa a ouvir e fazer o que o cliente pede, sem criticar… vai acabar criando um monte de problema que poderia ser evitado.
Tem desenvolvedor que fica com raiva porque sabe que aquilo não vai dar bom, mas faz para cumprir a ordem e devolve a responsabilidade pro cliente.
Outros tentam explicar as consequências e implicações daquela decisão, mas não conseguem convencer o cliente. Eu entendo totalmente essa dificuldade, e isso é realmente uma habilidade que precisa ser trabalhada por nós.
Vamos ter mais auto confiança, porra!
A gente, aqui me incluo e a maioria dos devs que conheço, costuma ter uma visão sistêmica das coisas; nem preciso explicar o porquê. A gente sabe que às vezes uma mudança que parece trivial, acarreta em problemas em outras partes do sistema como um todo.
E não estou falando só daquele efeito colateral que gera bugs… para isso temos os testes. Estou falando de coisas que a nossa intuição grita no ouvido:
“Se a gente fizer isso, vai…
- gerar dúvidas que o usuário final pode ter pela maneira que o sistema está comunicado;
- ficar difícil de usar porque quem demandou não compreendeu o real problemas do usuário final;
- vai encher a tela de coisas que são dispensáveis;
- gerar problemas de integrações com terceiros porque já sabemos como XYZ costuma funcionar;
- ficar difícil de rastrear problemas, não podemos sujar a ‘cena do crime’;
- vamos precisar refazer uma coisa que vai levar o triplo de tempo;
- gerar problemas de segurança da informação;
- causar problemas em performance da aplicação.”
Cara, são muitos detalhes quando estamos avaliando uma solução. E muitas coisas chegam institivamente porque as experiências que tivemos são sempre acumuladas e reaproveitas para os próximos projetos.
Experiência vale ouro.
Aí o cara vem e pede pra mudar uma coisa sem contextualizar, sem falar das motivações como se fôssemos simples executor de comandos… não é assim.
Certo, entendo que às vezes o cliente faz isso para “poupar” nosso tempo, principalmente quando acha que a nossa nora é cara. A questão é que ele pode estar tentando economizar palito ou, pior ainda, comprando uma dívida com juros altos.
Sei também que existe a intenação genuína de colaborar, afinal de contas, nosso trabalho é mesmo muito massa e contribuir com criação da tecnologia é uma sensação muito boa.
Acho inclusive que é importante fazer algumas coisas “desnecessárias” mas com a inteção de engajar as pessoas da empresas, que sugeriram algumas mudanças. Esse também é um ponto importante.
As pessoas que lidam com os usuários finais, que sabem o que acontece lá na ponta, ouvem reclamações e elogios, têm uma percepção muito mais apurada das dores e necessidades do produto. Precisamos sempre ouví-los.
Por outro lado, não estamos aqui só para programar.
Nós precisamos nos meter.
Se ele falar:
- “Tenho indícios que isso vai melhorar.” Pergunte quais.
- “É uma longa história, depois te explico”. Suspeite!
- “Acho que assim fica melhor.” Pergunte por que?
- “É que tem casos que isso e aquilo outro acontece.” Será uma mega exceção que estamos generalizando?
Diga não. Reflita. Tente entender o que se passa. Mude de ideia. Traga uma nova ideia. Converse.
A tendência com isso é encontrar soluções muito melhores, pois você vai estar casando a experiência do cliente com a expertise técnica. Isso é que é massa!
Ficar aceitando tudo, engolindo coisas sem sentido e reclamando com as paredes não vai ser bom para ninguém.
Então, bora ser mais seguros e confiar no nosso taco. Estamos aqui para colaborar, nossa entrega não é só código.
É isso! Falou.
PS: Se você trabalha em uma grande empresa e não precisa se preocupar com decisões sobre o que fazer pois tem trocentas pessoas gerentes de alguma coisa, analista de negócios, P.O, “pererê parará”, desculpa, mas isso pode não fazer sentido pra você. A minha escola é de times pequenos, ágeis e com o mínimo de telefone sem fio.