
Publicamos uma tradução do
material por Alexander Savchenko, funcionário da Django Stars. Ele explica como avaliar o custo de criação de aplicativos móveis, levando em consideração itens de custo diretos e indiretos.
Determinar o custo do desenvolvimento de um aplicativo específico é uma tarefa importante para a empresa e o programador que trabalha de forma independente. Vale a pena dizer imediatamente que é improvável que você atinja 100% de precisão, mas esta análise ajudará você a se aproximar da máxima exatidão da estimativa.
A Skillbox recomenda: Curso prático "Mobile Developer PRO" .
Lembramos que: para todos os leitores de "Habr" - um desconto de 10.000 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".
Você está avaliando não linhas de código, mas o produto como um todo
Quando falo sobre desenvolvimento de aplicativos, quero dizer o projeto como um sistema único, não linhas de código individuais. Consequentemente, sua implementação inclui arquitetura, comunicações, testes, avaliação da qualidade e tudo o que geralmente é incluído nesse processo.
Além dos custos diretos (tempo gasto exclusivamente no trabalho no aplicativo), existem custos indiretos que nem sempre são levados em consideração:
- Além do desenvolvimento, você precisará testar o aplicativo, analisá-lo e estar pronto para realizar uma campanha de marketing, se necessário. Além disso, sempre existem diferentes tipos de despesas imprevistas, que discutiremos abaixo.
- Análise da viabilidade da ideia e métodos para sua implementação. O que inicialmente parece uma idéia legal, na prática pode ser difícil de implementar. Além disso, você definitivamente deve avaliar a competitividade de sua aplicação: se houver muitos análogos, pode valer a pena pensar novamente e decidir se deve colocar sua idéia em prática.
- Idéias para investidores. Os investidores estão interessados apenas em uma coisa - se o projeto poderá gerar dinheiro. Mesmo que o conceito seja interessante, mas não exista argumento na forma de um plano de negócios ou protótipo, é improvável que os investidores o apoiem. É necessário avaliar as possíveis receitas e custos com base nessas realidades.
- Trabalho em equipe. Aplicativos de alta qualidade são possíveis graças à colaboração entre diferentes membros da equipe, cada um dos quais é especialista em seu campo.
Você também precisa levar em consideração coisas importantes como:
- Comunicações. Para a reconciliação dos itens de despesa, você deve sempre manter o dedo no pulso do fluxo de trabalho. E isso significa comunicação constante com outros membros de sua equipe. Entre outras coisas, eles devem ter um bom entendimento do que estão trabalhando e conhecer as nuances do posicionamento do projeto.
- Planejamento e brainstorming. Novas idéias são sempre boas, mas, infelizmente, ninguém pode garantir que a próxima sessão da sessão de brainstorming dê respostas a todas as perguntas e ajude a continuar trabalhando.
- Tarefas adicionais. Durante o desenvolvimento, você pode obter novas idéias e sugestões. Alguns deles exigirão o uso de tempo e recursos trabalhistas adicionais.
Levamos em consideração fatores implícitos
O principal problema no processo de avaliação do custo de criação de um aplicativo é que, no início do caminho, não sabemos quais dificuldades encontraremos. Isto é especialmente verdade para idéias que ninguém ainda implementou.
Para avaliar a maioria dos fatores conhecidos que afetam o processo de desenvolvimento e seu custo, é necessário realizar uma análise e incluir também a suposição de que novos problemas e tarefas surgem durante o trabalho, como mencionado acima.
Os fatores podem ser divididos em três categorias:
- Tudo o que é exatamente conhecido no momento é, por exemplo, a necessidade de registrar um domínio, alugar uma hospedagem com certas características, etc.
- Fatores ainda desconhecidos, mas sua aparência pode ser prevista - por exemplo, transferência de prazo ou trabalho técnico no servidor.
- Fatores desconhecidos e difíceis de prever.
Estimativa passo a passo dos custos de desenvolvimento
Histórias de usuário e tarefas de desenvolvedorNesse estágio, é necessário descrever a funcionalidade do sistema do ponto de vista de vários grupos de usuários. Essa é, grosso modo, a documentação de requisitos externos para o desenvolvimento de produtos. Além disso, você precisa distribuir as tarefas para a implementação dessas funções por desenvolvedores individuais.
Especificamos o escopo do trabalhoInicialmente, é necessário formular uma visão clara da aplicação e garantir que todos os participantes do projeto entendam essa visão. Também é necessário que cada membro da equipe conheça seu papel no processo de desenvolvimento de nosso aplicativo da web.
O desenvolvedor front-end deve saber quais versões do navegador precisam ser suportadas, se é necessária uma versão móvel etc. O especialista de back-end deve entender quais recursos o administrador, o usuário "convidado" terá e se é necessária a integração com outros sistemas. Da mesma forma, um arquiteto, um designer de interface, um analista de negócios e outros representantes da equipe devem conhecer as nuances da tarefa que são importantes para eles.
Estimativa do tempo de implementação de cada tarefaDepois que todo o processo de desenvolvimento é dividido em tarefas separadas para membros específicos da equipe, procedemos ao cálculo do prazo para a implementação de cada uma dessas tarefas. É aconselhável fornecer um período otimista, normal e pessimista - isto é, quando surgem problemas e o prazo termina.
Pode ser assim: para desenvolver um sistema de gerenciamento de tráfego em uma situação ideal, leva 10 dias; realmente - algo em torno de 20 dias; se surgirem problemas, então um mês. Você também precisa considerar o fator de correção, que é de cerca de 95%.
Estimativa de termos
Cálculo do lead time, levando em consideração o fator de correção de 95%As ilustrações mostram um exemplo de cálculo do tempo de execução de tarefas individuais. Para o Gerenciamento de tráfego, são 33 dias e também são possíveis desvios das datas estimadas.
O que fazer se a classificação do aplicativo Web for muito alta ou baixa
Se você não gostar muito do resultado final, ou seja, o preço do aplicativo for muito alto ou baixo (no último caso, pode ser que não faça sentido trabalhar com esse valor), tente executar o cálculo novamente.
Se o aplicativo for muito barato, pense em quantas pessoas estão envolvidas na sua criação, se todos os estágios e tarefas são levados em consideração.
Se, pelo contrário, acontecer muito, procurar mais soluções orçamentárias, reduzir o número de membros da equipe envolvidos no projeto, definir prioridades ligeiramente diferentes.
Como conclusão, direi que, ao avaliar o custo de criação de um aplicativo Web, é necessário levar em consideração todos os detalhes, incluindo fatores conhecidos e desconhecidos que podem afetar o processo de desenvolvimento.
O próprio erro de cálculo permite que a equipe entenda o escopo do trabalho e minimize os riscos. A regra principal é não se apressar, mas também tenha cuidado com seus desejos.
A Skillbox recomenda: