Pressione enter para ver os resultados ou esc para cancelar.

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!

  • Muito bom o post Rafa. Tenho visto no meio de startups muita ideia boa empacando por causa de co-founders técnicos.

    As pessoas acham que é só achar um dev que queira ser sócio e sair tocando o projeto. Mas esquecem de todo o trabalho envolvido em gerenciar o desenvolvimento de um produto. Então seguem três pontos importantes aqui:

    1 – Quando um empreendedor inicia uma nova startup e chama um co-founder técnico, eles dedicam muita energia para cuidar do desenvolvimento e do processo de desenvolvimento internamente ao invés de focar na execução de seu próprio business model. Se tornam uma empresa que tem que aprender a fazer software e sabemos que isso não é fácil. Logo, acabam falhando porque dedicaram energia na parada errada ao invés de canalizar a energia pro negócio dar certo. É um custo implícito de energia, dinheiro e tempo.

    2 – Um time de desenvolvimento não é simples de montar. É preciso contar com muitas habilidades diferentes. Ter alguém de Banco de Dados, Design, front-end, back-end, alguém que entenda de requisitos, métricas, alguém de produto, etc… Essas habilidades não são encontradas em apenas uma pessoa. É muito raro. Para uma startup contratar uma pessoa com cada uma dessas habilidades é algo fora da realidade. Começar uma empresa com esse time todo é muita grana. É um outro custo implícito.

    3 – Mas vamos supor que a startup tenha grana e decida montar esse time todo. Vai ter que botar esse time pra produzir bem junto. Nós que já montamos times várias vezes sabemos que isso leva tempo. Não é de uma hora pra outra que um time fica redondo e sai produzindo maravilhas. Times precisam de entrosamento. Nosso amigo Bruce Tuckman já diz isso há algum tempo:https://en.wikipedia.org/wiki/Tuckman's_stages_of_group_development. Ou seja, até o time chegar no performing, a startup já quebrou. Mais um custo implícito.

    Enfim, quanto vale um time pronto e bom em fazer produtos? Quando voc6e terceiriza pra uma empresa moderna e de boa qualidade, está pagando por todo esse desenvolvimento de time e de expertise. Isso vai de fato acelerar a sua startup. Os custos ficam todos explícitos e você não precisa lidar com custos implícitos.