Estou trabalhando no departamento de TI de uma grande empresa internacional. Estamos desenvolvendo diferentes aplicativos de Intranet para o negócio (Reclamações, Descontos, Service Desk etc.). Agora, decidimos migrar da plataforma PHP para o .NET (a integração com o MS CRM Dynamics, Exchange e MS Office é um dos motivos). Como existem cerca de 20 aplicativos diferentes que a empresa está usando na plataforma PHP atual, teremos que apresentar a melhor maneira de movê-los para a nova plataforma. Não quero entrar em detalhes sobre como converter o código, etc, pois enquanto migramos, queremos melhorar todos esses aplicativos.
Então, criamos duas maneiras principais de mover esses aplicativos:
Suporte apenas uma plataforma. O que isso significaria? Crie a página inicial e migre literalmente todos os aplicativos para o .NET (sem aprimorá-los enquanto fazemos isso). Após a execução da Nova intranet, começaríamos a reconstruir os aplicativos migrados e melhorá-los. Isso nos pouparia a desenvolver intranet em .NET e, ao mesmo tempo, precisaria oferecer suporte à plataforma PHP.
Suporte as duas plataformas por algum tempo. Isso significaria criar apenas uma página inicial e 1 ou 2 novos aplicativos (que não existem em nossa plataforma PHP). Tornando-os disponíveis para os usuários, mas não decolando da plataforma PHP (incorporaríamos menus e links para facilitar a movimentação dos usuários entre os aplicativos na página PHP e o novo). Em seguida, começaríamos a reescrever os aplicativos PHP enquanto os aprimoramos.
Agora não tenho certeza do que seria melhor, por um lado (opção 1) potencialmente facilitaremos tudo para os usuários, não forçando-os a usar duas plataformas diferentes ao mesmo tempo. Embora eles não vejam nenhuma melhoria em ter a nova plataforma, além de tudo parecer melhor, a funcionalidade dos aplicativos na nova plataforma será a mesma por algum tempo. Também acho que adicionaríamos a nós mesmos (departamento de TI) mais trabalho, pois basicamente escreveríamos todos os aplicativos duas vezes.
Por outro lado, na opção dois (2) usuários teriam pior experiência, pois duas plataformas parecem diferentes, mas perceberiam os benefícios da nova plataforma à medida que novas aplicações estão sendo movidas.
Algum de vocês se deparou com algo assim? O que você escolheria? Ou talvez haja uma maneira ainda melhor e diferente das que apresentei? Gostaria de saber o que você pensa e como você abordaria isso.