Não Migramos mais Sistemas e sim Reconstruimos em outra Tecnologia

26 respostas
Marcio_Duran

Gostaria de abrir esse assunto, da seguinte maneira:

Existe uma imensa mudança e um enxame de tendências e tecnologias que estão inundando a todos, digo isso porque não para mesmo as soluções que tecnologias hoje já são plugins de arquiteturas e frameworks já auto programado para fazer tudo por você bastando entender somente o domínio do projeto ou o workflow projetado para povoar com novas features e sai ai rodando toda uma aplicação, o problema de tudo isso é que não são feitos os devidos mapeamentos e processos e a falta de manutenabilidade para testes continuado na aplicação torna-a totalmente desencorajada para qualquer desenvolvedor que pensa em implementação.

Pensando nisso a forma de desenvolvimento para orientar melhor o projeto nessas condições percebo uma outra lógica de se fazer algo melhor funcionar do que ficar a abstrair algoritmos totalmente indecifráveis e fora do contexto.

Então desenvolvimento começa pela total negação que é adversa a tudo que é hoje especificado, a migração precisa ser total de algoritmo até a modelagem, então pergunto como fazer tal avaliação de sistema não seria mesmo o caso de fazer outro do zero, ou estamos fazendo reuso maquiando algo que estamos na verdade reconstruindo.

26 Respostas

victorwss

Não entendi esse parágrafo. Poderia explicar melhor?

Marcio_Duran

victorwss:
Marcio Duran:

Então desenvolvimento começa pela total negação que é adversa a tudo que é hoje especificado, a migração precisa ser total de algoritmo até a modelagem, então pergunto como fazer tal avaliação de sistema não seria mesmo o caso de fazer outro do zero, ou estamos fazendo reuso maquiando algo que estamos na verdade reconstruindo.

Não entendi esse parágrafo. Poderia explicar melhor?

Todo o legado de uma aplicação é ligado ao que já tem injetado algoritmos e modelagem que está entrelaçado com sua arquitetura e limitação tecnologica, que na certa qualquer se seja a migração vai ser de uma incompatibilidade descomunal, não seria o caso de refazer o sistema do zero, com as novas tecnologias que temos hoje não seria mais rápido e limpo de problemas.

Pra que complicar ?
Acho que você faz o mesmo sistema em menos tempo refazendo-o do zero, do que tentar uma migração de uma geração tecnologia que não atende a mesma especificação atual, pior ainda os modelos de padrões de projeto já estão a anos luz sobre a otica de desenvolvimento com outras adoções, por exemplos discutimos aqui, TDD, DSL, DDD, entre outros estilos de desenvolvimento avançado entretanto isso não é compativel pois visam uma forma de desenvolvimento que não é o que temos hoje, e pior ainda não é visivel por muitas corporações,é mais sim algo futuro a se adotar.

J

Pra mim podem lançar todo e qlqr tipo de api. No meu caso, não tem muita importância, já que trabalho desenvolvendo aplicações para hardware. Se tiver necessidade de api, eu mesmo me viro aqui fazendo uma.

Marcio_Duran

Se você trabalha com computação embarcada isso é outro mercado, não é disso que estou falando mas sim de projetos que envolvem aplicações cujo o processo é algo que envolva um numero maior de responsabilidade com pessoas e seus departamentos em um sistema de aplicação distribuida seja ambito financeiro, comercial.

Marcio_Duran

“SISTEMA LEGADO !!!”, MIX DE CONFUSÃO CVS, DESCONTROLADOS !!! A MIGRAÇÃO QUE NÃO DEU CERTO ???

Marcio_Duran

“PÓS-LEGADO”, NOVAS ADOÇÕES AMBIENTE ÁGIL REQUISITOS ALINHADOS

Marcio_Duran

:stuck_out_tongue:

aleck

Então se eu possuir um sistema desenvolvido em Java 1.3 devo criar outro sistema e não migra-lo para a versao atual?

Concordo que muitas vezes nao vale a pena a migracao, porem nao me atrevo a generalizar desta forma.

Nem tudo é tudo.

maior_abandonado

aleck:
Então se eu possuir um sistema desenvolvido em Java 1.3 devo criar outro sistema e não migra-lo para a versao atual?

Concordo que muitas vezes nao vale a pena a migracao, porem nao me atrevo a generalizar desta forma.

Nem tudo é tudo.

é…concordo…

pra tudo tem um meio termo, não da pra fica re-escrevendo aplicação toda hora que surgir uma nova linguagem da moda, por outro lado certas coisas devem ser re-escritas do zero resolvendo varios problemas por que isso pode ser mais vantajoso, facil, do que fica dando manutenção na antiga…

isso é uma das coisas que mais me desencoraja a aprender linguagens criadas por certa empresa cujo não quero citar o nome, surje uma nova linguagem, algo de diferente, então o que se tinha antes é simplesmente abandonado… e com isso as pessoas que utilizavam essa linguagem e perderam suporte…

talvez essa seja uma visão meio leiga, tem mto mais detalhes ai no meio, mais de um modo geral, é assim que a coisa parece acaabr funcionando na pratica… tendo que re-escrever tudo do zero por causa de incompatibilidade.

B

Construir do zero envolve mais riscos que “evoluir” um sistema, mesmo que a base desse sistema esteja podre.

Fora que evoluir é mais rápido que reconstruir. Gerentes sempre querem tudo pronto para ontem.

maior_abandonado

infelizmente nem sempre… tem mta pog por ai que da mó trabalho simplesmente fazer funcionar porcamente, e logo vai da mais problema… ai se perde mto tempo com isso…

L

Não se refaz um sistema do zero, nunca!. Por mais cômodo que a reconstrução possa parecer, ela traz riscos enormes como: reavivar bugs já sanados no sistema antigo; ficar muito tempo com poucas features; e pior, acabar com um novo sistema tão ruim que precisa de uma “nova reconstrução”.

Mesmo sendo chato, crie maneiras do legado se comunicar com novos sistemas. Só que existem jeitos corretos de se fazer isso, que usam web services e ESB, e existem jeitos que levam a falhas, que normalmente são integrações ad-hoc e pouquíssimo planejada. O que não dá é achar que integração sempre é ruim, e que ficar reinventando software a toda hora é bom.

Marck

[quote=maior_abandonado]

aleck:

isso é uma das coisas que mais me desencoraja a aprender linguagens criadas por certa empresa cujo não quero citar o nome, surje uma nova linguagem, algo de diferente, então o que se tinha antes é simplesmente abandonado… e com isso as pessoas que utilizavam essa linguagem e perderam suporte…

Concordo com você.
Não faz muito sentido reescrever rotinas da contabilidade que nunca mudam, simplesmente por falta de compatibilidade entre versões da linguagem.
Lí um texto uma vez, e concordei, que dizia que o setor de TI, não é mais algo que dá vantagem. O autor dizia que o TI(não estou generalizando) apenas fornece dados desprovidos de informação. Então, o tempo que passaríamos reescrevendo algo, poderíamos ter evoluído o que já funciona.

Marck

maior_abandonado:

isso é uma das coisas que mais me desencoraja a aprender linguagens criadas por certa empresa cujo não quero citar o nome, surje uma nova linguagem, algo de diferente, então o que se tinha antes é simplesmente abandonado… e com isso as pessoas que utilizavam essa linguagem e perderam suporte…

Concordo com você.
Não faz muito sentido reescrever rotinas da contabilidade que nunca mudam, simplesmente por falta de compatibilidade entre versões da linguagem.
Lí um texto uma vez, e concordei, que dizia que o setor de TI, não é mais algo que dá vantagem. O autor dizia que o TI(não estou generalizando) apenas fornece dados desprovidos de informação. Então, o tempo que passaríamos reescrevendo algo, poderíamos ter evoluído o que já funciona

aleck

Leonardo3001:
Não se refaz um sistema do zero, nunca!. Por mais cômodo que a reconstrução possa parecer, ela traz riscos enormes como: reavivar bugs já sanados no sistema antigo; ficar muito tempo com poucas features; e pior, acabar com um novo sistema tão ruim que precisa de uma “nova reconstrução”.

Mesmo sendo chato, crie maneiras do legado se comunicar com novos sistemas. Só que existem jeitos corretos de se fazer isso, que usam web services e ESB, e existem jeitos que levam a falhas, que normalmente são integrações ad-hoc e pouquíssimo planejada. O que não dá é achar que integração sempre é ruim, e que ficar reinventando software a toda hora é bom.

Novamente generalização.

Como disse anteriormente, existem casos e casos. Muitas vezes a evolução cria riscos maiores que a criação de novos sistemas. A tecnologia que os sistemas antigos foram construidos muitas vezes não atendem a necessidade do cliente, cabe ao desenvolvedor saber quando optar pela construção de novos sistemas, ou pelo menos opinar junto aos seus gestores.

L

aleck:
Leonardo3001:
Não se refaz um sistema do zero, nunca!. Por mais cômodo que a reconstrução possa parecer, ela traz riscos enormes como: reavivar bugs já sanados no sistema antigo; ficar muito tempo com poucas features; e pior, acabar com um novo sistema tão ruim que precisa de uma “nova reconstrução”.

Mesmo sendo chato, crie maneiras do legado se comunicar com novos sistemas. Só que existem jeitos corretos de se fazer isso, que usam web services e ESB, e existem jeitos que levam a falhas, que normalmente são integrações ad-hoc e pouquíssimo planejada. O que não dá é achar que integração sempre é ruim, e que ficar reinventando software a toda hora é bom.

Novamente generalização.

Como disse anteriormente, existem casos e casos. Muitas vezes a evolução cria riscos maiores que a criação de novos sistemas. A tecnologia que os sistemas antigos foram construidos muitas vezes não atendem a necessidade do cliente, cabe ao desenvolvedor saber quando optar pela construção de novos sistemas, ou pelo menos opinar junto aos seus gestores.

Vamos ter foco. Se o sistema antigo não atende a necessidade do cliente, é um sistema diferente e não apenas uma migração. Agora, quando se faz reescrita de sistemas novos apenas pelo desejo de migrar para uma nova tecnologia, os malefícios superam os benefícios, na maioria dos casos.

Evolução cria riscos, reescrita também. Vai por mim, já participei de dois projetos de reescrita e o resultado final não foi satisfatório em ambos, simplesmente porque o novo sistema não era tão confiável quanto o sistema antigo.

Foi uma generalização que eu disse? Foi! O melhor termo é dizer: considere a reescrita como última opção, e pense primeiro em maneiras de continuar a usar o legado (talvez isolando-o em um façade para novos sistemas, sei lá).

aleck

[quote=Leonardo3001]

aleck:

Vamos ter foco. Se o sistema antigo não atende a necessidade do cliente, é um sistema diferente e não apenas uma migração. Agora, quando se faz reescrita de sistemas novos apenas pelo desejo de migrar para uma nova tecnologia, os malefícios superam os benefícios, na maioria dos casos.

Evolução cria riscos, reescrita também. Vai por mim, já participei de dois projetos de reescrita e o resultado final não foi satisfatório em ambos, simplesmente porque o novo sistema não era tão confiável quanto o sistema antigo.

Foi uma generalização que eu disse? Foi! O melhor termo é dizer: considere a reescrita como última opção, e pense primeiro em maneiras de continuar a usar o legado (talvez isolando-o em um façade para novos sistemas, sei lá).

Se for por experiência pessoal eu posso te garantir que já passei por “muitas” reescritas e nunca tive problemas, no pior dos casos o sistema não tinha nada de mais em relação ao antigo, porém não ficava mais na mão de um unico programador que sabia uma linguagem especifica.

Quantas pessoas você conhece que ainda procuram emprego relacionado a clipper? Visual Basic? Delphi?

O mercado muda, e se as empresas não acompanharem ficam escravas dos poucos que ainda se sujeitam a trabalhar com tecnologias ultrapassadas.

luistiagos

[quote=aleck]

Leonardo3001:
aleck:

Vamos ter foco. Se o sistema antigo não atende a necessidade do cliente, é um sistema diferente e não apenas uma migração. Agora, quando se faz reescrita de sistemas novos apenas pelo desejo de migrar para uma nova tecnologia, os malefícios superam os benefícios, na maioria dos casos.

Evolução cria riscos, reescrita também. Vai por mim, já participei de dois projetos de reescrita e o resultado final não foi satisfatório em ambos, simplesmente porque o novo sistema não era tão confiável quanto o sistema antigo.

Foi uma generalização que eu disse? Foi! O melhor termo é dizer: considere a reescrita como última opção, e pense primeiro em maneiras de continuar a usar o legado (talvez isolando-o em um façade para novos sistemas, sei lá).

Se for por experiência pessoal eu posso te garantir que já passei por “muitas” reescritas e nunca tive problemas, no pior dos casos o sistema não tinha nada de mais em relação ao antigo, porém não ficava mais na mão de um unico programador que sabia uma linguagem especifica.

Quantas pessoas você conhece que ainda procuram emprego relacionado a clipper? Visual Basic? Delphi?

O mercado muda, e se as empresas não acompanharem ficam escravas dos poucos que ainda se sujeitam a trabalhar com tecnologias ultrapassadas.

clipper ta praticamento morto… porem vb, delphi e principalmente cobol reinam e ainda reinarão por muito tempo… pelo menos em quanto o legado existir…

Marcio_Duran

Bruno Laturner:
Construir do zero envolve mais riscos que “evoluir” um sistema, mesmo que a base desse sistema esteja podre.

Fora que evoluir é mais rápido que reconstruir. Gerentes sempre querem tudo pronto para ontem.


Aqui você cai em uma contradição ao paradigma.Digo isso pois outras especificação estão ai e é uma realidade, tanto para Java como para novas tendencias ao Mundo OpenSource, a semântica de trabalhar com WEB é outra, ela é independente e atua já como um plug in para a arquitetura ou framework à serviços.Veja a python para a Plataforma Yahoo, é como uma linguagem que é um trilho para todos os Serviços e API´s.

O sistema legado já traz uma enorme vantagem de coleta de requisitos para o novo sistema. é como ele fosse uma documentação ou podemos dizer que ele passou a ser o prototipo que vai ser redesenhado para atender as novas adoções.

Você não evolui um sistema, você reconstroe isso sim, não tem como você evoluir o sistema é a mesma coisa que você me disser que o motor do Fusca foi a base para o motor de uma Ferrari, a forma e a metodologia aplicada ao recurso é totalmente diferente, porque a dimânica é outra.

É o que esta acontecendo a nossa dinâmica é outra, justamente pela necessidade de projetar soluções em menos tempo e com mais serviço possivel, e isso requer MODULARIDADE, você deve atendar a um novo consorcio “vamos colocar assim”, de entidades que vão trabalhar de forma totalmente nova para interfacear o que hoje é a WEB 2.O.

sergiotaborda

A frase “Não Migramos mais Sistemas e sim Reconstruimos em outra Tecnologia” é uma tautologia.
Quando vc migra o sistema , vc está implicitamente dizendo que está mudando de tecnologia.

Acho que o que vc queria dizer - e é o que está sendo discutido - é “Não Evoluimos mais Sistemas e sim Reconstruimos em outra Tecnologia”

Isso é meia verdade.

Hoje em dia é verdade que não evoluimos sistemas. A principal razão para isso é que eles não foram pensados para evoluir.
Pegue um projeto feito de forma agil. Vc tem o sistema pronto em 3 meses, mas a forma agil é baseada em cooperação de pessoas e comunicação entre pessoas sem usar nenhum artefato. Isso significa que quando as pessoas vão embora, ou esquecem do sistema, ele morre. Claro que vc pode escrever um documento de 1000 páginas descrevendo o sistema, o resultado será o mesmo.

O conhecimento de um software é conhecer o que eles faz pelo cliente, mas tb como ele faz isso. Caso contrário vc irá reinventar componentes do sistema simplesmente vc desconhece que eles existem. normalmente isso é mais verdade quando mais opções o sistema tem. Algumas não usadas já fazem o que se pretende, mas como ninguem as conhece, ninguem sabe que elas existem.

Então , todos os sistemas acabam sendo legado. E legado aqui não significa um sistema dos anos 80. significa um sistema que ninguem mais sabe reprogramar. Então o que temos é criação de outros sistemas que se alimentam desse. Normalmente via o banco de dados. Isso é muito,muito,muito ruim. Sem um ponto de controle dentro de um AS é um pesadelo fazer a integração.

Se vc conseguir modificar o legado ele não é tão legado assim. significa que pelo menos ha 1 pessoa que sabe alterá-lo. normalmente para lhe fornecer uma capacidade de webservice e dessa forma integrá-lo em um nivel “mais a cima” que o banco de dados.

Por outro lado existe evolução tecnologia. Hoje em dia usar algo que não seja Java ou .NET é caro. Primeiro porque as tecnologias elas proprias não estão evoluindo, segundo porque ha cada vez menos interessados nelas e/ou que as saibam usar. Não é por acaso que ABAP está micrando para uma JVM assim como todas as tecnologias usadas pelos grandes (IBM, Oracle, etc…)

Então é normal que alguem reinvente o sistema com uma nova tecnologia.
O erro é fazer isso sem evoluir o sistema. Ou seja deixar o sistema novo ter o mesmo processo obsuleto que o antigo. E isso sim é um desperdicio de recursos.

Infelizmente ninguem faz sistemas para durarem. Isso sem OO era complicado. Mas agora com OO, o problema é que poucos sabem usar OO direito para chegar nesse nivel. Outro problema é que sendo o sistema completamente aberto para extensão a documentação disso é extremamente complexa.
As metodologias ageis tb não ajudam ja´que elas se focam no presente ( no que o cliente quer ) e não no futuro ( no que o cliente precisa)

Marcio_Duran

sergiotaborda:
A frase “Não Migramos mais Sistemas e sim Reconstruímos em outra Tecnologia” é uma tautologia.
Quando vc migra o sistema , vc está implicitamente dizendo que está mudando de tecnologia.

Sim, porém Peculiarmente mas ainda também não posso dizer evoluímos o sistema com técnicas que já não aderem mais o que pode ser migração.“Simplesmente não existe”, o formato do copo não é mais o mesmo.

sergiotaborda:

Acho que o que vc queria dizer - e é o que está sendo discutido - é “Não Evoluímos mais Sistemas e sim Reconstruímos em outra Tecnologia”
Isso é meia verdade.

Concordo mas não deixou a sua colocação ser também um pleonasmo da mesma convicção."E você afirma “é verdade que não evoluímos sistemas”,justamente porque precisamos usar o que é semântico para o que estamos atuando em termos de desenvolvimento, usar tecnologias atuais de que produzam essa realidade de se fazer do Zero, “reconstrução”.

sergiotaborda:

Hoje em dia é verdade que não evoluímos sistemas. A principal razão para isso é que eles não foram pensados para evoluir.
Pegue um projeto feito de forma agil. Vc tem o sistema pronto em 3 meses, mas a forma ágil é baseada em cooperação de pessoas e comunicação entre pessoas sem usar nenhum artefato. Isso significa que quando as pessoas vão embora, ou esquecem do sistema, ele morre. Claro que vc pode escrever um documento de 1000 páginas descrevendo o sistema, o resultado será o mesmo.

O Fato é que não possuímos uma inteligência que transforme os user story como mapas do processo, acho que pode ser viável como referencia geográfica desses requisitos trabalhados não destruindo-os mas mantendo-o, ou alterando substituindo com user story que não interfira produção do sistema.

sergiotaborda:

O conhecimento de um software é conhecer o que eles faz pelo cliente, mas tb como ele faz isso. Caso contrário vc irá reinventar componentes do sistema simplesmente vc desconhece que eles existem. normalmente isso é mais verdade quando mais opções o sistema tem. Algumas não usadas já fazem o que se pretende, mas como ninguém as conhece, ninguém sabe que elas existem.

Cabe o cliente participar do Scrum, mas naturalmente ele não decide pelo sistema ele decide pelo requisito empregado.

sergiotaborda:

Então , todos os sistemas acabam sendo legado. E legado aqui não significa um sistema dos anos 80. significa um sistema que ninguém mais sabe reprogramar. Então o que temos é criação de outros sistemas que se alimentam desse. Normalmente via o banco de dados. Isso é muito,muito,muito ruim. Sem um ponto de controle dentro de um AS é um pesadelo fazer a integração.

O Legado não é necessariamente um sistema dos anos 80, mas o pensamento das pessoas estão nos anos 70 e ai fica o mar de perdição sobre o que é a ótica do problema e a responsabilidade do domínio ao sistema."Estruturas complexas tem que cair e dar lugar para o novo que vem a arrumar esse prédio que já devia ser implodido faz tempo, você deve extrair requisito para dinamizar em adoções novas, isso requer evolução e não ficar no passado.

sergiotaborda:

Se vc conseguir modificar o legado ele não é tão legado assim. significa que pelo menos ha 1 pessoa que sabe alterá-lo. normalmente para lhe fornecer uma capacidade de webservice e dessa forma integrá-lo em um nível “mais a cima” que o banco de dados.

1 uma pessoa é ainda um pensamento dos anos 70, todos devem ter responsabilidade e compartilhar tarefas a iteração será a melhor decisão a um instrumento Ágil a se adotar, a responsabilidade é de todos o fracasso também pertence a todos.

sergiotaborda:

Por outro lado existe evolução tecnologia. Hoje em dia usar algo que não seja Java ou .NET é caro. Primeiro porque as tecnologias elas próprias não estão evoluindo, segundo porque ha cada vez menos interessados nelas e/ou que as saibam usar. Não é por acaso que ABAP está migrando para uma JVM assim como todas as tecnologias usadas pelos grandes (IBM, Oracle, etc…)

Sou mais Ofbiz que o ABAP, em relação Java ou .Net no contexto caro, vou dizer caro é você ter profissionais despreparado, OpenSource é um futuro uma liberdade e uma carreira promissora, só acho que muitas empresas ainda tem o cú na mão para na verdade investir nisso maciçamente.

sergiotaborda:

Então é normal que alguém reinvente o sistema com uma nova tecnologia.
O erro é fazer isso sem evoluir o sistema. Ou seja deixar o sistema novo ter o mesmo processo obsoletos que o antigo. E isso sim é um desperdício de recursos.

Ótimo vamos fazer do zero e aproveitar os requisitos, vamos usar as tecnologias que hoje já desembaraçam muitas coisas, quando o assunto é J2EE ou até mesmo SpringFrameWorks, vamos usar Ruby on Rails

sergiotaborda:

Infelizmente ninguém faz sistemas para durarem. Isso sem OO era complicado. Mas agora com OO, o problema é que poucos sabem usar OO direito para chegar nesse nível. Outro problema é que sendo o sistema completamente aberto para extensão a documentação disso é extremamente complexa.
As metodologias ágeis tb não ajudam ja´que elas se focam no presente ( no que o cliente quer ) e não no futuro ( no que o cliente precisa)

O Investimento é algo como a Bolsa mesmo, mas sistemas inteligentes podem e devem ser aproveitados sim, se poucos sabem usar OO isso é uma deficiência de mercado "que manipula os interesses e nisso desgraçam tudo como um fator de beneficio encima de proveito ou outra forma de ganho por custos de horas extras e gorduras exageradas para proveito e benefício de seus interesses.

Marcio_Duran

aleck:
Então se eu possuir um sistema desenvolvido em Java 1.3 devo criar outro sistema e não migra-lo para a versao atual?

Concordo que muitas vezes nao vale a pena a migracao, porem nao me atrevo a generalizar desta forma.

Nem tudo é tudo.


“Ninguem esta falando em Update de versão, aliás tem muito planejamento ai que você esta pouco sintonizado”

Marcio_Duran

maior_abandonado:

talvez essa seja uma visão meio leiga, tem mto mais detalhes ai no meio, mais de um modo geral, é assim que a coisa parece acaabr funcionando na pratica… tendo que re-escrever tudo do zero por causa de incompatibilidade.

:arrow: Hardware e Software é algo que caminham juntos em sua geração, mas se tratando de sistemas e o que já se tem hoje em termos de tecnologia o que pensamos e como agimos é simplesmente ridículo.O Avanço é exponencial e a demanda exige muitas mudanças para alinharmos o que não conseguimos ainda se quer tratar com melhores niveis, tanto de processos e metodologias quanto sobre outros avanços em vários campos da ciência também.

Marcio_Duran

aleck:

Novamente generalização.

Como disse anteriormente, existem casos e casos. Muitas vezes a evolução cria riscos maiores que a criação de novos sistemas. A tecnologia que os sistemas antigos foram construidos muitas vezes não atendem a necessidade do cliente, cabe ao desenvolvedor saber quando optar pela construção de novos sistemas, ou pelo menos opinar junto aos seus gestores.


Não é generalização é o outro elo que se tem que passar, senão vamos ficar perdidos para sempre nesse emaranhado de sistemas cuja sua inteligencia não se aproveita para novas tecnologias que devem alinhar tanto em hardware quanto software em todos os níveis de sistemas cuja as versões já estão bem adiantada ou melhor anos luz de onde se derivaram.

Marcio_Duran

Leonardo3001:
Não se refaz um sistema do zero, nunca!. Por mais cômodo que a reconstrução possa parecer, ela traz riscos enormes como: reavivar bugs já sanados no sistema antigo; ficar muito tempo com poucas features; e pior, acabar com um novo sistema tão ruim que precisa de uma “nova reconstrução”.

Mas baseado em que, você diz isso ???

Marcio_Duran

maior_abandonado:

talvez essa seja uma visão meio leiga, tem mto mais detalhes ai no meio, mais de um modo geral, é assim que a coisa parece acaabr funcionando na pratica… tendo que re-escrever tudo do zero por causa de incompatibilidade.

Uma grande contradição você reaproveitar os requisitos já no domínio da aplicação e abstrai para adoções que permitem esse upgrade sem maior trabalho, o que pode causar incompatibilidade é pensar que o legado é algo a se remodelar não isso é querer qualhar ainda mais o sistema, tem que aderir reutilizando em novos componentes que lá vão alavançar serviços como plug in para a sua aplicação, basta reutilizar os artefatos do sistema de forma a fazer um alinhamento para a nova tecnologia com uma orquestração de serviços, e isso não é migrar isso é reconstrução mesmo sair do casulo do legado e vou para as novas adoções.

Criado 9 de dezembro de 2008
Ultima resposta 16 de dez. de 2008
Respostas 26
Participantes 10