Empresas antigas podem possuir vícios graves no desenvolvimento de sistemas.

Artigo: Você sabe a diferença entre uma empresa com mais tempo de mercado e uma empresa iniciando?

É normal ver por ai empresas com mais de dez anos no mercado esbanjando seus anos de existência, passando a imagem de que o fato delas existirem a tanto tempo é sinal de confiança e qualidade. Isso pode até ser bem verdade em outros ramos, mas será que na Engenharia de Software isso também é verdade?

A Engenharia de Software ainda é uma engenharia nova e o desenvolvimento de sistema esta sempre passando por modificações devido as atualizações das tecnologias envolvidas nesse processo. Na década de 90 era normal desenvolver sistemas sem ser orientado a objetos (um paradigma de desenvolvimento de sistemas), hoje em dia ainda temos muitos sistemas sendo feitos sem ser orientado a objetos e outros são parcialmente. É como se ainda hoje estivessem fabricando carros com carburador ao invés da injeção eletrônica.

Coisas antigas e tecnologias antigas que estão em desuso. Mas você sabe por que ainda existem empresas que desenvolvem sistemas sem ser orientado a objetos? Porque construir o sistema de qualquer jeito é mais rápido! No caso das empresas antigas ainda tem um agravante, seus sistemas foram criados no milênio passado, com tecnologia antiga, sem os recursos modernos, paradigmas e técnicas necessárias para um sistema de qualidade. Até hoje ainda não é comum se falar em Arquitetura de Software nas empresas de desenvolvimento de sistemas, imagina falar em Arquitetura de Software na década de 90?

As empresas mais antigas criaram seus sistemas em uma época em que a internet estava surgindo no Brasil, pode-se dizer assim, uma época em que os sistemas executáveis dominavam o mercado, você tinha que instalar o sistema nos computadores da sua empresa. Hoje esses sistemas estão sendo substituídos pelos sistemas web, a internet e os navegadores evoluíram muito de modo que hoje é possível fazer coisas com sistemas web que ninguém acreditaria que seriam possíveis na década de 90.

O que as empresas antigas fizeram para manterem seus sistemas antigos nos dias atuais? Muitas delas migraram seus sistemas desktop para sistemas web. Fica então uma dúvida, será que nesse processo de recodificação do sistema para uma tecnologia nova os códigos foram atualizados também com os novos paradigmas, técnicas, padrões de projeto e arquitetura? Ou será que simplesmente manteram o mesmo código antigo, porém numa nova tecnologia que permite criar um sistema web? Infelizmente a maioria das empresas fizeram isso, sabe por que? Porque é mais rápido e mais barato! O motor antigo do carro ano 90 ainda funciona, então vamos colocar esse mesmo motor em um novo carro 2015, o carro estará lindo por fora, mas e por dentro? Será que um motor construído na década de 90 é tão bom e seguro quanto um criado em 2015 com novas tecnologias? Enfeitar uma carroça e deixá-la linda por fora não muda o fato dela ainda estar se movendo de forma antiga.

A comparação do carro (Engenharia Mecânica) com o software (Engenharia de Software) neste caso serviu como um bom exemplo. Empresas antigas na maioria dos casos possuem sistemas antigos criados em épocas que não tínhamos os recursos que temos hoje. Mas em que isso impacta na vida de um cliente que comprou um sistema desses? Com aparência de moderno, web, porém com códigos antigos e sem qualidade? Justamente essa palavra, “qualidade”. São sistemas que vivem dando problemas, os programadores que trabalham nesses sistemas não o entendem muito bem e acabam criando códigos as vezes piores do que os antigos que já existiam ali. Quando um funcionário é demitido da empresa o novo que chega não entende nada direito do código e perde muito tempo tentando entender como o sistema foi criado para então começar a produzir algo no sistema, e advinha quem esta pagando por esse tempo que o novo programador esta perdendo tentando entender o código? Você, o cliente que comprou o sistema de uma empresa que existe a vários anos no mercado.

"Enfeitar uma carroça e deixá-la linda por fora não muda o fato dela ainda estar se movendo de forma antiga"

Na Engenharia Mecânica, Engenharia Civil e muitas outras é normal existirem plantas dos projetos antes deles serem construídos. Mas e na Engenharia de Software? Sim, nós temos algo chamado UML. A UML é uma linguagem de modelagem criada para servir como documentação no processo de construção de um software, também usada para ajudar na manutenção do mesmo. Além da UML, documentações criadas em arquivos de texto como o Microsoft Word também são de grande valia.

Infelizmente criar e manter sistemas sem documentação é a dura realidade das empresas que desenvolvem sistemas, principalmente as empresas antigas que foram fundadas numa época que pode-se dizer que não existia a UML. Sistemas sem documentação, códigos mal feitos e sem padrão é a realidade. Atualmente a situação é tão grave que fazer “gambiarra” nos sistemas esta se tornado cada vez mais normal e tem muito programador que se orgulha disso. Quem não trabalha com desenvolvimento de sistema provavelmente nunca ouviu falar em XGH. Carlos Tristacci, anos atrás, escreveu um artigo para mostrar as pessoas como muitas empresas trabalham, Infelizmente esse artigo não existe mais, porém temos uma cópia do texto no link abaixo:

XGH - eXtreme Go Horse

Todas as empresas antigas são assim? Claro que não, em algum lugar deve existir uma empresa que soube trabalhar e manteve seus sistemas dignamente atualizados, entretanto, a grande maioria trabalham assim.

E a Mestresoft? Como esta em meio a isso?

Designed by rawpixel.com / Freepik

A Mestresoft é uma empresa nova, projetada em 2004, planejada em 2011, iniciada em 2014 e formalizada em 2016 sob o CNPJ 25.001.271/0001-92. Muito antes da empresa nascer já existia planejamento para ela. Seu surgimento não foi fruto de uma ideia criada do nada. Antes do primeiro sistema da Mestresoft ter sido criado seu fundador já era formado e pós-graduado em desenvolvimento de sistemas.

A empresa já conhecia a dura e triste realidade do mercado, logo, seus sistemas já foram criados com o melhor das tecnologias, com os melhores processos, melhores padrões de projeto, sistemas 100% orientados a objetos e sistemas desenvolvidos com o padrão arquitetural MVC.

O foco principal da Mestresoft é a Qualidade de Software, uma das áreas da Engenharia de Software. Acreditamos nos nossos sistemas porque sabemos que eles foram criados com técnicas, padrões, arquitetura e paradigmas modernos. Nossos sistemas não são sistemas criados nos primórdios da Engenharia de Software com códigos “remendados” para existir até hoje. Ainda que a Mestresoft tivesse surgido nos anos 80 ou 90, com certeza nossos sistemas teriam sido recriados do zero, para assim asseguramos que eles possuem o melhor do mercado nos dias de hoje, garantindo assim que nossos sistemas possuem qualidade.