Respeite seu cliente! Mantenha compatibilidade entre versões.

Hoje tive uma surpresa extremamente desagradável. Temos um framework de uma empresa ˜conceituada” que é o responsável pelo core de um sistema crítico que temos aqui na empresa. A empresa responsável lançou recentemente uma nova versão deste framework que possui diversas coisas importantes que estavamos querendo a tempos. Então lá fui eu feliz e contente baixar a nova versão para colocar no projeto. Faço o download e vou ver o README.txt para ver como fazer a migração da versão antiga para a nova versão. Para a minha surpresa leio o seguinte:

“Esta versão é totalmente incompátivel com a versão antiga. Mudamos a API, mudamos as tabelas no banco de dados, ou seja, mudamos tudo. Ah, também não existe nenhuma ferramenta para ajudar na migração”

Ou seja, basicamente um “Dane-se você, se vira se quiser migrar”

Na minha opinião, isso é o cúmulo da falta de respeito com o seu cliente, que usa a sua ferramenta. Tá na hora das empresas entenderem que é uma obrigação manter a compatibilidade entre versões. Eu até entendo que existem mudanças que necessitam quebrar tudo, mas então, nesse caso, a empresa fornecedora deveria ter o dever de prover ferramentas e guias para orientar os clientes em migrações.

Estamos em uma situação delicadissima no projeto. Migrar versões em um projeto que é responsável pelo billing da empresa é sempre um drama. Nessa condições então, onde a empresa fornecedora lavou as mãos então.

Nesse aspecto, eu respeito bastante a Sun e a Oracle. Essas empresas sempre foram bem conservadoras em relação a compatibilidade, e com certeza, é por isso que elas são tão respeitadas e seus produtos atingiram sucesso. Um outro belo exemplo foi a migração de versões do WordPress, eu simplesmente apertei um botão e a ferramenta se atualizou sozinha.

Já essa empresa que faz esse framework que usamos no projeto sempre foi negligente em relação a mudanças de versões. Mesmo em mudanças de versões minors eles conseguem tornar suas ferramentas incompativeis entre versões! Mas enfim, paciência!

Meu objetivo nesse post é conscientizar os programadores a sempre atentarem para esse ponto. Em um momento que a integração entre sistemas, SOA, ganham força a cada dia, é importantíssimo mantermos compatibilidade quando atualizarmos nossos sistemas. Isso inspira confiança para o cliente do seu sistema/framework/API/serviço. É sempre preciso fazer o possivel e o impossível para isso. E no caso que realmente for imprescindível quebrar a compatibilidade, fazer tudo para ajudar o seu cliente e nunca ˜lavar as mãos˜.

Fica aqui meu desabafo!

One Response to “Respeite seu cliente! Mantenha compatibilidade entre versões.”

  1. Edson Pavoni says:

    Sistema é coisa de gente grande e tá na hora das médias empresas entenderem que se não pegarem pesado vão perder o bonde da história e vai lotar de software indiano aqui do nosso lado.

Leave a Reply