Qual o investimento para se desenvolver um aplicativo para celular? Quanto tempo é preciso para publicar um aplicativo? O que é necessário para se fazer um sistema? E quais os maiores riscos ao contratar quem faça?
Recebo este tipo de pergunta com frequência na App Masters e neste post venho te explicar tudo isso em detalhes, sobre quanto custa desenvolver um aplicativo, e deixo aberto os comentários para você enviar suas perguntas.
Já adianto que o valor irá depender de uma série de fatores, tais como tecnologia, tipo de empresa/profissional que irá desenvolver, tipo do projeto, mas te prometo que apresentarei valores ao longo do conteúdo. Siga lendo!
Como é calculado o valor de desenvolvimento de um sistema?
Para saber quanto custará o desenvolvimento de um aplicativo, sistema web ou qualquer outro software, é preciso saber quantas pessoas serão necessárias e quanto tempo levará o desenvolvimento. Com estes números em mãos uma empresa de desenvolvimento de software consegue calcular o custo e chegar a um valor final.
Para se saber quantas pessoas e o tempo, é preciso antes saber detalhadamente o que será feito, cada coisinha mesmo, para se entender o tamanho do projeto. Uma simples interface de autenticação pode ser feita em 8 horas, bem como pode ser feita em 80 horas, dependendo dos detalhes. Um post interessante sobre isso é Estimativa de projetos de software de uma maneira prática + planilha.
Este calculo será feito por uma empresa ou freelancer que tenha experiência no desenvolvimento, e que terá essa noção de que é preciso saber tudo o que está incluído no projeto, bem como o tempo que cada “coisa” costuma levar para ser desenvolvida.
Além do desenvolvimento, quais outros investimentos são necessários?
Dependendo da finalidade do seu projeto, você terá outros custos e investimentos a serem feitos, além do desenvolvimento. Vou te falar de alguns deles.
Servidores e serviços – Tenho 99% de certeza que seu sistema precisará de um servidor para salvar dados, imagens, contas de usuários e além de servir estas informações. Existem diversos fornecedores tais como Amazon (AWS), Google Cloud (GCP) , Heroku, Vercel e outros tantos. O custo irá depender muito do tipo de sistema e das tecnologias que usar no desenvolvimento. Mas uma base mínima a se pensar são 20 dólares mensais, para ter o mínimo online.
Contas nas lojas de aplicativo – Para publicar seu app no Google Play você irá pagar uma única vez a tarifa de 25 dólares, que dará direito a manter seu app lá “eternamente”. Já para a Apple Store o custo é de 99 dólares anualmente. Se seu aplicativo fizer vendas ou oferecer assinaturas, você pagará entre 15% e 30% de comissão para as lojas.
Manutenção do sistema – Uma vez que o sistema está pronto, é preciso dar manutenção e garantir que siga funcionando. A empresa ou profissional que fizer poderá oferecer um pacote de horas mensais, mas, é bom lembrar que existirá este custo após a conclusão.
Porém, o investimento adicional que é mais importante estar preparado é em marketing. Assim que seu app estiver publicado e online, zero pessoas irão saber disso e irão encontra-lo. Para que pessoas cheguem até ele será necessário investir em marketing, seja em campanhas pagas de instalação, em posts patrocinados, em Google Ads, redes sociais… enfim. Minha sugestão é investir em marketing, o mesmo tanto que irá investir no desenvolvimento, se possível, para garantir que sua solução será realmente utilizada.
Quanto tempo leva para desenvolver um sistema?
Uma vez com todos os recursos listados, é preciso imaginar quanto tempo cada item leva para ser feito, e quem irá fazer. Assim vai se construindo uma linha do tempo, pensando na ordem de cada tarefa. O design por exemplo precisa ser feito antes do desenvolvimento, já os testes dependem do código implementado, e assim por diante.
O tempo dependerá claro do tipo de sistema e de quem está desenvolvendo. Em linhas gerais é raro ter algo pronto em menos de um mês, mesmo sendo um MVP. Usualmente 3 meses é o tempo para desenvolver um projeto pequeno, por uma equipe de 3 ou 4 pessoas.
Eu diria então que 3 meses é uma base para um projeto pequeno, e 6 meses para um projeto um pouco maior.
O que é necessário para desenvolver um aplicativo?
Antes de mais nada é preciso ter uma ideia, uma demanda, algo a ser resolvido. Com um problema em mãos você começa a pensar na solução e em como a tecnologia pode ajudar.
Uma etapa super importante neste momento é tentar descrever ao máximo cada recurso que o projeto terá, cada interação que o usuário fará, como as informações serão apresentadas, que tipo de notificações ele recebe e assim por diante. Eventualmente criar um protótipo visual bem simples (estilo wire-frame) pode ser útil para você realmente pensar as atividades que acontecerão, quais as “telas” existirão e como será a navegação.
Com estas informacões em mãos você poderá buscar quem faça o projeto.
Dai em diante principal recurso para desenvolver um software serão um bando de nerds programadores, designers, um gerente de projetos, ou seja, pessoas. É nisso que irá a maior parte do investimento.
Será necessário tempo e dedicação sua para que isso aconteça. É romântico imaginar que você diz a ideia pra alguém, que vai lá e programa tudo, e te entrega pronto no final. Isso é a fórmula do fracasso na verdade (falo disso mais abaixo). É preciso se debruçar sobre o problema e a solução juntamente com o time de desenvolvimento, para garantir que tudo saia o melhor possível.
Quanto vale a minha ideia?
Na maioria dos casos, quase nada. Ideias estão por ai disponíveis, existem até newsletters que enviam diariamente dezenas de ideias incríveis de projetos de software.
Mas o ser humano é assim “a minha ideia é a melhor”, é sempre assim. E sempre “mas a minha idea é melhor que as dos outros”, claro, ela é sua, pode ser a única que tem, e você está certo em valorizar ela tanto! Mas, ela ter valor mesmo, valer dinheiro no mercado, é outra coisa.
O que tem valor é a ideia feita, implementada. Se ela já tiver sido testada e aprovada por algumas pessoas, vale muito mais. Se foi validada por muitas pessoas, inclusive pessoas que entendem do assunto (do problema que seu projeto resolve), vale mais ainda.
Então ao invés de ficar lustrando a ideia, veja como botar para fazer, rodar ela em um modo manual inicialmente, tipo usando formulários do Google, uma planilha sua, trocando mensagens no whatsapp, tipo operacionalizando mesmo a coisa de forma manual. Se as pessoas verem valor na solução, isso começa a ter algum valor.
Quanto custa para desenvolver um app?
Essa é a pergunta que não quer calar, e que você não sairá daqui enquanto não ver um número. É importante falar que existem vários tipos de sistemas, várias tecnologias e formas de fazer. Um projeto feito em Rails terá um valor diferente de um em PHP, e de outro em JavaScript, uma vez que cada tecnologia destas tem uma velocidade de desenvolvimento e tem uma qualidade diferente como resultado.
Vamos imaginar um projeto, para pensarmos em horas, e chegarmos aos valores. Neste projeto imaginário o usuário poderá criar mensagens de apresentação para serem enviadas pelo whatsApp. Assim, em um evento ao conhecer alguém irá abrir o app, digitar rapidamente o telefone da pessoa e escolher uma das mensagens para enviar via WhatsApp.
Detalhando um pouco mais os recursos:
Criar conta – O usuário criará sua conta informando seu email e senha, recebendo um link de confirmação para ativar seu registro.
Criar mensagens – O usuário incluirá quantas mensagens quiser, dando um título e mensagem. Exemplo “Apresentação para possível cliente”, “Olá, sou o Tiago Gouvêa, trabalho com desenvolvimento de sistemas…..”.
Enviar uma mensagem pré-definida – Ao acessar o app, já na primeira tela, existirá um campo de telefone para digitar um número, logo abaixo as mensagens já criadas para seleção, e um botão “Enviar agora”, que enviará para o whatsapp do número informado a mensagem escolhida.
Ótimo! Com este projeto em mente, vou falar de algumas variações para pensarmos em quantas horas levaria para fazer, dai mais abaixo chegaremos aos valores.
Desenvolvendo um PWA
Um PWA é um sistema web, que você usa pelo seu navegador no computador, mas que funciona perfeitamente também no celular. Ele se adequa a qualquer tamanho de tela, e pode inclusive ser instalado (tando no pc quando no celular).
Estamos falando então de uma aplicação web que eu diria levaria entre 200 e 300 horas para ser bem feita.
Desenvolvendo um app híbrido
“Quero que seja um aplicativo, na loja!”
Tudo bem! Fazendo um app híbrido, ele seria um app, e poderia ser publicado tanto no Google Play quanto na App Store.
Para fazer isso usando um React Native, ou Flutter eu diria que seriam necessário entre 300 e 400 horas no desenvolvimento, e publicação no Google Play.
Já para publicar na Apple, eu consideraria entre 15 e 50 horas, visto que é um processo bem mais burocrático e demorado.
Desenvolvendo um app nativo
Pensando em app nativo, seria necessário criar um projeto para Androi e outro pra iOS, são linguagens diferentes, programadores diferentes e até o computador para desenvolver pode ser diferente (para programar um app para iOS, você precisa usar um Mac).
Eu diria que a versão android, para ser desenvolvida e publicada seria algo entre 200 e 300 horas.
A versão iOS para iPhone algo entre 250 e 400 horas.
Um total então entre 450 e 700 horas para os dois.
Vai custar quanto afinal???
Agora que já sabemos que nosso projeto imaginário poderá levar entre 200 e 700 horas de trabalhou para ser feito, dependendo da tecnologia utilizada, podemos calcular o valor.
A hora de desenvolvimento em uma Empresa Junior aqui da minha cidade (Code Jr.) é cerca de R$25 (mas em outras EJs vi valores mais altos), um freelancer poderá cobrar algo em torno de R$75 a hora, e uma empresa a partir de uns R$120.
Importante pensar que cada um destes irá entregar qualidade diferentes, prazos variados de desenvolvimento e garantia distintas. Importante também ressaltar que uma empresa Jr certamente não teria know-how para um projeto nativo, e um freelancer único provalmente não programaria também a versão android e iOS sozinho, visto a diferença dos perfis necessários.
Vamos aos valores!
Provedor | Hora média | Web App/PWA | App Híbrido | App Nativo |
---|---|---|---|---|
Empresa Jr. | R$35 | 7k / 11k | 11k / 14k | 16k / 25k |
Freelancer | R$75 | 15k / 23k | 23k / 30k | 34k / 52k |
Fábrica Software | R$140 | 28k / 42k | 42k / 56k | 63k / 98k |
k=1000, então 23k = R$23.000
Estamos vendo que este projeto poderia custar de R$7.000 até R$98.000, dependendo da tecnologia e quem estiver desenvolvendo.
Uma outra possibilidade, é quem for desenvolver já ter algo pronto bem parecido, o que poderia diminuir significativamente o investimento, apesar de te forçar a aceitar alguns recursos que talvez não quisesse. Mas são detalhes muito variáveis pra explicar aqui.
Maiores ciladas ao desenvolver um aplicativo
Desenvolver qualquer tipo de sistema envolve uma grande variedade de riscos, e já vi muitos projetos falharem catastróficamente e muito dinheiro jogado fora por falta de atenção ou conhecimento. Vou listar aqui situações de alerta, mas nunca leve pro lado pessoal.
Não testar desde o começo 🔥🔥 – como já disse antes, o ideal é experimentar o sistema em funcionamento desde as primeiras 🔥semanas. Se a empresa/profissional diz que só irá entregar versões no final do projeto ou coisa do tipo. É cilada! O ideal é que, se possível, desde o primeiro mês você e mais algumas pessoas próximas tenham acesso ao sistema (em ambiente de teste) para experimentarem, validarem e darem feedback.
Pagar pelo projeto sem utilizar 🔥🔥🔥 – o desenvolvedor recebe os pagamentos, e vai fazendo… e você não vê funcionando. Vê um print, mas não chega a usar. Quando vê já pagou 80% do projeto e nem sabe se já tem como criar uma conta.
Não ter acesso a 100% dos fontes – o ideal é no primeiro dia já receber acesso ao repositório do projeto (como administrador), e acesso a toda a documentação existente, para poder conferir se diaramente novos códigos estão sendo feitos e também evitar que seu projeto seja “sequestrado” mais na frente caso algo dê errado.
Contratar o menor preço 🔥 – se seu projeto for um site simples, tudo bem, mas quando se trata de sistemas, um preço muito baixo signfica que quem está oferecendo o serviço não sabe medir quanto tempo irá levar pra fazer. O possivel resultado disso é chegar na data da entrega final e não ter nem 30% do projeto pronto. Já vi isso acontecer MUITAS vezes.
Não ter referências reais 🧨 – “ele disse que já tinha feito isso antes” ou “ele aprender na faculdade, sabe fazer” signfica alto risco. Esteja ciente antes de começar que tempo poderá ser perdido, bem como dinheiro. Quem já fez algo, e sabe como fazer, tem o que mostrar, tem quem recomendar.
Não ter um contrato 🧨🧨 – problemas podem acontecer, e é bom que tenha um contrato que projeta os dois lados. Que diga o que cada um pode ou não fazer, e o que deve ser feito. Começar um projeto sem um contrato é uma roleta russa.
Contratar empresa, freelancer, ou montar um time próprio?
Já fui freelancer, já fui terceirizado, já tive outras empresas de desenvolvimento, já mantive times próprios, então sei bem como isso acontece.
A Empresa Jr como eu sugeri anteriormente, é opção a ser considerada, principalmente se seu projeto for bem simples (visto que eles não terão muita experiência nisso), ou se seus recursos forem poucos. Uma coisa a se observar também é a gestão da EJ, porque algumas trocam todo o time a cada 6 meses, um ano, e já vi projetos darem errados trocas, com uma nova gestão que não deu conta de dar continuidade no projeto da gestão anterior.
O freelancer é uma boa opção se o projeto não for grande demais, se você tiver referências reais do seu trabalho, souber onde ele mora e ter um contrato amarrando todas as pontinhas. As vezes um profissional começa um projeto, logo depois fecha outro, dai surge uma oportunidade de entrar em outro projeto ainda melhor… e o seu vai ficando pra trás. Por ser uma “one man band” (uma só pessoa que faz tudo), o processo costuma fluir um pouco mais lento, mas nem por isso significa que será de baixa qualidade.
A fábrica de software é a opção mais segura no geral, mas provalmente a mais cara, uma vez que terão pessoas selecionadas trabalhando no projeto, dedicando tempo e atenção para fazer bem feito. Eventualmente haverá um gerente de projetos, que se comunicará diariamente contigo, uma vez que existem pessoas dedicadas para cada coisas; um designer, uns programadores, um “testador”. O valor é maior com certeza, porém a chance é bem menor do projeto parar ou falhar. Se um dev do time sair, não é problema seu, a empresa irá contratar outro e colocar no lugar, ou utilizar um que já esteja no time.
Ao montar um time próprio você com certeza já geriu (ou ao menos lidou com) desenvolvedores e já participou do desenvolvimento de algum projeto de software, porque, se esse não for o caso, você não sabe onde está se metendo. É cilada! Selecionar, contratar, capacitar, criar tarefas, acompanhar o que está sendo desenvolvido, saber conferir a qualidade e ainda manter esse pessoal motivado é coisa muito difícil, que nem vou explorar neste post.
Empresas que desenvolvem apps
A minha tendência é te recomendar a App Masters, porque é a minha empresa, mas para não ser tão parcial vou sugerir aqui outras opções.
Se uma Empresa Jr lhe parece uma boa opção, recomendo a Code Jr aqui de Juiz de Fora ou a No Bugs de BH.
Se você quer não puder investir tanto e não precisa de tanta qualidade te recomendo procurar um freelancer no Workana.
Outras empresa boas que posso recomendar, porque conheço o trabalho são Ioasys e ByCoders… mas já adianto que terão um preço muito maior que o meu. 🙂
Considerações finais
Pensando na concepção do seu projeto, é importante validar com pessoas que entendam do assunto se ele é realmente uma boa solução para o problema. Conferir se já existem soluções parecidas e se o mercado realmente precisa daquilo, ou seja, se ele atenderá de verdade uma demanda.
No desenvolvimento, independente de se contratou um freela ou empresa, o mais importante na minha opinião é ver o projeto funcionando pelo ao menos a cada duas semanas, se possível toda semana, para saber que está evoluindo, para ter um % do realizado, para entender o que falta ser feito ou corrigido e assim evitar problemas. Entregras constantes te fazem ver pelo que está pagando.
Em todos os casos, não se estresse com o projeto, se dedique desde o inicio a prover as informações ncessárias para quem estiver desenvolvendo, peça a opinião de terceiros e nunca deixe de pesquisar as novidades e tendências no segmento da solução. O sucesso do projeto não é só a qualidade técnica, nem só ser uma boa ideia, é preciso ter essa uma conjunção de fatores para alcançar o sucesso (mas isso é assunto pra outro post).
. . .
Espero que este post tenha sido útil pra você, e sinta-se a vontade para enviar suas questões nos comentários, pois todas serão respondidas.