Custo e Processo de Desenvolvimento de Aplicativos para Celular

Custo de Desenvolvimento de Aplicativos para Celular / Processo, Custo de Desenvolvimento de Aplicativos para Android / Processo

Muitas vezes os clientes me pedem para fornecer-lhes um custo de “ball-park” para desenvolver um aplicativo, para que eles possam decidir sobre um orçamento ou abordar os investidores para levantar dinheiro para o projeto do aplicativo.

Neste artigo, vou rever o processo de desenvolvimento de aplicativos para celular, diferentes requisitos de talento e itens que afetam o desenvolvimento de aplicativos para celular.

Processo de desenvolvimento de aplicativos móveis

Below itens mostram o processo típico de desenvolvimento de aplicativos móveis:

  1. Wireframing – Wireframing é um importante processo de construção de um aplicativo; isto porque ele irá construir a base de como o aplicativo precisa ser projetado e funcionar. Uma coisa importante a notar é que com aplicativos móveis, será muito mais demorado e caro refazer as telas ou reconstruir funcionalidades do que um aplicativo web, portanto, é importante construir os wireframes antes de iniciar o desenvolvimento. Durante o wireframing, um especialista em UX e um desenvolvedor de aplicativos precisam ter sessões de descoberta (brainstorming) com o dono do projeto para resolver como o aplicativo será projetado e funcionará. Quanto mais complexidade, ou quanto mais telas o projeto tiver, mais tempo levará para completar o wireframing. Para completar o wireframing, um especialista em UX desenhará o navifgation, telas, e todos os elementos que vão para as telas do aplicativo e observando as funcionalidades de cada tela.
  2. App Screen Design – Desenho das telas do aplicativo (front-end) tanto para iOS quanto para Android.
  3. Programação da aplicação – Programação das telas da aplicação (front-end) tanto para iOS como para Android.
  4. Application / Database Framework – Configuração do server-side framework (cloud / back-end) da aplicação e criação da estrutura do banco de dados.
  5. Programação da aplicação do lado do servidor – Escrevendo todo o código do lado do servidor para implementar a funcionalidade back-end.
  6. Desenvolvimento de APIs – Escrevendo todas as APIs que conectam as telas da aplicação à aplicação do lado do servidor e ao banco de dados.
  7. QA de usabilidade – Testando as telas da aplicação para bugs e corrigindo quaisquer problemas.
  8. Multi-plataformas, Multi-dispositivos, versões de SO, Resoluções QA – Testando o aplicativo em todas as diferentes plataformas (iPhone, Android, Windows Phone) e diferentes versões de SO de cada plataforma (Apple iOS tem duas versões populares: iOS 8 e iOS 7, SO Android tem cinco versões populares (Android 4.1,4.2,4.3,4.4.4,5.0), diferentes resoluções de diferentes dispositivos móveis (entre diferentes dispositivos de smartphones, phablets e tablets, há bastante resoluções para testar e isso pode ser demorado).
  9. Back-end QA Testando o código back-end para desempenho e segurança.
  10. Cloud Setup – Implante a aplicação do lado do servidor para o servidor / nuvem.
  11. Submeter às Lojas de Aplicativos – Implantar o aplicativo nas Lojas de Aplicativos.

Talento necessário para Construir um aplicativo móvel de qualidade

Construir um aplicativo móvel de qualidade requer muitos passos e requer diferentes talentos com diferentes especialidades:

  • Para wireframing, um especialista em UX (User Experience) que tenha experiência em construir telas de aplicativos com a melhor experiência de usuário. Um Especialista UX deve conhecer as convenções e regras de exibição da navegação e elementos nas telas, facilitando aos usuários uma melhor navegação do aplicativo e encontrar o que eles precisam, com a prioridade correta.
  • Para desenhar as telas do aplicativo, o Designer precisa saber como desenhar para diferentes dispositivos: telas do iPhone, Android e Windows phone. Em suma, o Designer deve ter a experiência e a visão de como diferentes objetos ou elementos gráficos vão ficar nas telas de pequenos telefones e diferentes resoluções. O Designer também precisa usar o tamanho certo, gráficos e ícones certos, e temas para o aplicativo.
  • Para programar as telas do aplicativo, o Programador precisa ter experiência no uso do ambiente Xcode com Objective-C ou Swift para iOS, e Java para Android. Normalmente, os programadores tornam-se especializados no desenvolvimento de iOS ou desenvolvimento de Android.
  • Para escrever a aplicação do lado do servidor e APIs, o Programador precisa ter experiência na escrita de código de manutenção com a melhor segurança e performance.
  • Para QA, o Especialista em Garantia de Qualidade e Testador precisa ser orientado em detalhes e ter experiência na busca de funcionalidades e problemas de design que normalmente não são fáceis de ver pelos Desenvolvedores.
  • A implantação da aplicação do lado do servidor vai além de ser um Desenvolvedor ou Programador; requer um Programador experiente e um Especialista em Nuvem, às vezes referido como DevOps. O DevOps precisa ter experiência na instalação da aplicação, criar um ambiente de servidor confiável, redundância de banco de dados, backup, segurança, desempenho e escalabilidade da aplicação.
  • A implementação da aplicação para a loja de aplicações é normalmente uma tarefa fácil.

Então, quando você olhar para os requisitos de talento para construir um aplicativo, você vai perceber que para construir um aplicativo de qualidade que é bem projetado, amigável, funcional e escalável, você vai precisar de diferentes talentos com diferentes experiências e especialidades, e isso pode adicionar um custo substancial para o projeto do aplicativo.

Custo do Ball-park de desenvolvimento de aplicativos móveis

Com base em todos os talentos que são necessários e todo o trabalho e processo que vai na construção de um aplicativo, eu criei abaixo, uma estimativa do custo do Ball-park de desenvolvimento de aplicativos.

Para ler mais sobre desenvolvimento de aplicativos nativos vs desenvolvimento de aplicativos híbridos, clique no link abaixo:
https://www.comentum.com/phonegap-vs-native-app-development.html

MVP: Produto mínimo viável

Decomposição do custo do Ball-park para o desenvolvimento de aplicações nativas: Android & iPhone
Projeto Small MVP Small Enterprise Medium MVP Medium Enterprise Médio Empresa Grande Médio Empresa Grande
Discovery and Wireframing $1,500 $2,500 $2.500 $3.500 $5.000 $9.000
App Screen Designs $2.000 $3606>$3,000 $3.500 $5.000 $5.000 $9.000
iOS desenvolvimento nativo $9,000 $11,000 $37,000 $45,000 $60,000 $90,000
Desenvolvimento nativo andróide $9,000 $11,000 $37,000 $45,000 $60,000 $90$,000
Back-end Programing, Base de dados e APIs $5,000 $7,000 $9,000 $10,000 $12.000 $12.000
Administração de Aplicações N/A $7,500 $9.000 $15.000 $10.000 $20.000
Garantia de Qualidade e Refinamentos iOS $2,000 $2,500 $5,000 $6,500 $7,000 $9,000
Garantia de Qualidade e Refinamento Android $2,000 $2,500 $5,000 $6.500 $7.000 $9.000
Desdobramento e Nuvem $1.500 $2,000 $2,000 $3,000 $2,000 $3,000
Total (Uma Plataforma) $21,000 $35,500 $68,000 $81,000 $101,000 $152,000
Total (Android e iPhone) $32,000 $49,000 $110,000 $125,500 $168,000 $251,000

Decomposição do Custo do Parque de Esferas para o Desenvolvimento de Aplicações Híbridas: Android & iPhone
Projeto Small MVP Small Enterprise Medium MVP Medium Enterprise Médio Empresa Grande Médio Empresa Grande
Discovery and Wireframing $1,500 $2.500 $2.500 $3.500 $5.000 $7.500
App Screen Designs $2,000 $3,000 $3,500 $6,000 $5,000 $9,000
Desenvolvimento de aplicações híbridas usando a tecnologia PhoneGap $10,000 $12,000 $38.000 $45.000 $65.000 $100.000
Back-end Programing, Database and APIs $5,000 $7,000 $9,000 $10,000 $12.000 $12.000
Administração de Aplicações N/A $7.500 $9.000 $15.000 $10.000 $20,000
Garantia de Qualidade e Refinamento $2.000 $4.000 $5,000 $7,000 $9,000 $11,000
Desdobramento e Nuvem $1,500 $2,500 $2,000 $3,000 $2,000 $3,000
Total (Android & iPhone) $22,000 $38,500 $69,000 $89.500 $108.000 $162.500

Factores de custo de desenvolvimento de uma aplicação móvel

O custo de desenvolvimento de uma aplicação móvel é baseado nestes factores:

1. Plataformas e Ambiente de Aplicações

Construção para todas as plataformas aumenta substancialmente o custo. Isso ocorre porque o Apple iPhone utiliza o Xcode IDE e a Objective-C ou Swift Programming Language, o Android utiliza a Java Programming Language e o Windows utiliza a C# Programming Language.

Se o desenvolvedor precisar construir o aplicativo para todas as plataformas, e o aplicativo precisar ser construído usando a linguagem de programação nativa de cada plataforma, o custo de desenvolvimento será dobrado ou triplicado devido ao tempo necessário para construir o aplicativo usando diferentes linguagens de programação de cada plataforma.

Se o aplicativo pode ser construído usando tecnologia de desenvolvimento híbrida, o desenvolvedor pode construí-lo uma vez usando, por exemplo, HTML5, CSS e JavaScript e usar o PhoneGap para preparar o aplicativo para todas as plataformas. Isto pode reduzir substancialmente o custo de construção para todas as plataformas.

Para ler mais sobre as diferenças entre desenvolvimento de aplicações nativas versus desenvolvimento de aplicações híbridas, use o artigo abaixo vinculado:
Desenvolvimento de aplicativos nativos versus desenvolvimento de aplicativos híbridos / PhoneGap

2. Customizações versus uso de widgets de aplicativos padrão e convenção

Quanto mais customizações você fizer, mais tempo leva para desenvolver seu aplicativo.

Além disso, é bom saber que o ambiente de desenvolvimento de aplicativos para cada plataforma fornece certos widgets para construir a convenção padronizada, como navegação, mudança de telas, animações e outros elementos de interação do usuário do aplicativo. Ao utilizar a convenção padrão, o custo de desenvolvimento do aplicativo será mais econômico.

3. Número de telas do aplicativo

O número de telas tem um impacto direto no custo; quanto mais telas você tiver, mais trabalho irá para a construção do aplicativo.

4. Complexidade das telas

Recomenda-se construir telas mais limpas (e menos ocupadas) com navegação simples que usa convenções de aplicativos padrão. Isto proporcionará a melhor experiência para o usuário e reduzirá o custo de desenvolvimento.

Se você construir telas ocupadas com muitos elementos de navegação complexos, o custo de desenvolvimento do aplicativo será maior

5. Compras de Ecommerce e In-App

Sempre que você estiver trabalhando com dinheiro, o desenvolvedor precisa ser extra cuidadoso com os cálculos e segurança.

Então, compras em apps e lidar com o dinheiro adicionam mais tempo ao desenvolvimento porque é necessário tempo extra para garantir que os cálculos sejam precisos, e que o aplicativo seja seguro.

Mesmo após a conclusão do desenvolvimento, eu recomendaria fazer testes adicionais nas transações para garantir a precisão dos cálculos antes de entrar em funcionamento com a aplicação.

6. Integração com as APIs de terceiros

Quando o aplicativo precisa se comunicar com outros serviços, o desenvolvedor precisa aprender e fazer interface com APIs de terceiros.

Isso exigirá tempo extra para aprender as APIs de terceiros e implementá-las corretamente. Em muitos casos, o desenvolvedor não pode avaliar a quantidade de trabalho que está envolvido na interface com APIs de terceiros até que ele gaste algum tempo aprendendo a API e fazendo a interface com ela.

7. Animação complexa

Animação e jogos customizados e complicados podem levar um tempo substancial de desenvolvimento.

Animações complicadas que não oferecem nenhum propósito prático também podem retardar o seu aplicativo e frustrar o usuário. Por isso, tente ficar longe de animações complicadas que não servem a nenhum propósito prático.

8. Suporte para múltiplas resoluções de tela móvel

Existem três tipos de dispositivos móveis:

  • Smartphones – exemplos: Apple iPhone 3,4,5,6 ou Samsung Galaxy S2, S3, S4, S5, ou LG Nexus 4, 5.
  • Phablets (o tamanho da tela é entre Smartphone e Tablets), exemplos: Apple iPhone 6 Plus ou Motorola Nexus 6.
  • Exemplos de Tablets: Apple iPad versões múltiplas, mini versões múltiplas, Air, Samsung Galaxy Tab (versões múltiplas)

Os dispositivos acima todos têm resoluções de tela diferentes. Para as versões mais recentes do SO dos dispositivos, existem formas de redimensionar o conteúdo para corresponder à maioria das telas, mas construir interfaces personalizadas para suportar todas as resoluções de tela pode ser muito demorado e caro.

9. Suporte para todas as versões do sistema operacional (SO) dos dispositivos

Abaixo está a lista de todas as versões de SO de dispositivos móveis e todas as versões populares de SO. Se você está procurando suportar todas as versões de sistema operacional de todos os dispositivos, o custo será muito maior.

Eu recomendaria selecionar apenas as versões populares do SO dos dispositivos para suportar.

  • Dispositivos Móveis da Apple O sistema operacional móvel da Apple é chamado de iOS. iOS tem versões que vão desde a versão 1.0 até a 8.0 (lançada em setembro de 2014).
    Below é a lista de versões populares do iOS, e percentagens aproximadas da sua quota de mercado a partir de Fevereiro de 2015:
    • iOS 8: 80%
    • iOS 7: 19%
  • O Android Mobile Devices Android OS tem versões entre 2.2 e 5.0 (lançado em novembro de 2014) A partir de fevereiro de 2015, as versões populares do Android OS são: (as percentagens são aproximadas)
    • SO Android 4.4: 60%
    • SO Android 4.3: 7%
    • SO Android 4.2: 13%
    • SO Android 4.1: 12%
    • SO Android 5.0: 5%
  • Windows Mobile Devices Microsoft Phone OS tem versões de 7 a 8 (lançado em outubro de 2012) Neste ponto eu não tenho dados suficientes para fornecer a porcentagem aproximada da participação de mercado de cada versão.

10. Suporte Offline

Desenvolver para funcionalidade de suporte offline pode ser demorado e, por sua vez, irá aumentar o custo de desenvolvimento.

11. Continuidade / Handoff Característica

Característica Handoff fornece a funcionalidade de conectar e compartilhar / mover informações e dados entre diferentes dispositivos.

A funcionalidade de transferência de propriedade pode ser demorada e pode adicionar um custo substancial ao projecto.

A pesquisa para este artigo foi concluída em 24 de fevereiro de 2015; as informações podem mudar.

Leave a Reply