Sobre concreto, lâmpadas e softwares

Por Matheus Araújo|
Atualizado: Jun 2021 |
Publicado: Jul 2017

Há um tempo falamos aqui no blog sobre mesas e softwares. Naquela ocasião dissemos que softwares são como mesas, constroem seu sentido à medida que sua utilidade é definida.

Dessa vez, vamos comparar softwares a velas e lâmpadas.

E para que essa comparação faça sentido, vamos usar o case de um dos nossos clientes.

Nosso cliente tem um problema bem interessante: ele presta serviços de concretagem. E pela natureza do concreto, sua produção deve iniciar pouco tempo antes de ele ser aplicado na obra. E o momento de ser aplicado na obra é definido por uma série de questões da própria obra.

O início dessa produção acontece nos silos que ficam nos chamados pontos de carga. O concreto é então levado até a obra por caminhões betoneiras, que o tempo todo vão movendo a mistura de cimento, água, areia, brita e outros aditivos. O caminhão então chega na obra, aplica o cimento, e volta para o ponto de carga para fazer uma nova viagem.

Quando você precisa atender a uma obra, esse processo não é tão complicado.

Quer ver mais conteúdos como esse?

O ponto é que nosso cliente atende a muitas obras ao mesmo tempo.

Cada obra precisa do concreto em um determinado horário; muitas vezes, várias obras no mesmo horário. E durante o dia essa necessidade pode mudar por várias questões que são difíceis de prever. A quantidade de caminhões betoneiras é limitada, claro. AH! E existem diferentes pontos de carga espalhandos pelas cidades também, outra variável para o problema.

Esse é um problema de otimização clássico. Queremos atender ao maior número de obras possível, utilizando o menor número de betoneiras, saindo dos pontos de carga mais próximos.

Bom, explicado o problema do nosso cliente, o problema que nós fomos resolver não foi exatamente esse. Pô, sério!? Sim, esse já estava resolvido. Nosso cliente tem um software que faz essa otimização.

O problema que ajudamos nosso cliente a resolver foi o da interface com esse software otimizador.

E aqui fica um aprendizado.

Boas interfaces são tão importantes quanto bons códigos. E não estamos falando apenas de botões bonitinhos com cores que combinam. Estamos falando de interfaces que sejam simples, intuitivas e completas para seus usuários.

Legal. Mas e as velas e lâmpadas?

Bom. Velas e lâmpadas de maneira geral resolvem o mesmo problema: iluminar.

Na história da humanidade, as velas surgiram primeiro, fala-se em 50 mil anos antes de Cristo. Já a lâmpada incandescente, é do século XIX.

Não foram quase 52 mil anos de evoluções constantes e sequenciais que transformaram gordura animal com fibra de plantas em um filamento de tungstênio dentro de um bulbo com gases inertes. Foi uma sacada instantânea e utilizando meios bem diferentes dos originais.

Construir software, às vezes, é um pouco disso, você precisa se abster do pensamento corrente pra enxergar o problema por uma nova ótica e propor uma nova solução.

E foi isso que nós fizemos, durante duas semanas fizemos um Design Sprint com os envolvidos no sistema que iríamos modificar e reconstruímos toda a interface.

Os usuários finais estão bem felizes com a solução que propusemos e implementamos.

P.S.: Pra quem ficou curioso sobre as tecnologias que implementamos no código, há esse projeto no GitHub com um fonte usando a mesma arquitetura.

Quer saber mais?