great developers, i am the coder, startup

Como começar a desenvolver um projeto pessoal

Bruno Carneiro

Bruno Carneiro

Quem nunca sonhou em começar a desenvolver um projeto super interessante? Tenho certeza que todos nós já tivemos excelentes ideias para serem desenvolvidas como um projeto paralelo! Eu mesmo já iniciei vários! Porém, o que acontece com a maioria de nós é que no começo ficamos muito empolgados com o início do projeto. Mas, com o passar do tempo acabamos desanimando e deixando ele de lado. E é assim, que finaliza o nosso sonho! A triste verdade é que a minoria de nós consegue finalizar pelo menos um desses projetos idealizados. Começar a desenvolver um projeto é fácil o difícil é terminá-lo.

Porque é tão difícil terminar projetos pessoais?

Existem várias razões para isso, mas a principal é bem simples, planejamos muito e não conseguimos ou demoramos demais para  terminar o que foi planejado.

Ou seja, tudo começa decidindo a maior parte das funcionalidades do nosso projeto. Nesse momento pensamos em todos os casos de uso. Como, por exemplo, cadastros, autenticação, segurança de recursos, etc…

Depois escolhemos as tecnologias já pensando em resolver problemas como: meu sistema vai conseguir responder a X número de usuários? A tecnologia Y vai ser rápida o suficiente para atender a necessidade do meu cliente? Meu banco de dados e o meu modelo vão escalar a medida que mais dados forem inseridos e mais usuários estiverem ativos no meu app? Qual é a melhor linguagem de programação para esse projeto? E o melhor framework?

Para responder essas perguntas escolhemos algumas tecnologias que nem sempre temos experiência. Frequentemente temos que aprendê-las e, quando em conjunto com outras, temos que integrá-las.

Tudo isso leva tempo, muito tempo!

E para piorar nem sabemos se nossos clientes vão gostar da ideia. Se você for muito persistente, você passará meses desenvolvendo um produto altamente escalável, performático, com uma interface linda. Mas, no momento de lançá-lo talvez ele não tenha adesão ou muito provavelmente não é exatamente como o seu cliente deseja!

Iniciando com um grande projeto (NOT)

Esse tipo de desenvolvimento de software se chama Big Design Up Front (BDUF). Traduzindo para o português coloquial, Iniciando com um grande projeto!

No começo isso pode parecer legal. Porém, muito provavelmente, te desanimará conforme for caminhando. Isso porque seu projeto demorará muito para ir ao ar. Também vai demorar muito para você testar sua ideia, e muito mais para receber qualquer tipo de feedback ou receita financeira!

Saquei Bruno! Então qual seria a melhor maneira de começar a desenvolver um projeto?

Produto Mínimo Viável

Começar com inverso do BDUF. Ou seja, com um produto mínimo viável. Um software que tenha o mínimo que represente sua ideia e que seja muito rápido para você construir.

Não tem problema se ele não vai ser seguro, se ele não vai ser escalável, se ele não vai ser lindo, etc… O importante é ele ser funcional e as pessoas entenderem sua ideia. A partir daí o software irá crescer de forma iterativa, incremental e evolutiva. Um crescimento baseado nos feedbacks que seus clientes te darão.

Interessante esse ponto de vista. Mas então quais tecnologias e qual linguagem escolho para o meu projeto?

As que você têm mais experiência e se sente mais confortável. Comece com as que você sabe que vai conseguir colocar o projeto em produção e que atendem de forma mínima a(s) funcionalidade(s) que quer implantar. Nesse momento é mais importante sua mente estar focada em terminar uma versão mínima da sua ideia do que imaginar um produto tecnologicamente perfeito.

Obs. 1: Se seu objetivo é aprender novas tecnologias e não desenvolver uma nova ideia é muito interessante começar projetos do zero com elas.

Obs. 2: BDUF nem sempre é uma má ideia. Se você trabalha, em por exemplo, em uma fábrica de software, ou em uma empresa que desenvolve software por demanda, é comum esse modelo de desenvolvimento de software. Mas, o desenvolvimento ágil também pode ser aplicado!

Nos comentários me conte sobre a experiência que teve com um projeto pessoal seu! Vou curtir demais saber mais a respeito!

Etiquetas:, , ,

Deixe um comentario