Versionamento em Projeto de Software

23/10/2011 -

A maioria dos softwares que eu desenvolvo são sistemas Web, alguns simples e outros mais complexos, uns dão muito certo, e alguns nem tanto.
Mas independente do tipo de sistema Web, ou executável, é necessário planejar de forma correta todo o desenvolvimento e prever a continuidade e manutenção, que é tão importante quanto o desenvolvimento inicial, e muitas vezes bem mais trabalhoso de se fazer.

Diferenças entre Criação e Manutenção

Criar é bem mais fácil do que dar manutenção, e consequentemente o custo é muito mais baixo.
Por outro lado a manutenção é sempre uma surpresa, pois um problema pode aparecer a qualquer momento, e pode requerer um alto investimento para solucionar.
Gosto de lembrar sempre de uma piada que descreve bem o que é a manutenção:

“Sabe qual é a diferença entre um mecânico e um médico ?
O mecânico mexe no motor com o carro desligado, e o medico não!”

O programador não é um mecânico, hoje qualquer sistema por mais critico que seja, falar em desligar o site ou parar qualquer coisa é quase que tentar matar alguém!

A saída é sempre fazer um bom Planejamento inicial antes de iniciar qualquer projeto.
Mas fazer um projeto com um planejamento solido é capaz de elevar muito os custos.
E mesmo planejando muitas coisas sempre surgem imprevistos por durante o desenvolvimento outros concorrentes e ideais vão surgindo, e os planos tem que mudar.

Pense em versionar, cada versão com focos claros e específicos, e custos bem direcionados, veja um exemplo baseado em um site de e-commerce

Versão 1

  • Faça funcionar
    Baseado no exemplo de um e-commerce, a pessoa tem que conseguir navegar comprar, pagar e receber!
    enquanto o básico não tiver funcionando não viaje ou mude o foco para outras coisas

Versão 2

  • Aplique SEO
    Tudo funcionando, agora é hora de permitir que você comece a captar mais clientes com um baixo custo por meio de resultados orgânicos.
    Priorize sempre o SEO, pois qualquer implantação leva tempo para perceber resultados
  • Melhore a experiência de usuário
    Faça enquetes, pesquisas, analise resultados, e tente entender qual parte do site não está boa, e precisa ser facilitada para que a sua conversão de visita/vendas possa ser maior
  • Melhore a performance do Site
    Hoje seu site precisa funcionar em alguns raros clientes de linha discada, a até as conexões de 30 Mbps, em celulares e Tablets com 3G, EDGE, então tenha um site leve, otimizados com CDN, cache, CSS e Scripts minimizados.
  • Anuncie também em link patrocinados
    Enquanto o resultado de SEO não chega anuncio no Adwords, Yahoo, e outros canais de venda de banners, e troca de links

Versão 3

  • Crie novos recursos
    Criar listas de presentes, buscas avançadas, entrega para presente em outro endereço, comparação de produtos, é sempre um atrativo a mais desde que o fundamental funcione bem.
  • Entre nas Redes Social
    Se um site por si já é bom, quando entrar em redes social será também, caso contrario você só irá receber reclamações e criticas onde todos irão ver

Versão 4

  • Crie versões específicas para cada dispositivo
    Prepara versões para Wii, XBox, PS3, para FaceBook, Tablets, etc… inove usando dando um ambiente diferenciado para cada perfil de publico diferente