O desenvolvimento de aplicativos móveis personalizados é barato: realidade ou ilusão

Quando você decide criar um aplicativo móvel sem ter experiência no desenvolvimento, a questão da contratação de desenvolvedores inevitavelmente surge. A pergunta em si não fornece uma resposta; portanto, você deve analisar os prós e os contras dos serviços de terceirização ou terceirização de vários artistas. O primeiro indicador a considerar ao analisar é o preço. Eu quero mais barato, mas no final vai custar barato? Com este artigo, nós da Omega-R queremos mostrar as armadilhas que podem estar escondidas atrás dos baixos preços encontrados com frequência.



2019 foi um ano recorde para o mercado global de aplicativos móveis. Vamos dar uma olhada nos indicadores: 204 bilhões de downloads de aplicativos, 45% a mais do que em 2016, 3 horas e 40 minutos todos os dias que os usuários gastam em dispositivos móveis, 35% a mais do que em 2017.

Entre as principais classificações de IPOs bem-sucedidas de 2019, estão empresas cujo principal negócio é precisamente tecnologias móveis: Alibaba Group, Prosus & Naspers e Uber. Em geral, as empresas que usam tecnologias móveis têm muitas e dez vezes mais sucesso do que as empresas tradicionais.

Parece que 2020 muda a atitude para com as tecnologias de uma vez por todas - para quase todas as empresas, a integração de tecnologias móveis nos processos de negócios se tornou uma questão de sobrevivência. Mas o desenvolvimento de aplicativos móveis tem o outro lado da moeda - o preço.

Porque tão caro?


Graças ao freelance, fica a impressão de que você pode criar qualquer aplicativo móvel chave na mão dentro de 100 mil rublos. Em alguns casos, você pode realmente contar com essa quantia: se o orçamento alocado for extremamente limitado, o que implica concordar com muitas deficiências na qualidade do trabalho, bugs (erros) ocultos e explícitos, falta de originalidade ou funcionalidade mínima do aplicativo. Com uma abordagem integrada ao aplicativo, esse preço é impossível. Vamos ver de onde vêm centenas de milhares e milhões de rublos e como eles são justificados.

Tempo


Em qualquer empresa de profissionais, o preço é claramente calculado e assinado pelos componentes. A maneira mais comum e universal de calcular é o número de horas multiplicado pelo custo do trabalho da hora (taxa) de um especialista. Assim, o tempo gasto determina o custo do projeto. Como você sabe, um estudo de qualidade de qualquer empresa pode ser garantido pela quantidade de tempo gasto com ela.



É necessário tempo para cada etapa do trabalho no projeto: pesquisa, design, desenvolvimento de design de aplicativo, desenvolvimento de front-end (parte do cliente), desenvolvimento de back-end (parte do servidor), teste e comissionamento. Esses estágios requerem necessariamente estudo detalhado ao criar um aplicativo bem-sucedido.

A hora do trabalho de um especialista em terceirização de TI pode diferir drasticamente: de 300 rublos por hora a 10.000 rublos por hora. É difícil para quem não está conectado ao mundo da TI entender essa dispersão. A taxa real de um programador de web na Rússia hoje é de 1600-3500 rublos por hora, dependendo de suas qualificações.

Se o "especialista" oferece uma taxa mais baixa, provavelmente ele começou a trabalhar recentemente e não representa o valor de mercado do trabalho. Pouca experiência em seu trabalho permite que ele "despeje", flertando com a alta concorrência no mercado de serviços de TI. No próximo projeto real, o "aluno" será capaz de ganhar experiência graças a erros, portanto, mesmo um contrato oficial sem uma designação técnica clara não é tão ruim para ele no caso de um "bloqueio", porque amanhã um novo cliente chegará "bicando" com preço baixo.

Será difícil recusar um especialista "barato" - é improvável que alguém se comprometa a remodelar muitos bugs. Mesmo que a taxa seja metade, devido a erros que você gastará seu tempo procurando, a liberação será adiada várias vezes e o número de horas pagas aumentará em 2-3 vezes. Como resultado, o valor total das despesas ainda é igual à opção de contratar profissionais experientes, cujo trabalho não se transforma em dor de cabeça.

Uma situação diferente é possível. Quando uma taxa é oferecida, por exemplo, a 1000 rublos por hora, você recebe um programador que é obrigado a dar corda no relógio. Essa taxa inclui despesas com licença médica, férias, impostos sociais, imposto de renda pessoal e outros impostos; portanto, com essa taxa de remuneração por salários, haverá pouco. Gerenciar uma equipe de desenvolvimento e controlar suas ações com seu próprio gerente nem sempre salva a situação. O resultado é um produto ruim, dinheiro gasto, dor de cabeça, inúmeras melhorias ou um novo desenvolvimento do zero.

Um aplicativo teoricamente excelente na versão básica pode ser criado à toa, mas uma equipe de desenvolvedores que sabem seu valor sempre trabalha em produtos realmente bem-sucedidos.

Estrutura de aplicação complexa


De que depende a quantidade de tempo? Pode haver muitos fatores, desde a lista de dispositivos e plataformas que darão suporte ao aplicativo até a lista de suas funções.

A estrutura complexa do aplicativo aumenta a complexidade. A parte do servidor é necessária se o aplicativo, por exemplo, sincronizar dados com o servidor ou for controlado pelo painel de administração por meio da interface da web. APIs de terceiros, capacidade de trabalhar offline, animação na interface, problemas de armazenamento de dados, controles não padrão e presença de várias funções de usuário também complicam a estrutura do aplicativo.

Quais componentes requerem mais tempo:

  1. Grandes quantidades de dados, muitas telas e ações no aplicativo;
  2. Lado do servidor;
  3. Painel administrativo;
  4. Uso de hardware de gadgets: NFC, barômetro, Bluetooth, acelerômetro, giroscópio, etc;
  5. Conexão a dispositivos externos;
  6. Integração com sistemas e serviços de terceiros;
  7. Desenvolvimento de AR / VR e aplicação de tecnologias inovadoras como IA, blockchain, redes neurais , etc.

Assim, o grau de complexidade pode representar aproximadamente a complexidade:

  1. Aplicativos simples (pequeno conjunto de funções, desenvolvimento rápido, a parte do servidor pode estar faltando) - 300 a 700 horas.
  2. Aplicações de média complexidade - 700-1200 horas.
  3. Aplicativos complexos (arquitetura complexa, problemas de segurança, muitas integrações etc.) - mais de 1200 horas.

Uma ou mais plataformas?


Interessado em desenvolver aplicativos para Android ou iOS? Ou talvez você precise de um aplicativo da web? Há vários pontos a serem lembrados. No desenvolvimento do Android, diferentemente do iOS, eles têm muitos dispositivos com especificações e versões diferentes de sistemas operacionais. A adaptação para tablets e o suporte para versões mais antigas de plataformas e dispositivos, limitados pelo desempenho, funcionalidade e falta de atualizações, levam a um custo mais alto do projeto.

Os smartphones são tão parecidos entre si que parece que você pode desenvolver um único aplicativo para Android e iOS. Mas isso está longe de ser o caso. A mesma aparência de aplicativos em plataformas diferentes é alcançada através dos espinhos de diferentes linguagens de programação, SDKs e ferramentas de programação.

No entanto, em alguns casos, você pode desenvolver um aplicativo de plataforma cruzada para duas plataformas. De acordo com nossa experiência, essa solução permite reduzir em 25 a 30% o custo de desenvolvimento de aplicativos para dois sites e acelerar o tempo de colocação no mercado.

Design não é só beleza


Descrevemos principalmente os momentos mais relacionados ao desenvolvimento e tivemos a impressão de que apenas os programadores são necessários para criar um aplicativo interessante. De fato, o trabalho sempre começa com a análise do produto e o design de UX / UI. Duvidamos que o programador seja capaz de resolver esses problemas de maneira abrangente. Aqui estamos falando sobre como conectar as necessidades de negócios e usuários no aplicativo e como torná-lo o mais simples e claro possível para o usuário.



Nenhum usuário entrará na natureza do código para avaliar se ele o usará. O principal para ele é a rapidez e a clareza com que o aplicativo resolve seu problema. E a questão não é tanto a velocidade do software, mas o desenvolvimento do Mapa da Jornada do Cliente, Fluxo do Usuário, Usabilidade, Experiência do Usuário e o desenvolvimento da interface do aplicativo. Se você nunca ouviu falar sobre isso, sugerimos a leitura de um artigo de especialista do nosso designer de UX / UI, Maxim Skvortsov. Nele, ele responde extensivamente à pergunta de por que é necessário estudar profundamente as questões de design e design e como criar um aplicativo realmente bem-sucedido.

Se você solicitou o aplicativo, isso não significa que a partir de amanhã o contratado começará a escrever o código. Como na construção de uma casa, é importante desenhar “projetos”, design interno e externo, e pensar na dinâmica da vida da casa. Aplicativos visualmente pouco atraentes ou insuficientemente pensados ​​serão excluídos imediatamente após a instalação ou nem serão baixados.

Há segurança nos números


Aplicativos de alta qualidade não são criados sozinhos; toda uma equipe de profissionais com grande experiência está trabalhando neles. Quanto mais complexo o projeto, maior a composição da equipe de desenvolvimento. A lista mínima pode incluir um gerente de projeto, designer de UX / UI, programador e testador.

De onde veio o testador? Tudo deve ser verificado antes do lançamento do aplicativo, incluindo a operação de funções, serviços e módulos conectados. O próprio aplicativo pode ser verificado pelo cliente. Mas encontrar a linha com o erro é mais difícil no código de outra pessoa e é mais fácil corrigi-lo quando você conhece o código escrito e as soluções de plataforma usadas.

Projetos complexos podem envolver um analista, uma equipe de design, um designer de layout, uma equipe de programadores, um testador e um gerente de projeto. Nesse caso, a taxa de cada especialista pode ser diferente. Mas essa taxa sempre inclui profissionais treinados e com experiência; caso contrário, a empresa enfrentará a perda de reputação conquistada por muitos projetos e uma queda nas agências de classificação. Assim, o desenvolvimento móvel é caro e o baixo custo pode falar diretamente sobre a violação de processos.

É impossível uma pessoa entender profundamente todas as áreas ao mesmo tempo. Portanto, ao contratar um programador freelancer, é provável que haja necessidade de outros especialistas. Naturalmente, com essa abordagem, pode haver inconsistência e irresponsabilidade entre especialistas em cuja experiência você não tem certeza. Mesmo se você contratar um gerente de projeto, inevitavelmente terá que se aprofundar em todos os detalhes do projeto.



Vamos reunir todas as vantagens de escolher um desenvolvedor de aplicativos para dispositivos móveis que cubra o custo aparentemente alto.

1. A capacidade de testar.Para qualquer desenvolvimento - desenvolvimento web, desenvolvimento para iOS ou Android - as empresas de TI geralmente oferecem a oportunidade de testar os recursos de uma equipe dedicada de desenvolvedores de aplicativos em uma pequena quantidade de horas livres, o que não se pode dizer sobre freelancers.

2. Frescura da tecnologia. A empresa possui uma grande equipe de funcionários experientes e intercambiáveis, que passam periodicamente por certificação e treinamento. Um solitário não será capaz de acompanhar o desenvolvimento da tecnologia em vários campos. Tecnologias desatualizadas podem levar, entre outras coisas, a vulnerabilidades e menor segurança para os usuários.

3. Datas.A empresa assina obrigações sob um contrato, cuja violação acarreta enormes riscos corporativos. O freelancer sempre terá um motivo para abandonar o projeto em qualquer estágio do desenvolvimento do aplicativo: doença, realocação, problemas familiares, emprego. No entanto, o abismo é possível sem qualquer motivo especial.

4. Profissionalismo. As empresas, em regra, estão sujeitas a verificação e certificação profissional das agências de classificação, que assumem a avaliação da experiência das empresas. Não é difícil para um freelancer “ganhar” críticas por si mesmo, especialmente em colaboração com outros freelancers.

5. O custo do tempo.Com uma empresa de TI, você pode economizar tempo e se concentrar nos seus negócios, e não em um projeto. Cada membro da equipe conhece claramente seu papel no projeto; qualquer resultado intermediário do trabalho é submetido a uma verificação interna antes de ser enviado ao cliente. Com um freelancer, você terá que assumir o papel de gerente de projeto.

6. segurança. Uma empresa de TI tem o status de uma entidade legal registrada. Isso impõe uma margem mais estrita de responsabilidade a ela e reduz bastante o risco de fraude. Uma pessoa aleatória na Internet pode facilmente fornecer o portfólio de outra pessoa e, posteriormente, transformar seus planos de "mobilização" em caos.

7. Controle.A empresa de TI já possui um processo de trabalho totalmente depurado que pode ser personalizado de forma flexível para atender às necessidades do cliente. O trabalho com um freelancer provavelmente será da natureza de um processo descontrolado, quando muitas coisas se arrastam e depois são retomadas ou interrompidas.

8. Envolvimento. O freelancer não sente nenhuma conexão com o projeto e define apenas o objetivo de ganhar dinheiro. A empresa de TI está interessada na lealdade do cliente, o que implica a alta qualidade dos serviços do desenvolvedor e a satisfação do cliente. Além disso, o envolvimento de cada membro da equipe é garantido pelo sistema corporativo de motivação dos funcionários.

Portanto, ao solicitar serviços em uma empresa de TI, você obtém:

  1. Serviços de alta qualidade
  2. Interação 24/7
  3. Experiência comprovada
  4. Cumprimento de prazos e requisitos
  5. ,

Além das vantagens descritas, temos relatórios disponíveis sobre o andamento dos projetos, de acordo com o modelo de contrato de tempo e material para o cliente. Com esse modelo, o pagamento é pelo resultado, com base nos custos de mão-de-obra, ou seja, o cliente pode ver em qual tarefa o número de horas gastas e compará-lo com o histórico de confirmações de código (porções). O esquema é tão transparente que o cliente vê todas as linhas de código escritas pelo desenvolvedor diariamente.

Pode parecer melhor não mexer com a digitalização. No entanto, deve ser considerado como um investimento no futuro dos seus negócios, o que pode perder muito mais do que o custo do desenvolvimento de um aplicativo. A "mobilização" inevitavelmente leva a um aumento na receita e na eficiência dos negócios em qualquer campo: varejo ,medicina , educação , imóveis , serviços públicos , cidade inteligente, etc.

Ao longo dos anos de nosso trabalho, tantos projetos se acumularam que as sutilezas de cada um deles não podem ser descritas com precisão em um artigo. Esperamos que a experiência de nossa empresa descrita no artigo o ajude a escolher o caminho certo de interação com o contratado. Se as formas propostas não lhe agradam, conte-nos sobre o seu problema nos comentários, para que pensemos juntos em como resolvê-lo e, ao mesmo tempo, levemos em consideração todos os detalhes do projeto.

All Articles