Quando sua empresa deve desenvolver seu próprio software?

Orientação para empresas de médio porte fazendo a decisão “Buy-it vs. Build-it”.
Quando sua empresa deve desenvolver seu próprio software?
Quando sua empresa deve desenvolver seu próprio software?

Aproveitar o software interno para trazer inovação ao seu mercado ou para criar operações mais eficientes pode ser um forte impulsionador de crescimento. Mas a decisão de comprar versus construir é fundamental. Se comprar o software de que você precisa simplesmente não for possível, construí-lo pode fazer sentido. Mas não há como negar que esse é um caminho difícil, e só vale a pena se o lado positivo for grande. Antes de construir, certifique-se de entender os custos reais para ter sucesso a longo prazo e embarque apenas nos esforços de redação de código que você tem certeza de que sua empresa é capaz. O autor discute duas empresas de médio porte que “lançaram seu próprio código” com sucesso e apresentam três competências necessárias para isso.


Toda empresa precisa e usa software, e algumas são um fator significativo para o sucesso dos negócios. Mas, à medida que pequenas empresas crescem para médio porte, podem surgir lacunas de desempenho de software. Encontrar novas soluções de software pode corrigir problemas e ineficiências e ajudar as equipes a desenvolver produtos e serviços inovadores. Mas os CEOs de empresas de médio porte geralmente enfrentam uma escolha difícil: atualizar por meio de um fornecedor ou desenvolver (também conhecido como “rolar”) seu próprio código.

É amplamente compreendido que as atualizações de software são sempre caras e muitas vezes disruptivo. Às vezes, eles falham completamente ou não cumprem sua promessa original. Isso significa pouco ou nenhum retorno sobre o dinheiro gasto. Mas às vezes, simplesmente não há software pronto para uso disponível para resolver o problema exclusivo de uma empresa.

Para pequenas empresas, geralmente é mais fácil (e quase sempre mais barato) fazer soluções alternativas manuais quando o software operacional não está à altura da tarefa. Mas as empresas de médio porte podem perder muito dinheiro e atrapalhar seu crescimento devido às ineficiências que inevitavelmente surgem de tais soluções alternativas. E esses processos manuais torturados podem impedir que as empresas aproveitem as oportunidades em tempo hábil. Para essas empresas, a codificação personalizada é uma opção viável. (Grandes empresas com bolsos profundos podem construir equipes de desenvolvimento de software e muitas vezes têm o talento a bordo para fazê-lo.)

A maioria das empresas de médio porte tem um “superusuário” que é bom em ajudar todos com os recursos já incorporados em seu software (como redatores de relatórios, painéis, etc.). E a maioria dos softwares modernos de planejamento de recursos empresariais (ERP) tem camadas que permitem a personalização – geralmente uma camada em que os revendedores de valor agregado (VARs) podem fazer alterações e uma camada de cliente para personalizações do cliente. Se uma empresa de médio porte conseguir o que precisa disso, fantástico. Mas e se não puder?

Muitas empresas de médio porte ficam presas tentando decidir se compram novos softwares ou tentam escrever seu próprio código, mesmo que isso signifique apenas conectar sistemas diferentes. Outros tentam terceirizar o problema para uma empresa de software. Embora a terceirização da criação de código possa ser parte de uma solução, isso requer um gerenciamento de projetos rigoroso – um recurso que nem todas as empresas de médio porte têm.

Enquanto isso, o tempo está sempre passando. Eficiências que poderiam ser percebidas com o software não são recuperadas, corroendo as margens. As oportunidades de mercado são perdidas para os concorrentes. Como os líderes empresariais de médio porte podem determinar quando faz sentido criar seu próprio software?

Quando lançar seu próprio código

É ineficiente desenvolver programas personalizados para as principais funções de negócios, como contabilidade, folha de pagamento, imposto sobre vendas, estoque e gerenciamento de relacionamento com o cliente (CRM), e muitas opções estão prontamente disponíveis. Mas se não houver software que faça o que você precisa, você pode não ter escolha a não ser lançar o seu próprio, especialmente se houver uma oportunidade de alto valor para aproveitar ou uma eficiência significativa para ganhar. (Criar seu próprio código só vale a pena se houver uma grande compensar; sem um ROI forte, esqueça isso.)

Por exemplo, em 2007, Fabricação BF&S estava ganhando força como fabricante contratado para componentes complexos e de baixo volume – mas críticos – para setores aeroespacial, militar, médico e industrial. Seus clientes queriam supervisionar o trabalho, mas a BF&S estava sediada no México, e muitos de seus clientes não queriam investir tempo e dinheiro para viajar e ficar lá.

A BF&S dependia de um relacionamento próximo com seus clientes, muitas vezes recorrendo a seus engenheiros para resolver problemas de produção. Mas a distância e uma fronteira estavam tornando isso cada vez mais difícil. O compartilhamento de tela e as câmeras por si só não seriam suficientes para seus clientes, e a BF&S temia perdê-los para fabricantes mais próximos, mesmo que essas empresas cobrassem mais. A BF&S precisava ser capaz de portar dados de produção valiosos de seu sistema ERP principal para um formato que seus clientes pudessem usar.

Carlos Fernandez, CEO da BF&S, olhou em volta, mas não conseguiu encontrar uma solução para comprar. Em vez disso, ele diz: “Embarcamos em um programa de software que forneceria dados em tempo real 24 horas por dia, 7 dias por semana” nas construções de produtos da empresa. Tudo começou com o “cara do computador”, como Fernandez o chama, acabado de sair da faculdade, construindo uma ferramenta para rastrear matérias-primas, trabalho em andamento e estoques de produtos acabados e fornecer visibilidade interna e externamente.

Foi concluído e usado pela primeira vez em 2010. Os clientes adoraram. Fernandez começou a aumentar a equipe de desenvolvimento de software no México, apoiando quatro instalações no estado de Sonora com um número de funcionários combinado de 500. Os clientes agora podiam ver o vídeo das estações de trabalho, o progresso de seus produtos em cada etapa, os estoques de produtos brutos e acabados da BF&S, quem estava trabalhando em seu trabalho e todas as histórias e especificações de produtos.

Essa codificação personalizada exigia um profundo entendimento dos negócios da empresa e das necessidades de seus clientes. Originalmente liderada por Fernandez, a equipe de engenheiros e líderes de operações agora planeja e gerencia o suporte e o desenvolvimento contínuos da ferramenta.

Hoje, embora Fernandez não afirme que o código construído em casa de sua empresa é um enorme diferencial competitivo, ele acredita que isso dá a seus clientes o que eles querem e o que ele não poderia fornecer através de software pronto para uso: transparência e uma medida de controle sobre a produção de seus produtos.

A jornada e os custos

Rolar seu próprio código não é simples nem barato. Os engenheiros de software são muito bem pagos. Nos Estados Unidos, isso significa salários de seis dígitos. Os custos de encontrar e contratar engenheiros geralmente envolvem empresas de busca, que cobram de 15% a 30% do salário do primeiro ano e, nos últimos anos, até elas têm lutado para encontrar bons candidatos. Além dos custos de fornecimento, você deve entrevistar e avaliar candidatos para habilidades técnicas, treinar e integrar novos contratados e fornecer um ambiente digital para desenvolvimento e teste.

E então você tem que gerenciar as tarefas de desenvolvimento de código, garantindo que elas sejam produtivas. À medida que o departamento de desenvolvimento ultrapassa cinco ou seis engenheiros, você precisará de um executivo de DevOps para supervisioná-lo — se os programadores estiverem mal gerenciados, dias e semanas podem ser perdidos enquanto a produtividade despenca.

E você não pode simplesmente contratar desenvolvedores e gerentes e esperar que a mágica aconteça. Os engenheiros fazem o que a empresa manda fazer. Eles prosperam com clareza. Portanto, você precisará gastar tempo aproveitando as oportunidades e necessidades de sua empresa para poder descrever os recursos, funções e opções que deseja. Esse roteiro de software deve ser concluído antes que seus engenheiros comecem a codificar. Não faça tudo isso bem e a tempo, e você terá talentos muito caros em suas mãos, provavelmente procurando outros lugares para trabalhar.

Finalmente, quando você desenvolve um código personalizado, você precisa mantê-lo. O software é quebrado o tempo todo. Os hackers encontram continuamente novos vetores de ataque. Novas necessidades surgem e os usuários exigem modificações. Até mesmo as linguagens de programação envelhecem, então a cada cinco a 10 anos, o software pode precisar ser reescrito. Os custos continuam chegando.

No entanto, embora a codificação personalizada seja desafiadora, ela pode ser um fator fundamental e vale a pena para algumas empresas que estão inovando soluções para seus clientes.

Refato principal (um cliente Mastering Midsized) é um provedor de serviços de marketing de serviço completo para os setores imobiliário e hipotecário. Em 2005, a empresa surgiu com uma nova ideia. Se um corretor de imóveis pudesse enviar um cartão postal para um cliente em potencial com um URL exclusivo que o levaria a um site com sua própria casa no centro, isso poderia ser extremamente atraente, e uma possível virada de jogo. Os clientes da Corefact, corretores de imóveis, ficaram entusiasmados, não apenas pelo potencial apelo aos seus clientes, mas também por todos os dados que esse tipo de engajamento lhes forneceria.

A Corefact não podia comprar software para fazer isso — era novo. O fundador e CEO da Corefact, Chris Burnley, sempre foi tecnólogo. Antes da Corefact, ele iniciou várias empresas voltadas para a tecnologia. Graças a essa competência tecnológica, a empresa encontrou uma maneira de imprimir dados variáveis – URLs exclusivos – em cartões postais e, em seguida, movê-los para servidores web que esperariam que um proprietário digitasse o URL, após o qual um novo site exclusivo seria criado instantaneamente. Em 2006, o software foi lançado com um único engenheiro.

Hoje, a equipe de engenharia cresceu para 10, localizada nos EUA e no exterior. Eles criaram um código personalizado que não é apenas voltado para o cliente, mas que também reúne eficientemente milhares de pedidos diários por meio de entrada de pedidos, gráficos e pré-impressão e automatiza o fluxo eficiente de trabalho em impressoras e acabamento.

Burnley diz: “Nosso conceito original nos colocou em uma rampa rápida para o crescimento, mas nossa capacidade de inovar com a tecnologia continua a nos impulsionar. Obviamente, o investimento em engenheiros é enorme e contínuo, mas a lista de oportunidades é longa.”

Mas eles não constroem todos os softwares que usam. Quando se tratava de atualizar seu ERP, eles escolheram um produto padrão da Netsuite, no qual estão conectando seus sistemas de manuseio de pedidos feitos por conta própria. Da mesma forma, eles abandonaram recentemente um CRM feito por conta própria em favor da Salesforce, mantendo sua equipe de desenvolvimento focada na criação de software que não pode comprar.

As três competências de que você precisa para lançar suas próprias

Os exemplos que discuti exigem quantidades diferentes das três competências a seguir, dependendo de quão complexos são seus requisitos de código personalizado:

Traduzindo as necessidades de negócios em projetos de software.

Identificar as necessidades de negócios – e suas soluções – é um processo necessariamente iterativo, tendo em mente as limitações do software existente, bem como seus recursos e dados disponíveis. Isso não é desenvolvimento de software nem gerenciamento de negócios; é uma forma de engenharia em que uma perna está no negócio e a outra em uma compreensão completa de como seus sistemas de software atuais funcionam.

Essa competência pode ser realizada por um executivo em uma empresa de médio porte menor ou por uma equipe pequena à medida que a organização cresce. O que acontece é um problema ou oportunidade, o que sai é uma série de etapas detalhadas para criar e manter o código: exatamente quais dados devem ser usados e qual lógica ou processos devem ser usados para produzir uma solução. Sem todas essas etapas, tentar criar código personalizado não faz sentido.

Desenvolvimento de código.

Dependendo das circunstâncias, uma empresa de médio porte pode ter um programador ou um departamento de engenharia completo. Por exemplo, na minha empresa anterior, tivemos Dave, um jovem funcionário do armazém que codificava como um hobby, subindo as escadas de vez em quando para pequenos projetos de codificação. Para maiores oportunidades, o desenvolvimento de código pode se transformar em uma série de equipes de engenharia com diferentes habilidades e concentra-se trabalhando em um departamento completo de DevOps, liderado por um VP ou diretor de tecnologia.

Operações de software.

O lado das operações do gerenciamento de aplicativos personalizados é caro — você precisa manter a integridade do código personalizado e garantir que seus processos, pessoas e ferramentas sejam mantidos atualizados. Os elementos das operações incluem suporte ao usuário/help desks, treinamento, gerenciamento de riscos de segurança, correção de bugs, personalização adicional contínua, atributos de tempo de atividade e desempenho e muito mais.

Aproveitando o software interno para trazer inovação ao seu mercado ou para criar operações mais eficientes pode ser um forte impulsionador de crescimento. Mas a decisão de comprar versus construir é fundamental. Se comprar o software de que você precisa simplesmente não for possível, construí-lo pode fazer sentido. Mas não há como negar que esse é um caminho difícil, e só vale a pena se o lado positivo for grande. Antes de construir, certifique-se de entender os custos reais para ter sucesso a longo prazo e embarque apenas nos esforços de redação de código que você tem certeza de que sua empresa é capaz.


  • RS
    Robert Sher leads Mastering Midsized, a consulting firm that partners with leaders of midsized companies to build strong business infrastructure needed to grow predictably and sustainably. His most recent book is Driving Midsized Growth: People. He can be reached at [email protected] @RobertSher.
  • Related Posts