sexta-feira, setembro 23, 2005

Quando um software morre? E por quê?

Esse mestrado está excelente! Estou aprendendo muito, tanto com os professores quanto com os colegas. Verdadeira overdose de conhecimento, basta ficar de orelhas abertas. Ontem a discussão foi sobre o ciclo de vida de um software, e principalmente, quando um software morre. De todas as idéias apresentadas (incluindo a "oficial" do Roger Pressman), a melhor foi a que eu vi de dois colegas (Clayton e Orlando, excelente conceito, pessoal!!!). Segundo essa idéia, um software morre quando manter a aderência do software ao negócio fica muito cara. Aderência aqui significa o quanto das suas funcionalidades atendem às necessidades do negócio. E quando e por que isso acontece? Quando é difícil de responder, mas o porquê dá algumas pistas. Discutindo depois, descobrimos que basicamente existem três fatores: os profissionais de uma tecnologia antigas começam a ficar escassos e caros (vide Cobol); e as tecnologias novas geram necessidades que as tecnologias antigas não conseguem atender a um custo razoável. Por exemplo, internet. E finalmente, um software que vem sendo remendado há anos fica muito frágil, o que aumenta o custo das alterações em si. Parece óbvio e simples quando você diz isso, mas quando você está na lida do dia à dia, ralando e cheio de problemas, isso não fica tão aparente.

5 comentários:

  1. Pergunta valendo 10 pontos:

    Quando seria o momento apropriado, teoricamente, de se desistir da implementação atual, e atualizar a tecnologia, pelos motivos dados? Exemplificando, apostando que java um dia vai morrer e se tornar um cobol da vida, e que nessa aposta digamos que Ruby seja o mais indicado a sobreviver no mercado, em que momento seria o ideial de migrar para Ruby?!

    ResponderExcluir
  2. Taí uma pergunta interessante. Acho que o momento ideal não depende de uma linguagem morrer. Mas da que vc quer usar atingir uma certa "massa crítica" de usuários que garanta sua existência.

    Ruby é promissor nesse ponto pq o Rails (seu framework web) está alavancando muito a linguagem. Ou seja, já atingiu massa crítica e continua crescendo.

    Mais aí é cada caso, um caso. O Java não vai morrer tão já, acho. Mas com certeza, está no seu auge. Não vejo gente migrando pra Java faz um certo tempo. Talvez no começo da decadência, já que Javaneses começam a migrar pra outras linguagens (python e ruby, principalmente). Agora, até alcançar uma curva de declínio real é difícil prever.

    ResponderExcluir
  3. A escassez de programadores Cobol no mercado não se deve ao fato de que eles estão morrendo. Essa escassez se deve a dois principais motivos, a meu ver: ninguém quer aprender uma linguagem "nova" como Cobol e tudo o que sobra para os programadores de Cobol é "pepino".

    Hoje a linguagem de programação que se utiliza no negócio não interessa muito, o que interessa é o negócio. Se não encontra-se mais mão-de-obra para manter o negócio funcionando em cima de linguagem X, está na hora de migrar para a linguagem Y.

    Eu aprenderia Cobol de boa, já programei em Cobol quando era mais novo e não achei nenhum bixo de sete-cabeças. Só abandonei a linguagem porque Basic dava pra fazer joguinhos :D

    ResponderExcluir
  4. Anônimo2:48 PM

    Acredito que esteja havendo confusão em relação ao software desenvolvido com as tecnologias, linguagens de programação utilizadas para construí-lo. Haja vista, que o objetivo do publicado fora obter informações, indícios de quando um software está preste a morrer. Se considerarmos a linguagem por ele utilizada como um software, a discussão teria de ser ampliada.
    Os problemas com o mercado de software, TI, é que ele ainda está acostumado a modismos vide AJAX, Ruby, etc. e ainda não a agregação de valores. Cobol ainda é muito utilizado e requisitado em aplicações principalmente no setor Financeiro. E não se trata apenas de manutenção do legado, pelo contrário, atendendo prontamente novas demandas.

    ResponderExcluir
  5. Nossa, que comentário "empolado" :D

    O Alessandro tá certo. O que estava sob discussão no original não era a linguagem (quando uma linguagem morre), mas sim qdo um software comercial morre. Linguagem tem outras peculiaridades.

    Um dos indícios é o custo muito alto para atender novas demandas. O que pode ser causado pela linguagem ou pela escassez de profissionais.

    ResponderExcluir