Feito em 5 anos, refazer em 5 meses?

Pessoal,

Essa pergunta é meio off-topic, mas vamos la. Temos aqui na empresa um sistema em PHP, que funciona uma beleza, mas tem uma software house que disse pra nós que poderia refazer todo o código (cerca de 200 scripts complexos) em 5 meses. Algo que levou 4,5 anos para ser feito, eles disseram que podem migrar tudo para .NET em menos de 5 meses. Isso é possível? Eu acredito que não, principalmente pq eles vão alocar 1 ou 2 programadores para isso apenas. Mas gostaria da opinião de vcs.

[quote]uma software house que disse pra nós que poderia refazer todo o código (cerca de 200 scripts complexos) em 5 meses[/quote]Porquê não se está pronto é somente refazer além do detalhe que somente recebe se entregar pronto né…??..

Refazer talvez até consigam, se eles tiverem acesso aos scripts, ao banco de dados e tudo tiver sido programado de forma inteligível. Ainda sim, eu tentaria não prometer um prazo tão curto.

Agora, mesmo depois de pronto, o sistema ainda leva um tempo de maturação, até que fique livre de bugs e que os usuários acostumem-se com o novo “idioma”, etc. E esse tempo certamente é maior que 5 meses. Dificilmente alguém que está investindo num novo sistema irá querer ele EXATAMENTE igual ao antigo. Gerentes não são muito ligados em qual linguagem usam e sim no resultado que o sistema traz… E acho muito difícil que o comercial tenha considerado esse tempo. Geralmente o que eles prometem é que ao final do sistema, todos estarão produzindo mais, a empresa estará lucrando e que todos viverão felizes para sempre.

Esse é o problema de muitas software houses. Na pressa de pegar um cliente, prometem prazos insólitos, dão garantias irreais e condenam-se a si mesmas. É um ciclo destrutivo, pois isso faz a concorrência prometer prazos ainda menores e, por conseqüência, para se manter no mercado, elas acabam sendo pressionadas a fazer o mesmo.

[quote=ViniGodoy]Refazer talvez até consigam, se vocês tiverem acesso aos scripts, ao banco de dados e tudo tiver sido programado de forma inteligível. Ainda sim, eu tentaria não prometer um prazo tão curto.

Agora, mesmo depois de pronto, o sistema ainda leva um tempo de maturação, até que fique livre de bugs e que os usuários acostumem-se com o novo “idioma”, etc. E esse tempo certamente é maior que 5 meses. Dificilmente alguém que está investindo num novo sistema irá querer ele EXATAMENTE igual ao antigo. Gerentes não são muito ligados em qual linguagem usam e sim no resultado que o sistema traz… E acho muito difícil que o comercial tenha considerado esse tempo. Geralmente o que eles prometem é que ao final do sistema, todos estarão produzindo mais, a empresa estará lucrando e que todos viverão felizes para sempre.

Esse é o problema de muitas software houses. Na pressa de pegar um cliente, prometem prazos insólitos, dão garantias irreais e condenam-se a si mesmas. É um ciclo destrutivo, pois isso faz a concorrência prometer prazos ainda menores e, por conseqüência, para se manter no mercado, elas acabam sendo pressionadas a fazer o mesmo.[/quote]

Concordo contigo. Esse prazo que eles deram é uma grande piada.

[quote=eduacsp]Pessoal,

Essa pergunta é meio off-topic, mas vamos la. Temos aqui na empresa um sistema em PHP, que funciona uma beleza, mas tem uma software house que disse pra nós que poderia refazer todo o código (cerca de 200 scripts complexos) em 5 meses. Algo que levou 4,5 anos para ser feito, eles disseram que podem migrar tudo para .NET em menos de 5 meses. Isso é possível? Eu acredito que não, principalmente pq eles vão alocar 1 ou 2 programadores para isso apenas. Mas gostaria da opinião de vcs.[/quote]

Depende cara.

  1. precisa ver se eles irão alocar apenas 1 ou 2 programadores mesmo

  2. tem software house que faz nego trabalhar 16 horas por dia

  3. Vocês fizerem em 4,5 anos, mas tiveram que pensar em tudo, como as coisas iriam funcionar, requisitos funcionais, não funcionais etc. Eles só vão migrar de uma linguagem pra outra…ou seja…baba!!! Então, acho que ateh dah…

Migrar código de linguagem que não são tão díspares - de PHP para .Net - , é relativamente rápido, pois você não terá que reinventar nada, só passar uma lógica de um lugar ao outro. Se eles tivesse que fazer do zero um sistema desses, realmente eu acharia 5 meses muito pouco, contando que eles aloquem realmente 2 programadores. Uma migração limpa seria lenta se tivesse que mudar de linguagens muito diferentes - de EasyTrieve para Java por exemplo .

Mas para que migrar um sistema se ele já está funcionando? Vai ter alguma melhoria? Senão eu acho que não compensa.

Até!

[quote=maquiavelbona]Migrar código de linguagem que não são tão díspares - de PHP para .Net - , é relativamente rápido, pois você não terá que reinventar nada, só passar uma lógica de um lugar ao outro. Se eles tivesse que fazer do zero um sistema desses, realmente eu acharia 5 meses muito pouco, contando que eles aloquem realmente 2 programadores. Uma migração limpa seria lenta se tivesse que mudar de linguagens muito diferentes - de EasyTrieve para Java por exemplo .

Mas para que migrar um sistema se ele já está funcionando? Vai ter alguma melhoria? Senão eu acho que não compensa.

Até![/quote]

A dona da softwarehouse disse que migraria para .NET pois é uma tecnologia nova que permite sejam feitas alterações no código muito mais rápido que o PHP. Mas na verdade eu acredito que isso é xaveco e que o real motivo é que a empresa dela só sabe trabalhar com .NET e isso faria com que a nossa empresa ficasse de certa forma amarrada a ela.

[quote=eduacsp]Pessoal,

Essa pergunta é meio off-topic, mas vamos la. Temos aqui na empresa um sistema em PHP, que funciona uma beleza, mas tem uma software house que disse pra nós que poderia refazer todo o código (cerca de 200 scripts complexos) em 5 meses. Algo que levou 4,5 anos para ser feito, eles disseram que podem migrar tudo para .NET em menos de 5 meses. Isso é possível? Eu acredito que não, principalmente pq eles vão alocar 1 ou 2 programadores para isso apenas. Mas gostaria da opinião de vcs.[/quote]

Como você é da empresa que trabalhou os 4,5 anos é natural que você pense que é impossível refazer seu sistema em 5 meses. Mas se a idéia é apenas trasnformar de PHP para .NET, sem modificar nada, acredito que pode ser feito em até menos tempo, usando ferramentas específicas para isso.

Alguem conhece alguma software house que possa fazer esse mesmo serviço só que em J2EE?

[quote=s4nchez][quote=eduacsp]Pessoal,

Essa pergunta é meio off-topic, mas vamos la. Temos aqui na empresa um sistema em PHP, que funciona uma beleza, mas tem uma software house que disse pra nós que poderia refazer todo o código (cerca de 200 scripts complexos) em 5 meses. Algo que levou 4,5 anos para ser feito, eles disseram que podem migrar tudo para .NET em menos de 5 meses. Isso é possível? Eu acredito que não, principalmente pq eles vão alocar 1 ou 2 programadores para isso apenas. Mas gostaria da opinião de vcs.[/quote]

Como você é da empresa que trabalhou os 4,5 anos é natural que você pense que é impossível refazer seu sistema em 5 meses. Mas se a idéia é apenas trasnformar de PHP para .NET, sem modificar nada, acredito que pode ser feito em até menos tempo, usando ferramentas específicas para isso. [/quote]

Não é tão simples, existe uma série de coisas no código como ajax,muito javascript,integração entre scripts…esse prazo que ela deu é irreal.

[quote=eduacsp]
Não é tão simples, existe uma série de coisas no código como ajax,muito javascript,integração entre scripts…esse prazo que ela deu é irreal.[/quote]

Todo prazo é irreal, se você pensar que se trata de uma mera estimativa.

Quanto tempo você levaria para fazer essa migração e como você chegaria a esse prazo?

Por tudo que você falou ainda me parece que você está sendo levado mais pela emoção de sentir que o trabalho da sua empresa está sendo desemerecido pelo “5 meses” do que por razões técnicas.

[quote=s4nchez][quote=eduacsp]
Não é tão simples, existe uma série de coisas no código como ajax,muito javascript,integração entre scripts…esse prazo que ela deu é irreal.[/quote]

Todo prazo é irreal, se você pensar que se trata de uma mera estimativa.

Quanto tempo você levaria para fazer essa migração e como você chegaria a esse prazo?

Por tudo que você falou ainda me parece que você está sendo levado mais pela emoção de sentir que o trabalho da sua empresa está sendo desemerecido pelo “5 meses” do que por razões técnicas.[/quote]

Não estou sendo emotivo, até pq estou saindo da empresa. É que realmente não senti firmeza no prazo.

[quote=eduacsp]
Não estou sendo emotivo, até pq estou saindo da empresa. É que realmente não senti firmeza no prazo.[/quote]

Então ainda não entendi o sentido deste tópico. Você precisa de algum argumento melhor que esse “sentir firmeza”?

[quote=s4nchez][quote=eduacsp]
Não estou sendo emotivo, até pq estou saindo da empresa. É que realmente não senti firmeza no prazo.[/quote]

Então ainda não entendi o sentido deste tópico. Você precisa de algum argumento melhor que esse “sentir firmeza”?[/quote]

o sentido do tópico é o seguinte: Quero que profissionais que ja fizeram migração de uma linguagem para outra me diga se é viável nesse tempo migrar um sistema tão grande.

Se a migração é apenas de linguagem, sem modificar as funcionalidades, o prazo é viável, como eu já disse anteriormente.

Mas também concordo com o ViniGodoy que uma migração deste tipo é difícil de acontecer, já que sempre se encontra algo pra melhorar no software. Neste caso, eu nem chamaria de migração e o prazo de 5 meses vai depender do quão “grande” é o sistema (coisa que ainda não consegui vislumbrar).

2 Programadores? Mais nada? Analista, projetista, arquiteto, nada nada ??? Acho mais fácil 3 desenvolvedores fazer em 3 meses do que 2 em 5.

Possível é. Mais do que isso não dá para dizer com as informações que foram dadas.

“Um sistema que levou quatro anos e meio para ser escrito e possui mais de 200 scripts complexos” não diz muita coisa. Se esse sistema foi feito por apenas uma pessoa e a nova equipe terá quatro programadores full-time, é perfeitamente possível sair nesse prazo. Mas se for o contrário? Pode ser que não.

Não existe um cálculo exato para isso. Mas é possível sim…

Eu realmente não acho possível.
Nem que seja um sistema relativamente pequeno.

Pelos seguintes motivos:

  1. Refazer código significa necessariamente refazer bugs. Um bom processo pode minimizar isso, mas não eliminar totalmente esse problema.

Se o programa é pequeno, provavelmente os anos de sustaining geraram um sistema muito estável e apreciado pelo usuário. E a mesma estabilidade será dificil de se obter.

Se o programa for grande e foi intensamente desenvolvido nos 4 anos (como pareceu), bem, ele é grande. Você não fará isso em 5 meses.

É bom lembrar que o sistema não está finalizado quando a sua programação terminou e sim quando ele está sendo usado com satisfação pelo usuário. Isso certamente não está contemplado no prazo dado. É necessário um tempo de testes (se possível em campo) para atingir uma qualidade real de produção. E acho difícil que a dona da softwarehouse tenha avisado o usuário de que ele terá um período com bugs após a implantação do novo software. Caso ela tenha avisado, então o tempo de desenvolvimento será em torno de 3 meses, não 5…

  1. Geralmente migrações como essa são uma opotunidade para melhorias. E melhorias envolvem análise, entender o processo, etc. A migração também não é tão simples e parte das melhorias serão técnicas. Em java, por exemplo, você terá que passar para tecnologia de servlets e fazer uso de algum framework MVC, ou não terá benefícios reais. Nesse caso, muitas classes terão de ser analisadas e retrabalhadas praticamente do zero.

  2. Uma equipe grande, exige um trabalho anterior de projeto de sistema ou mais trabalhadores levarão mais tempo do que menos. Se tiver um projetista experiente e uma equipe técnica boa e entrosada e que conhecesse a fundo o sistema original, talvez a migração fosse realmente possível. Mas se ela tivesse isso, provalvemente teria perguntado o prazo para esse projetista experiente, o que não me parece ser o caso.

O contrário, trabalhar várias horas numa equipe pequena introduziria bugs, pois o cansaço as vezes faz a gente até mesmo estragar código bom achando que está fazendo a coisa certa. O colega falou em 2 programadores. Tomara que eles tenham acesso aos fontes, que esses fontes estejam inteligíveis, que o banco de dados esteja ok, e que eles tenham acesso ao programador que mantenha o sistema hoje.

  1. Está claro que a dona da software house está pensando nos seus próprios custos e quer manter apenas um tipo de profissional dentro da empresa. Podemos afirmar com um bom grau de certeza de que ela não está realmente preocupada em dar uma estimativa de prazo segura e sim algo que soe barato aos ouvidos do cliente. Afinal, depois que ele começar a investir, difilmente vai parar… mesmo que o projeto atrase. Depois, ela sabe que não conseguirá vender uma simples migração e provavelmente está prometendo algum tipo de melhoria, recaindo no argumento 2.

Já tem gente batendo o martelo e dizendo que não é possível, mesmo sem conhecer absolutamente nada do projeto? Impressionante o poder da especulação.

Minha opinião é que a descrição “um projeto de 4,5 anos e 200 scripts complexos” não indica nada do que realmente o projeto é.

E se parte desse tempo tenha sido gasto desenvolvendo infra-estrutura, como frameworks etc.? Em uma nova empreitada para refazer o sistema, isso já seria considerado tempo ganho, caso fosse usar algum framework pronto.

Portanto, não dá pra dizer que é impossível. Principalmente sem conhecer ambas as equipes (tanto a que desenvolveu como a que vai desenvolver).

Não sei não… ele falou que o sistema original é em PHP. Também acho pouco provável que o tempo de maturação leve menos do que uns 2 ou 3 meses, pois envolve o próprio usuário conhecer o novo sistema.

Eu também estou confiando na avaliação dele, quando afirma que os 200 scripts são complexos. E na afirmação que ele deu, mostrando que a preocupação da dona da software house não é dar prazo adequado ou um motivo consistente.

E quem já trabalhou em softwarehouse já sabe… estimativas de prazos para baixo (e até surreais) para ganhar projetos (pq clientes mesmo vão acaber é perdendo) é o que não falta por aí.

Mas não estou batendo o martelo em nada… só estou dando a minha opinião. O que vejo por aí é que esses prazos geralmente estão errados, e nunca para cima, e sim para baixo. Projetos atrasam a torto e a direita e geralmente a culpa é de quem promete um prazo muito apertado, não do cliente e nem da equipe de desenvolvimento.