Como lidar com um sistema legado, lento e caro?

Boa Tarde pessoal.

Os diretores da empresa que trabalho simplesmente compraram um sistema monstruoso e caro, sem ao menos consultar os gestores da área de ti. O sistema é feito em uma linguagem obsoleta e toda sua regra de negócio está embutida no seu banco de dados, que é gigantesco, pesado e sujo!

O problema é que agora esses mesmos diretores que fizeram isso, querem relatórios em tempo real e tudo mais.

Qual a melhor saída? Temos conhecimentos em novas tecnologias e vontade de aprender, mas lidar com toda essa tranqueira, banco de dados proprietário (complica o processo de desenvolvimento em tecnologias como ruby por exemplo), não é tão fácil assim!
Existem consultas que levam em torno de 5 minutos para responder, e não a nada que podemos fazer porque o sistema nem ao menos é nosso!

Se eles compram fácil assim, me da o nome da empresa que eu tenho um ótimo pra vender pra eles :stuck_out_tongue_winking_eye:
Brincadeiras a parte, infelizmente é assim mesmo que funciona.

Conheço muitas empresas que dizem Sim pra tudo quando o departamento comercial implanta uma ideia sem pé nem cabeça, mas quando a TI opina, não é nem ouvida.
Nesse tipo de situação, você como TI, deve ser muito transparente. Informar que o sistema é ruim, que leva tempo pra desenvolver, e que talvez não foi um bom negócio. Não tem outra solução.
Mostrar em prática o quão o sistema é ruim também é uma alternativa, uma vez que diretores não tem muita noção sobre tecnologia,s querem apenas resultados.
E não é novidade nenhuma para quem está acompanhando as novas tecnologias, ver por aí sistemas arcaicos, mal feitos, velhos, com linguagens e bancos ruins, mas que se mantem no mercado devido a grande quantidade de clientes que ainda utilizam.
Não culpo a empresa que desenvolve, porque esse tipo de empresa gastaria muito tempo e dinheiro refazendo o sistema em novas tecnologias, teria que dividir as equipes, repensar a engenharia, aplicar novos conceitos, e eles nem tem tempo pra isso, chega um estágio onde as equipes ficam anos apagando o fogo, corrigindo bugs, personalizando para clientes, e etc… Então a única saída, é manter o sistema nessas linguagens e vendendo, e quem compra, aguentar o ferro.

3 curtidas

infelizmente temos que saber lidar com isso no mundo de ti corporativa. É muito comum encontrar sistemas legados e com tecnologias obsoletas. Porém, nada impede de inovar nos sistemas legados. isso deve ser feito aos poucos e com cuidados.

No seu caso só há uma saída TUNNIG no Banco de dados.

Já que a empresa comprou o software agora é tocar pra frente. Qual o Banco de dados?

*Meu caso

Eu vivo um caso parecido, trabalho numa empresa que existem softwares muito antigos, mas funcionais. O problema é que os programadores que criaram o software foram pouco-a-pouco saindo da empresa e as regras continuaram evoluindo. Como esses software é muito importante e havia um certo medo de altera-lo começaram a migrar as regras via Banco de dados. Enfim.

Você vai precisar de um bom DBA e um bom servidor de banco de dados.

Se puder, se planeje pra sair da empresa. Se não quer, como falaram foque em otimizar o banco e programar no banco, com Views por exemplo pra produzir os relatorios.

1 curtida

Como já falaram, faça um planejamento pra sair fora dessa empresa. Essa empresa só irá te limitar no seu “desenvolvimento”.

2 curtidas

Pode-se refazer, aos poucos, as funcionalidades fora do banco, em alguma tecnologia mais apropriada.
Caso os gestores não queiram pagar por isso, o ideal é fazer sem avisar. Cada implementação nova vira um pedaço do novo software, e quando eles ficarem sabendo, já estará ficando bom e será tarde de mais para reclamarem.

Acabaram de pagar pelo sistema “monstruoso e caro”, e refazer o que acabou de comprar no cenário que ele contou fica difícil. Pelo jeito veio goela abaixo, pois não consultaram eles.

As vezes tem questões políticas envolvidas que torna irrelevante o que pode ser realmente melhor. Por isso alguns como eu sugeriram para o cara se planejar em sair da empresa, se tiverem que lidar com um caos, já que é funcionário e não sócio para se matar pela empresa.

1 curtida

Ele falou que os donos da empresa pediram para processos de 5 minutos rodarem instantaneamente.
Isso é um sinal de que estão pedindo para TI da empresa colocar a mão no software.
Agora é só fazer o certo sem avisar! Vai refazendo as funcionalidades da forma correta.

Explicar o quanto o software é ruim ajuda. Infelizmente a maioria dos desenvolvedores não sabem fazer isso.

Fica difícil tirar maiores conclusões sem retorno do cara. Mas se uma diretoria acaba de fechar com parceiros a escolha de um sistema, passando por cima de gestores de TI, que poder teria essa TI? Se revertessem, tudo bem, o cenário seria outro. Mas pelo menos até o último post do cara, não passou esse feeling.

Fazer o certo sem avisar? Quem vai pagar pelo que não sabem do que estão fazendo? Normalmente se paga pra manter projetos orçados.

Como acabaram de firmar a compra, teriam que ao menos receber suporte pra ajudar a otimizar as consultas e fornecer interfaces para novas implementações, já que segundo ele o banco é proprietário.

Se fosse um cenário reversível, lógico que seria melhor “refazer” aos poucos e depois cancelar o contrato com o produto, só que de forma prevista.

A questão aqui não é entender a história triste da empresa, e sim debater possíveis soluções.
Pedir as contas é uma solução, simples e rápida. Mas não é a única. É besteira tentar adivinhar o que está ocorrendo lá, em detalhes, para falar “pedir as contas é a única solução”.

Hackear a forma de trabalho da empresa; o software; a hierarquia; as decisões; costuma ser uma ótima escolha! Todo programador deveria aprender a fazer isso. Não sei se é a melhor saída para o problema dele, ninguém sabe, mas sem dúvida é uma opção a ser considerada.
Não há empresa onde eu não agi contra a o status quo quando achei que ele atrapalhava o meu trabalho. De algumas empresas sai odiado, de outras amado, mas sempre sai fazendo a coisa certa: tentando construir softwares de qualidade e lutando contra burocracia burra.
Quem sabe fazer software somos nós, e não quem tem um cargo com um nome bonito.
O ponto é, “CODE ALWAYS”, grande frase do Erik Meijer

Por isso esta é uma boa opção para ser avaliada quando temos um problema, ainda mais quando é a empresa que estagna a existência de um bom software.

Ta ai um dos grandes defensores disso:

Estava tratando o caso real do tópico, tudo bem você expor sua visão ou seus casos.

Essa questão de “hackear forma de trabalho e hierarquia” é utopia na maioria das grandes empresas.

Olá pessoal, fico grato a todos que responderam o meu tópico, vou tentar quotar um por um e não deixar ninguém sem resposta:

SQLSever.

Acho que meu tempo dentro dessa empresa realmente está acabando. Hoje deve ter em torno de 2000 views para relatórios.

Todos os dias sinto que estou limitado aqui dentro.

Isso já meio que foi proposto a diretoria, pois existem coisas dentro do sistema que não se adequam as nossas regras de negócio. Foi negado veemente.

Na verdade o que parece é que o setor de ti está apenas como um “testa de ferro” da empresa que vendeu o sistema. A empresa que vendeu diz que dá para o relatório sair em 5 minutos, nós dizemos que não, a diretoria diz que nós estamos errados e fim.

Atualmente? Nenhum.