Startup: do zero ao deploy
Júlia Rizza
Engenharia de Computação - UFU
juliarizza.com
contato@juliarizza.com
@juliarizza_
Tive uma ideia, e agora?
Etapa 1: Negócios
- Validação da ideia
- Plano de negócios
- Metodologia
- Equipe
- MVP
e por aí vai...
comecei, e agora?
Etapa 2: equipe
A equipe é a base de uma startup. O sucesso (ou não) da sua ideia depende (e muito!) de ter uma equipe que vestiu a camisa. Neste momento, tenha em mente:
- Você não é o patrão
- Conhecimento = vontade de aprender
Equipe? Quem?
empreendedor(es)
São aqueles que já estão vendo o sucesso da ideia antes mesmo dela surgir completamente na sua cabeça. Inspiradores, confiantes e líderes.
Ser o empreendedor não significa que você não vai ser também o cara das vendas ou do TI. Estamos falando de uma startup!
Equipe? Quem?
dev front-end
O desenvolvedor é o responsável por construir o produto. Um desenvolvedor front-end lida com a parte que vai interagir com o usuário e, geralmente, está mais próximo da equipe de design.
Conhecimentos de um front-end:
- HTML & CSS
- JavaScript
- APIs REST
- SEO
Equipe? Quem?
dev back-end
Um desenvolvedor back-end geralmente é o faz-tudo do seu software. Mas não se engane, procure logo um responsável para banco de dados, outro para o servidor e um técnico e deixe o dev fazer suas obrigações em paz!
Conhecimentos de um back-end:
- Pelo menos uma linguagem de programação
- Frameworks back-end
- Envio e tratamento de dados do front-end
- Criação e comunicação com APIs REST
- Banco de dados e migrações
- Configuração e manutenção dos servidores
- Plantão do tipo "meu site tá fora do ar!!"
E muito mais...
Equipe? Quem?
designer
Não se engane com a ideia de que você e seu front-end podem se virar fazendo um layout qualquer para um produto genial. Isso pode dar certo às vezes, mas seu sucesso também depende de agradar o usuário. Nada melhor que um rostinho bonito para isso!
Conhecimentos de um designer:
- UX
- Teoria das cores
- Photoshop e similares
Equipe? Quem?
Full stack
Dev Front + Dev Back (+ Designer)
tenho uma equipe, e agora?
Etapa 3: tecnologias
Bom, você quer ter um software, então entenda do que ele é feito:
- O app (zilhões de linhas de código)
- Banco de dados
- Versionamento
- Hospedagem (servidor & domínio)
- Ferramentas específicas
- Documentação*
- Testes*
Documentação e testes são muito importantes, mas no contexto de startup, talvez sejam a última coisa que você quer se preocupar. Sempre que possível comece a fazê-los junto do desenvolvimento e quando não for possível, faça depois. Não deixe de fazê-los!
tecnologias? quais?
o app
A forma como sua aplicação é construída vai depender do tipo de plataforma e de quem está fazendo. Mas é importante que seu app siga modelos de organização e de construção de software, assim você pode ter um desenvolvimento mais rápido e facilita para que mais pessoas contribuam com esse app no futuro. Afinal, queremos ter muitos engajados nesse projeto, não é?
tecnologias? quais?
o app
Modelos de organização: MVC, Redux, Flow, Flux
Metodologia ágil:
- Kanban & Scrum
- TDD
- Pair Programming
- Integração contínua
tecnologias? quais?
Banco de dados
Existem várias opções de bancos de dados, assim como a opção por um banco de dados SQL e um NoSQL. Ao escolher um, devemos analisar seu desempenho e seu valor ($$$).
tecnologias? quais?
versionamento
Um dos pontos mais essenciais do desenvolvimento de código de um projeto é o versionamento. Ele vai armazenar as informações de todas as modificações que seu código sofreu, te permitir atualizar ou voltar atrás no seu software e facilitar o trabalho em equipe.
tecnologias? quais?
Hospedagem
A hospedagem é o lugar onde fica armazenado seu software, um servidor. Caso você não tenha local, técnicos ou money suficientes para manter um servidor próprio, fica mais em conta pagar um cloud.
Seu servidor precisa ser configurado, assim como suas informações de domínios e DNS (para que pessoas possam acessá-lo) e isso requer tempo e, claro, dinheiro.
tecnologias? quais?
Hospedagem
Para configurar um servidor você precisará ter noções de:
- Linha de comando
- Sistema operacional
- Ferramentas de servidor (Apache, Nginx, etc)
- IPs, domínios e DNS
- Mais sistema operacional
tecnologias? quais?
documentação
Documentação é a parte chata de um software. Ninguém quer documentar um projeto depois que existem mais de 5 mil linhas de código e nem antes de saber o que se está fazendo.
Cada linguagem possui diferentes ferramentas para auxiliar nisso, automatizando o processo e deixando os desenvolvedores felizes.
tecnologias? quais?
testes e tdd
Os testes vêm para salvar a vida do seu projeto. Se você não fizer testes, a chance de que seus usuários encontrem problemas na hora de usar o software é imensa.
O TDD é uma metodologia ágil para se desenvolver e realizar testes. Nela, você cria primeiro o caso de teste e depois cria o código que faz aquele teste passar.
tecnologias? quais?
Monitoramento
É interessante que você mantenha o monitoramento do software e do seu servidor. Dessa forma, você pode receber relatórios dos acessos e atividades do software e também realizar o logging dos erros e alertas.
Ferramentas de monitoramento:
- Google Analytics
- NewRelic
- OpBeat
tecnologias? quais?
Integração contínua
Integração contínua é uma forma de automatizar todo o processo de "colocar no ar" da sua aplicação. Uma ferramenta de CI vai pegar a mudança que sua equipe fez localmente, testar ela e, se os testes passarem, já mandar essa modificação para o ar na hora!
Ferramentas de CI:
- Travis CI
- Jenkins
tecnologias? quanto?
custos médios
Hospedagem
Cloud: U$0 ~ 150 /mês
Domínio: a partir de R$30/ano
Banco de Dados
Licença: variável, a partir de U$0
Hospedagem: U$0 ~ 100/mês
Versionamento
Conta (GitHub, Bitbucket, etc): US$ 0 ~ 21/mês
Monitoramento
Por ferramenta: U$0 ~ 200/mês
Custos adversos
Licenças e ferramentas que você
não planejava: U$300 ~ 800
tecnologias? como?
cACHO.LA
O app
Django, web2py, Flask
API front-end: AngularJS
Hospedagem
AWS & Heroku
Linux (Debian)
Apache
Banco de Dados
PostgreSQL
Versionamento
Git
Bitbucket
Monitoramento
OpBeat
Google Analytics
tenho tecnologias, e agora?
etapa 4: o produto
E você vem me perguntar? Seu produto está pronto! Saia e venda como se sua vida dependesse disso!
Volte suas ideias para a parte de negócios
e coloque em prática tudo aquilo que aprendeu.
Boa sorte na sua jornada! ;)
ObrigadO!
Júlia Rizza
contato@juliarizza.com
Créditos (imagens): @Dooder pelo Freepik
Startup: do zero ao deploy
By Júlia Rizza
Startup: do zero ao deploy
- 1,371