Mostrando postagens com marcador Engenharia de Software. Mostrar todas as postagens
Mostrando postagens com marcador Engenharia de Software. Mostrar todas as postagens

sexta-feira, 5 de setembro de 2008

Arqueologia

Indiana Jones influenciou gerações.

Misturar aventura com arqueologia instiga o espírito aventureiro de qualquer. Desbravar perigos em busca da reconstrução da história humana, através da localização de vestígios deixados por civilizações passadas!

Até discípulos mais modernos, como Lara Croft, têm feito história. Começou nos games, virou película, mas continua atropelando a ética moderna, como seu antecessor, e tomando posse de artefatos pelo mundo.

Sabemos bem que o trabalho do arqueólogo está longe de ser tão glamoroso. Ele é feito de muito mais areia e paciência do que muitas pessoas podem suportar.

Além disso, o respeito com as culturas e locais de escavação, elevam o trabalho a outros patamares de sua conduta ética. Já se foi o tempo de pilhar tesouros e simplesmente apinhá-los em seus museus.

Tamanha influência chegou a engenharia de software. Contamos também em nossa área com a arqueologia de software! Há pessoas especializadas neste trabalho e metodologias, técnicas e pesquisas desenvolvidas para esse fim.

Calma. Ninguém pretende escavar XTs a procura de vestígios de algum "16bits sapiens". Nem, muitos menos, investigar códigos antigos do DOS, a procura de mensagens gravadas por antigas religiões do deus Prompt.

Tratando de uma necessidade mais moderna, a arqueologia de software investiga a estrutura de sistemas legados. A constante incorporação ou associação de empresas tornou a necessidade premente. Sistemas existentes, com comprovada carga histórica de dados, dificilmente podem ser dispensados. Acabam integrados.

Para integrá-los, é necessário entendê-los. Qualquer programador experiente sabe o calvário de conhecer um sistema existente. Compreender a lógica de outra pessoa é quase como tentar mapear suas conexões neurais. Quem dera fosse possível...

Triste sina inevitável. Tem se tornado constantemente mais comum. Com o tempo, ganhamos traquejo para fazê-lo. Tarefa árdua e de cuidados igualmente delicados. Sem contar o fato que, no ambiente corporativo, as "pedras" também vêem "rolando" em nosso encalço. Pareço até ouvir o tema do Indiana...

sexta-feira, 25 de julho de 2008

Java

Buscamos paradigmas melhores continuamente.

A engenharia de software se preocupa há muito tempo em aprimorá-los, ou criá-los, para conseguir resolver seu antigo dilema da entrega adequada de produtos. Adequada em prazo e qualidade.

Orientar o desenvolvimento a objetos parece trazer uma aproximação mais concreta aos problemas de negócio. Em princípio, uma excelente ferramenta para atender tal demanda é a plataforma Java.

Hoje plataforma, mas começou como linguagem. Os paradigmas evoluíram, as ferramentas também. Orientação a objeto virou "commodity". Um universo de design patterns, MDA, SOA e outras tecnologias foram derivadas dela.

Apesar de todos os seus benefícios inerentes, misteriosamente é difícil a observação de sua plena adoção. Mesmo com as garantidas propriedades de eficiência e otimização, ainda vemos muitas equipes relutantes em embarcar ativamente.

Nos primórdios, diversas empecilhos eram apontados para a resistência. O uso da tecnologia demandava hardware de porte, para sustentar o pesado processamento. Sua popularidade começou em pequenos círculos, como é comum em novidades tecnológicas. Até o fato de ser iniciativa de uma grande empresa gerava desconfiança.

Atualmente qualquer antigo motivo foi derrocado. Hardware com capacidade suficiente de processamento é extremamente acessível. O conhecimento da plataforma é amplamente difundido, com grande oferta de profissionais. A plataforma foi aberta para própria empresa, em busca de seu aprimoramento mais intenso, com a colaboração da comunidade.

Caminhamos pelas empresas e ainda encontramos montanhas de sistemas legados. Sem dúvida, em time que está ganhando é preocupante mexer. A grande dúvida é até quando estarão ganhando? Em ambientes legados, há duas grandes mudanças: das ferramentas em si e da cultura de desenvolvimento.

Dois grandes desafios, dois riscos sensivelmente consideráveis. Felizes daqueles que começam sua estrutura do zero. Se sensatos, têm a oportunidade de começar com o pé direito, dentro dos melhores paradigmas existentes. Àqueles carentes de mudanças, resta a torcida para um dia poder dizer: "Oh antiga solução, "já vai" tarde!