Por que terceirizar seu desenvolvimento de software?
Você teve aquela ideia brilhante, descobriu seu cliente, desenvolveu sua proposição de valor e montou o modelo de negócios.
As coisas vão bem, mas você precisa começar a desenvolver a tecnologia necessária para seu negócio virar realidade. Pode ser um mobile app, um site ou um e-commerce. Você precisa contar com uma equipe especializada que não vai deixar seu projeto virar um pesadelo.
Uma das principais saídas que empreendedores usam é oferecer uma parcela das cotas da empresa para aquele amigo Desenvolvedor/CTO que irá produzir o protótipo e contratar o pessoal necessário.
Na visão do empreendedor temos dois problemas:
1. Será que esse amigo realmente entende de tecnologia, é empreendedor, sabe priorizar, criar uma cadeia de geração de valor? Ele está disposto a ir além da parte técnica para ajudar em marketing, contratações, finanças etc?
2. E se não tiver um “amigo”? Não quero ser sócio de um desconhecido.
É aí que entra a terceirização dos serviços de desenvolvimento.
Por que ter um time externo de desenvolvimento?
A princípio ela pode parecer a solução mais cara, já que contratar um desenvolvedor parece ser a opção mais sensata e barata.
Na maioria das vezes isso pode ser verdade, já que tradicionalmente terceirizar seu desenvolvimento de software possui muitas variáveis a se considerar.
Erros em cronograma, orçamento e escopo frustram, e já frustraram, milhares de empreendedores e gerentes por aí. O foco acaba sendo em entregar ao invés de gerar valor. Já falei sobre isso outra vez aqui no blog.
Mas contratar uma equipe também não é algo fácil. Primeiro você vai precisar de alguém te ajudando nesse processo, mapeando competências e fit cultural com seu modelo de gestão. Depois você terá que treinar os desenvolvedores novos, contratar gerentes e analistas de negócios. No fim você pode descobrir que sua equipe não consegue avançar no ritmo que sua empresa precisa e não tem nem idaia de como resolver certos desafios.
Outro problema é a evolução tecnológica necessária. Sua equipe dá conta de fazer isso sozinha?
Riscos e benefícios de terceirizar seu desenvolvimento de software
É preciso colocar na balança os riscos associados a cada escolha. Caso eu contrate uma empresa terceirizada, se algo não der certo, qual meu pior caso? E se eu contratar uma equipe?
É comum para empreendedores ter excesso de otimismo. Sempre achamos que nossa ideia é sensacional, que vai mudar o mundo e que é a prova de balas. Mas quando se trabalha com startups, o risco é muito alto – assim como o ganho – e se sua ideia é infalível provavelmente ela não é inovadora também. No início elas são muito frágeis e qualquer oscilação no mercado, uma crise, uma previsão errada feita por analistas financeiros, um ataque terrorista, uma queda de governo e você terá que estar muito bem preparado para caso algo aconteça.
Contratando um time interno: se algum problema grave acontecer, você tem que demitir todo mundo, ou grande parte. Nisso entra acerto, férias e outro monte de impostos para pagar. Sem contar no peso na consciência de deixar seu time na mão.
Contratando outsourcing: tudo depende da negociação com a empresa escolhida. Se você fechou um grande contrato com uma empresa mais tradicional provavelmente vai ficar com uma dívida para pagar. Dependendo do caso até maior que a original. Empresas mais modernas oferecem condições de encerrar contrato com 1 ou 2 meses de aviso e, nesse caso, a dívida seria menor ou até inexistente. Então a não ser que você realmente queira um time interno, o outsourcing acaba sendo mais seguro.
Como evitar problemas com contratação de outsourcing?
Não feche escopo. Você não sabe o que quer ainda e pode “pivotar” a qualquer momento, mudar de ideia ou ter um insight bacana.
Muitas empresas de outsourcing vão tentar te empurrar horas de desenvolvimento e longos contratos prometendo grandes escopos que ninguém ainda tem ideia do que representam. Não caia nessa. Se você é uma startup e já está aplicando o método do Lean Startup, tente contratar software da mesma maneira.
O ideal é misturar as duas ideias: ter um time de desenvolvimento, mas ao mesmo tempo ter esse time terceirizado. Isso dá muito mais flexibilidade, já que o fornecedor não vai ficar brigando por escopo acordado em contrato e você pode ter domínio total sobre o que vai ser construído.
Quanto você gastaria para ter um desenvolvedor interno? Ou um time? Coloque isso no papel, não esquecendo dos encargos, férias. Também tente calcular o risco de um funcionário ficar doente, ter um acidente e ser demitido. Isso é difícil, mas acho que você entendeu.
Quanto você pagaria por mês nisso? Pegue o valor do primeiro mês e contrate um time externo. Fale que eles tem 1 mês para trabalhar no produto e ver o que sai. Agora volte para sua idéia de Lean Startup. Qual a primeira coisa? Como posso validar o mais rápido possível a ideia? Preciso de um protótipo? Um MVP?
Ser Lean é sobre evitar desperdícios. Como saber se está gastando o dinheiro no lugar certo? Uma técnica muito interessante é a compra de informações. Se seu projeto é muito grande, vale a pena financeiramente contratar mais de uma empresa e fazer uma Prova de Conceito. Com isso você terá não somente informações sobre tecnologia e mercado, mas também sairá com muitas informações sobre seu novo fornecedor.
Esse fornecedor tem gestão embutida? Contratar os conhecidos “body shop” como freelancer ou o modelo da Toptal podem sair caro se você está começando. Quem vai gerenciar esse projeto? Sua empresa ou a empresa do fornecedor?
O fornecedor te entrega métricas? Elas estão em uma cadência aceitável? Você consegue saber com facilidade qual o status do projeto nesse momento? São dados importantíssimos para se botar na balança quando for contratar software.
As respostas para essas perguntas devem ser rigorosamente analisadas. Contratar desenvolvedores pode sair caro, mas um contrato errado com uma empresa também pode ser desastroso para seu produto. O sucesso de seu investimento ou sua reputação como empregado serão impactados enormemente por essa análise.
—
E aí, tá considerando terceirizar seu desenvolvimento de software? Ou precisa ainda de mais informações? No próximo artigo vamos mostrar a melhor forma de negociar um contrato de software com seu fornecedor!