Blog da Ploomes
Desenvolvimento de software

Contratar ou Fazer o Desenvolvimento de um Software: Qual é a Melhor Opção para Meu Negócio?

Quando uma empresa necessita de um passo em direção à tecnologia e percebe que está na hora de utilizar um sistema, como, por exemplo, para nutrição de leads, envio de propostas comerciais ou controle de fluxo de caixa, é muito provável que uma das perguntas que surjam seja:

“Devo contratar uma empresa para desenvolver uma solução personalizada, devo contratar uma equipe de programadores ou devo procurar um sistema de prateleira comercializado por licença de uso?”

E, claro, a resposta é: depende.

Vou mostrar as diferenças entre essas três alternativas em diversos aspectos. Também vou expor as principais questões que você deveria fazer às pessoas envolvidas em um projeto desse tipo.

Pré-requisitos

Antes de começar a pesar as opções, é essencial que o escopo do seu projeto esteja levantado. Entenda por escopo alguns questionamentos:

  • Qual problema você pretende solucionar?
  • Qual a urgência do seu projeto?
  • Qual o orçamento reservado?

Tendo a resposta para essas três perguntas, é possível, então, começar a pesar as alternativas que citei anteriormente:

1 – Contratando profissionais de desenvolvimento de software

Esta é a escolha para quem procura uma solução que resolverá 100% do problema levantado. É indicada para quem tem pouca flexibilidade com a forma que o sistema deve funcionar, processos corporativos muito bem definidos (e igualmente pouco flexíveis) e capacidade de gerenciar uma equipe de desenvolvedores.

Definição de tecnologia

Se a definição do problema estiver alinhada, você, como responsável, terá que decidir quais tecnologias serão implementadas.

É uma grande responsabilidade que pode afetar o projeto inteiro, pois interfere desde contratações até prazos. Se você não souber responder quais serão as tecnologias usadas, é necessário que essa tarefa seja delegada a outra pessoa.

Construção da equipe

Caso você não possua uma equipe de desenvolvedores na sua empresa, não tenha experiência na gestão de projetos de desenvolvimento de sistemas e nem possua alguém que possa fazer este trabalho, recomendo abandonar a alternativa de desenvolvimento interno.

Gerir profissionais não é fácil. Imagine cuidar de uma equipe especializada em uma área que não é a sua.

Existem alguns pré-requisitos que um bom gestor deve cumprir, como conhecer as limitações de um computador e das linguagens de programação em geral, conhecer o mercado de mão de obra de programadores e conhecer pelo menos uma metodologia de desenvolvimento de software.

Ter uma equipe à disposição para iniciar imediatamente causará, obviamente, uma redução drástica no tempo de entrega do projeto e, portanto, deve ser um fator decisivo para determinar a escolha por esta alternativa ou não.

Execução do projeto

A execução do projeto ocorrerá de acordo com a metodologia de desenvolvimento de sistemas. Um bom engenheiro de software é o profissional ideal para determiná-la e gerenciar o andamento do projeto.

Atualmente o mercado está focado em metodologias ágeis (Scrum, XP, Lean). A velocidade e qualidade da entrega dependerá da dedicação, habilidade e organização dos envolvidos.

Manutenção

Desenvolvimento de software Manutenção
Leve em conta os custos de processos após a implantação do projeto

Então seu projeto foi concluído com sucesso. Possivelmente alguns atrasos e imprevistos ocorreram, porém a entrega está de acordo com o esperado.

Mas o que acontece agora?

Muito provavelmente você precisará de um servidor para hospedar seu sistema, o que gerará custos periódicos. Será necessário também que um ou mais profissionais de tecnologia sejam capazes de dar suporte tanto à infraestrutura quanto à aplicação e até mesmo continuar desenvolvendo melhorias.

Portanto, assumir que o investimento termina quando o projeto é finalizado é um equívoco.

2 – Contratando uma empresa de desenvolvimento de software

Os processos bem definidos de sua empresa e inflexibilidade da solução ideal permanecem. Porém o gerenciamento de uma equipe de desenvolvedores está fora de sua alçada e a urgência não é tão grande. Talvez contratar uma empresa de desenvolvimento de software seja a saída.

Busca por fornecedores

O levantamento de requisitos técnicos para a definição de tecnologia já não é mais um problema. Agora o desafio é encontrar um fornecedor.

No entanto, encontrar uma empresa de desenvolvimento de software é uma tarefa muito mais simples que construir uma equipe do zero.

Assume-se que seu fornecedor fará uma série de entrevistas para conhecer o seu processo e ele mesmo será responsável por determinar qual a melhor tecnologia e metodologia de desenvolvimento.

É esperado que ele já possua uma equipe à disposição, processos internos bem definidos e que o valor a ser investido seja maior que montar um sistema por conta própria.

O maior ponto de atenção desta alternativa é garantir que você, como cliente, tenha absoluta certeza que todos os seus requisitos tenham sido levantados e que todos eles, sem exceção, estejam especificados em contrato.

Execução do projeto

Se a metodologia escolhida for ágil, durante a execução do projeto você apenas precisará validar os pontos combinados em pequenas entregas e possivelmente solicitar pequenos ajustes, desde que tenham sido acordados no contrato.

Vale lembrar que alguns acordos preveem que esses ajustes resultarão na cobrança de horas extras pelo seu fornecedor. Esteja com seu orçamento sempre prevenido, pois imprevistos sempre acontecem.

Manutenção

A manutenção pode ocorrer de duas formas: por sua parte ou por parte de seu fornecedor. Novamente recomendo que, caso não possua uma equipe preparada para essa tarefa, delegue-a para o fornecedor.

De qualquer modo, deverá ser provisionada em seu orçamento uma taxa mensal para cobrir custos de uma infraestrutura disponível com servidores.

Um ponto importante: erros de programação, um mau funcionamento de seu sistema ou uma funcionalidade não desenvolvida não devem gerar cobranças adicionais. Garanta que o contrato assinado preveja estes casos.

Da mesma forma, seu fornecedor não tem a obrigação de acrescentar funcionalidades não levantadas no software, sejam elas pequenas ou grandes.

3 – Contratando um software de prateleira

Com o surgimento de muitas startups de tecnologia nos últimos anos, atualmente a opção para quem tem urgência, flexibilidade e baixo orçamento é encontrar um sistema pronto que se adeque aos seus processos.

Entenda que uma solução nas nuvens contratada mensalmente como o Ploomes também é considerada um “software de prateleira”.

Nesta alternativa, existe a possibilidade da empresa proprietária do sistema se flexibilizar para customizações (uma mescla de software de prateleira com desenvolvimento terceirizado).

Busca por fornecedores

O trabalho de encontrar um fornecedor pode ser um pouco maior. Graças à liberdade de um mercado de software desburocratizado, a quantidade de empresas que se dispõem a resolver o mesmo problema é alta. Portanto, há muita probabilidade em encontrar uma empresa recém-nascida durante a sua busca.

São diversos pontos de atenção, tais como valores cobrados, flexibilidade de customizações, tamanho da empresa, atuais clientes, processo de implantação e duração de contrato.

É muito comum que empresas que comercializam licenças de uso de software obriguem a assinatura de um contrato minimamente anual. Recomendo não seguir adiante caso a solução não tenha se provado adequada o suficiente.

Você provavelmente deve ter ouvido ao menos um caso de uma empresa que se arrependeu por ter assinado um contrato de longo prazo.

Implantação

A implantação ou implementação é geralmente oferecida quando o sistema é complexo o suficiente para resolver seu problema e, portanto, é necessário que haja uma configuração assistida, assim como um devido treinamento.

Este serviço demanda de horas de profissionais especializados e consequentemente serão cobradas à parte ou embutidas no valor da licença de uso. Essa variável depende do modelo de negócios de seu fornecedor.

Manutenção

Em comparação com as alternativas anteriores, a manutenção é maior vantagem de se contratar um sistema já desenvolvido. Não há preocupações com servidores (apenas para soluções nas nuvens) ou programadores. Está inclusa na licença de uso.

Em alguns casos, o desenvolvimento de melhorias também está incluso no valor cobrado periodicamente, mas não é uma regra.

Então, qual é a melhor opção?

Com todos estes pontos levantados, a dúvida permanece: qual a melhor alternativa?

Conforme explicado, a resposta vai variar de acordo com o seu cenário. A tabela abaixo nos mostra, de forma resumida, como pesar a velocidade da entrega e o investimento monetário previsto.

Estas são apenas estimativas e não necessariamente representam a realidade do mercado com exatidão. As notas variam de 1 a 3.

Gráfico das alternativas para contratação ou desenvolvimento de software
Gráfico das alternativas para contratação ou desenvolvimento de software

Considerando que os dois aspectos são inversamente proporcionais entre si, um software desenvolvido previamente por outra empresa é geralmente sempre a melhor opção.

É importante ressaltar que o investimento absoluto é diretamente proporcional às notas acima e ao tamanho do seu problema.

Quando então seria vantajoso terceirizar uma empresa para construir seu sistema?

Quando a solução oferecida pelo software de prateleira não atende ao problema, sua empresa não pode flexibilizar seus processos internos para se adequar a uma solução genérica e o fornecedor não está flexível a customizar o próprio sistema.

Quando é melhor optar por desenvolver internamente com uma equipe preparada?

Na mesma ocasião do desenvolvimento de software terceirizado, porém com um orçamento reduzido.

Quando é melhor optar por desenvolver internamente sem uma equipe preparada?

Nunca.

Vinicius Sampaio

Vinicius Sampaio

Bacharel em ciência da computação e atualmente CTO na Ploomes. Sempre habituado com planos, troquei a carreira certa de um emprego comum pela loucura de fundar uma startup. Não meço esforços para resolver um problema complexo nem para pegar minha bike e pedalar por horas.

Comentar

Siga-nos nas redes sociais

Facebook
Facebook
YouTube
LinkedIn
Instagram
Wordpress Social Share Plugin powered by Ultimatelysocial