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.