13 de setembro de 2010, 18:42
História e evolução do código de programação da boo-box: o negócio muda, muda muito e rápido. Você precisa ser ágil para detectar o que o mercado quer comprar.
Ao longo de mais de três anos, o código de programação da boo-box já passou por muitas reformas, refactorings e reconstruções. Nossa experiência e lições aprendidas podem ajudar outras pessoas. Se você não é um programador, não se assuste, não serei demasiadamente técnico.
O primeiro protótipo ficou no ar um mês e meio. Foi feito por mim puramente em JavaScript. Era só uma demonstração funcional, usado em apenas um site (o site de demonstração) e era muito, muito lento. O protótipo foi testado pelo TechCrunch e aprovado com dois jóinhas.
O segundo protótipo ficou no ar três meses. Podia ser instalado em qualquer site que usasse páginas em HTML. Era lento, foi feito com muito JavaScript e um pouco de PHP escrito por mim e por alguns amigos.
A partir daí fomos fazendo melhorias em partes críticas do código, principalmente visando performance. O sistema foi “surgindo”, deixando de ser “1 JS com 10.000 linhas + 1 PHP com 100 linhas” e criando corpo MVC (maneira robusta para estruturar uma aplicação).
Um ano após esses primeiros refactorings, o sistema tinha robustez para o que estávamos fazendo até então, mas mudanças nas regras de negócio exigiam alterações profundas no que estava em produção.
Havíamos descoberto boas linhas de receita em produtos diferentes do que nosso sistema estava preparado para entregar, portanto seria necessário modificá-lo profundamente.
Era perfeitamente possível continuar evoluindo e alterando o sistema PHP MVC que estava no ar, mas resolvemos começar do zero, em Ruby, por uma série de questões racionais e emocionais.
Escolhemos o MERB pois o Rails na época estava no seu ápice da fama “Rails não escala”. Fizemos nosso novo sistema “from zero to production” em quatro meses. Deu certo. O núcleo do sistema ficou pronto no Natal, por isso leva o nome de Sledge (trenó em inglês).
Seis meses após o Sledge entrar em produção, nossas novas regras de negócio se mostraram acertadas. O negócio começou a ganhar volume rapidamente (em pageviews, clientes e receita) e enfrentamos o desafio da escalabilidade.
Trouxemos para a equipe o Thyago Liberalli, um experiente diretor de tecnologia, e sob sua gestão um refactoring de um mês (dois sprints scrum) preparou o sistema para a escalabilidade exigida.
Atualmente o Sledge está preparado para suportar o grande volume de pageviews da nossa rede, que cresce 23% ao mês e tem estrutura para as novas funcionalidades que crio na Área de Inovação, como a veiculação de anúncios em Twitter.
Antes da boo-box fiz o Wallpapr, um produto também puramente em JavaScript. Praticamente não toquei nele após o lançamento (nunca foi meu foco de trabalho). Sem minha atenção, ele nunca evoluiu, está estagnado em 500 acessos diários faz três anos.
Uma das maiores lições que tiro dessa (resumida) história é que o negócio muda, muda muito, muda rápido. Você precisa ser muito ágil para detectar o que o mercado quer comprar. Ter culhões de jogar fora, completamente, “o código que funcionou até agora” e criar um novo.
Jogar código fora não é “perda”. As lições ficam e o código funcionou bem até ser jogado fora; ele gerou valor – receita, pageviews, usuários, o que for -, mas você precisa ter humildade e sagacidade para perceber que, dali pra frente, ele não vai mais funcionar.
Precisa ser veloz e implementar novas soluções – confiáveis, robustas e escaláveis -, adaptadas ao momento do mercado em que está inserido. [Webinsider]
…………………………
Conheça os planos de hospedagem da HostLayer.
Acompanhe o Webinsider no Twitter.
Sobre o Autor:
Palavras-chave relacionadas a este texto: [empreender] [Formação profissional] [gestão] [programação]
1 comentário(s)
Leo Cabral
Data : 13/09/2010 às 19:14
Cidade:
Atividade:
É sempre muito bom ver um caso nacional de planejamento, desenvolvimento, sucesso e continuidade; tudo isso junto e levado a sério resultando em algo de repercussão aqui e lá fora.
É incrível o que planejamento centrado e uma equipe ágil conseguem fazer em pouco tempo.
Parabéns, Marco. Muito Sucesso e Paz.