Hoje eu fui adestrado

Uma experiencia nova para mim, que aparentemente é totalmente nonsense mas para mim serviu para mostrar que certas aplicações acabam por adestrando o usuario.  

Tenho um conjunto razoavel de usuarios de uma aplicação que está sendo migrada para outra plataforma, onde o codigo antigo é terrivel, mal escrito, dificil de compreender e não tem documentação alguma.  Depois de um tempo batendo cabeça, decidi que era melhor perguntar o que o usuario fazia e o que ele esperava em vez de ler o codigo antigo. Praticamente eu troquei o port por uma reescrita.

Essa aplicação basicamente manipula tabelas de dados, e uma das operações era:

  • Escolher uma data num dropdown
  • Escolher uma outra flag de fornecedor
  • Enviar

Na aplicação antiga havia uma opção a mais no dropdown, “Hoje”. Porém havia a data de hoje no formato dd-mm-aaaa. Eu achei redundante e removi a opção hoje e ordenei as opções no drop down. Não passou minutos até os usuarios começaram a reclamar.

Sumiu minha opção hoje.

Tudo bem, eles estavam acostumados então eu a coloquei de volta, mas não demorou muito e os usuarios reclamavam:

A opção hoje não mostra todos os dados de .. hoje.

De fato eu pedi para que o usuario escolhesse a data de hoje usando a data no dropdown e eles disseram o que me assustaria:

Quando eu escolho pela data está ok, ela mostra hoje, mas quando escolho hoje ela não mostra tudo.

Hein? WTF?

De fato quando eu fui olhar o codigo fonte da antiga aplicação, ao escolher hoje, ela removia a variavel de data da query e mostrava todos os dias. Na verdade a opção hoje eram todas as datas! Não sei o que houve no começo mas aconteceu alguma coisa e basicamente hoje se tornou “Todas” e os usuarios se acostumaram com isso. Depois de um tempo errado se adestrou os usuarios com o significado completamente errado. 

Pode parecer simples ou bobeira, mas essas coisas se acumulam em kilos na aplicação antiga e de fato muitas poucas pessoas (na verdade só uma o gerente daquela area) sabe o que acontece de verdade, e o resto das pessoas são basicamente adestradas para editar e modificar algo sem entender direito o significado e pior sem sequer questionar se faz sentido ou não. Não é só engenharia de software envolvida, mas sim o fato que ninguem sabe exatamente o que está fazendo e tão pouco como estão ganhando dinheiro. Quando a “fonte secar” vão demorar muito a perceber pois estão adestrados ao processo e não conscientes.