Um aplicativo exige competências de design e desenvolvimento de software. Está mais próximo ao desenvolvimento de software do que a criação de sites. É muito comum ver no mercado agências digitais desenvolverem apps, e isto está ligado a origem da demanda, e não as competências. Um aplicativo pode ter várias finalidades, mas a maior parte está ligada a marketing e comercial: catálogos, e-commerce, atendimento a clientes, notícias, promoções, institucional.
Ao contratar uma empresa para desenvolver um aplicativo certifique-se da real experiência com software. Se for uma empresa com história apenas em publicidade e propagada há um grande risco desta empresa estar realizando uma terceirização. Os efeitos danosos desta prática aparecem na entrega do produto, com requisitos não atendidos. Para consertar estas lacunas as agências precisam pagar aos subcontratados novas quantias, e começam os problemas. Outro efeito colateral é um custo maior devido aos atravessadores no processo. Um aplicativo para celular deve ser desenvolvido por profissionais com formação ou larga experiência na área de TI. O profissional da agência é habilitado para trabalhar design.
Um aplicativo mobile é composto por duas partes:
- Área administrativa: desenvolvimento web para manipulação dos cadastros, parâmetros e monitoramento. É semelhante a um site, roda em browser e precisa de internet.
- Aplicativo para smartphone: o app que é baixado pelo usuário na Apple store (sistema operacional IOS – Iphone), Google play (sistema operacional Android), Windows Store (sistema operacional Windows phone).
Por que desenvolver um app é complexo e trata-se de um software? Vamos entender melhor vendo as competências necessárias:
- Designer
Responsável por elaborar o desenho das interfaces do app, primando pela usabilidade, que é uma das características mais importantes de um APP. Algumas empresas estão chamando este profissional de Front End Designer ou Front End Engineer.
- Webdesigner
Aplicar o layout projetado, utilizando CSS, que é a parte de programação que faz as formatações em sites e aplicativos. Dependendo da competência do profissional, pode ser a mesma pessoa.
- Analista de sistemas
É quem entende a necessidade de negócio do cliente, e especifica (documenta) o que precisa ser feito no projeto. Normalmente tem habilidades de desenvolvimento, e pode ou não participar da parte de programação.
- Arquiteto de Software
Analisa as necessidades do projeto de define a arquitetura técnica que melhor se encaixa no projeto. Muitas vezes também programa as partes mais complexas do projeto.
- Desenvolvedor / Programador
Transforma as especificações de negócio do aplicativo em código, seguindo as diretrizes técnicas do arquiteto e análise funcional do analista de sistemas. O código fonte faz a conexão com banco de dados e a camada visual, para leitura, gravação e exposição das informações. Esta parte representa em torno de 50% do esforço total de um projeto de desenvolvimento de aplicativo para celular.
- Analista de banco de dados (DBA)
Em projetos menores o próprio analista de sistema, arquiteto de software ou programador pode executar este papel. Em projetos maiores a figura de um DBA (Database Analyst) é fundamental para tratar adequadamente grandes volumes de dados. É responsável por definir a arquitetura do banco de dados e apoiar na criação dos comandos para tratamento das rotinas mais complexas de manipulação de dados.
- Analista de Testes
Valida o projeto do aplicativo, ou seja, se a etapa de codificação cumpriu o que foi solicitado na especificação do Analista de Sistemas, e se não há erros (bugs) no app. Dependendo da configuração da equipe, o próprio analista de sistemas pode executar a etapa de validação.
- Gerente de Projetos ou Coordenador
Profissional que cria e acompanha o cronograma do projeto, distribuindo as tarefas para os profissionais.
Quanto menor for o projeto, mais fácil absorver estas competências em poucas pessoas, tornando alguns profissionais multitarefas. Pelo menos um designer e o desenvolvedor experiente existem em todos projetos. Para estas duas competências, é improvável centralizar em um único profissional, são habilidades muito distintas.
Qual é o valor médio para desenvolver um APP?
Um aplicativo de celular de pequeno porte leva em torno de 150 a 500 horas, e tem o custo aproximado de R$ 10 mil a R$ 60 mil. Aplicativos mais complexos podem chegar ao valor de R$ R$ 100 mil ou R$ 200 mil facilmente. Um projeto pequeno leva de 2 a 4 meses, e grandes projetos de 6 meses a 1 ano. Mesmo que sejam 150 horas de trabalho, há algumas etapas que não se resolvem sequencialmente, como as homologações com os clientes, estudo de mercado, etc.
É fundamental entender que será necessária manutenção para evolução e correção de problemas que possam aparecer, além dos custos de servidor para hospedagem. Algo em torno de R$ 500 mensais para manter o aplicativo pequeno em funcionamento, e aplicativos complexos podem consumir grandes escalas de servidor e uma equipe inteira para manutenção, algo em torno de R$ 5 mil a R$ 30 mil por mês.
Lembrem-se, um app é um software, não é um site.