• Desenvolvimento de software

Dimensionar sua equipe de desenvolvimento com engenheiros externos sem perder a qualidade do código

  • Felix Rose-Collins
  • 9 min read

Introdução

development team

Principais conclusões

  1. Use engenheiros externos quando seu roteiro estiver muito cheio para sua equipe principal.
  2. Defina diretrizes simples de qualidade e um pipeline básico de entrega antes que eles se juntem à equipe.
  3. Integre desenvolvedores externos com uma lista de verificação clara e um colega de referência.
  4. Aplique um conjunto compartilhado de regras, revisões e métricas para todos os engenheiros.
  5. Confie em atualizações escritas curtas para manter uma equipe mista em crescimento alinhada.

Por que você deve ampliar sua equipe de desenvolvimento com engenheiros externos?

Você deve ampliar sua equipe de desenvolvimento com engenheiros externos quando seu roteiro estiver cheio e sua equipe não conseguir acompanhar o ritmo de maneira saudável. O ponto principal é simples: os engenheiros externos devem agregar velocidade e habilidades sem reduzir seu padrão de qualidade. Se eles ajudarem você a entregar um trabalho consistente e seguro de manter, a configuração faz sentido. Se eles apenas agregarem estresse e mudanças aleatórias, o momento não é adequado.

Muitos líderes em empresas de produtos sentem essa mesma pressão. O backlog cresce, os prazos são perdidos e contratar engenheiros competentes em sua cidade leva muito tempo. Nesse momento, você começa a pensar em ampliar a equipe de engenharia com ajuda externa. Você pode procurar uma equipe de desenvolvimento terceirizada em outra região ou um grupo menor mais próximo do seu fuso horário. A verdadeira questão não é se você pode trazer ajuda externa, mas quando ela apoiará seu roteiro em vez de esconder problemas mais profundos.

development team

Uma razão para convidar engenheiros externos é o acesso a habilidades que você não tem internamente no momento. Você pode precisar de suporte de curto prazo em áreas como dados, aplicativos móveis ou novas configurações de nuvem. Talvez você não queira formar uma equipe totalmente nova para cada novo tópico. Nesse caso, o aumento da equipe de desenvolvimento de software pode oferecer uma camada flexível de suporte ao seu grupo principal. Você mantém o conhecimento e a direção essenciais dentro da sua empresa e usa ajuda externa para partes claras e focadas do trabalho. No dia a dia, isso parece mais como adicionar um especialista calmo a uma equipe ocupada do que criar uma segunda empresa.

Há também um ângulo muito básico de tempo e custo. Contratar pessoas competentes por conta própria pode levar muitas semanas ou até meses, e durante esse tempo seu backlog não para. Aqui você pode ver claramente os benefícios do aumento da equipe de TI. Você pode trazer ajuda extra por um tempo e escopo definidos, enquanto continua pensando em contratações de longo prazo. Para algumas equipes, essa opção suaviza os picos de demanda, em vez de forçar um grande salto no número fixo de funcionários. Esse tipo de configuração permite que você teste o que a capacidade extra faz pelo seu produto antes de mudar toda a sua estrutura para sempre.

Você também pode escolher diferentes modelos para que essas pessoas se juntem ao seu mundo. Em um modelo de aumento de pessoal, você adiciona engenheiros externos à sua própria equipe e seus líderes orientam o trabalho deles todos os dias. Em uma configuração de equipe de desenvolvimento nearshore, as pessoas ficam em um fuso horário próximo e podem participar de suas chamadas e bate-papos em horários normais. Muitas empresas trabalham com um parceiro de desenvolvimento de software experiente que já sabe como fazer desenvolvimento de software nearshore e se integrar às equipes internas. Quanto mais próximas a cultura, o fuso horário e as ferramentas, mais fácil é fazer com que muitas pessoas se sintam como uma equipe, mesmo que os contratos sejam diferentes. Essa base compartilhada é o que faz com que o trabalho externo pareça natural, em vez de frágil.

Como você prepara sua base de código e seus processos antes de adicionar uma equipe de desenvolvimento externa?

Você se prepara para uma equipe de desenvolvimento externa estabelecendo uma base clara e simples para como você constrói e entrega seu produto. Você precisa de regras compartilhadas, ferramentas básicas e uma forma visível de trabalhar antes que novas pessoas cheguem. Sem essa base, cada mudança depende do estilo pessoal e da memória, e as novas pessoas não têm como adivinhar o caminho certo. Com essa base, mesmo olhos novos podem se mover em um ritmo seguro e constante.

Conheça o Ranktracker

A plataforma All-in-One para uma SEO eficaz

Por trás de cada negócio de sucesso está uma forte campanha de SEO. Mas com inúmeras ferramentas e técnicas de otimização por aí para escolher, pode ser difícil saber por onde começar. Bem, não tenha mais medo, porque eu tenho exatamente o que ajudar. Apresentando a plataforma multifuncional Ranktracker para uma SEO eficaz

Finalmente abrimos o registro para o Ranktracker absolutamente grátis!

Criar uma conta gratuita

Ou faça login usando suas credenciais

Você pode pensar nessa base como barreiras de proteção de qualidade para o código. Essas barreiras são verificações simples que todas as mudanças devem passar, independentemente de quem as escreveu. Elas podem abranger como você nomeia as coisas, como formata os arquivos e o que significa “concluído” para qualquer pequena parte do trabalho. Quando as barreiras permanecem as mesmas para todos, seu produto parece estável, mesmo com o crescimento e as mudanças da equipe. Isso torna mais fácil confiar em todo o fluxo, não apenas nas pessoas que você já conhece.

Você também precisa de um pipeline básico de integração e entrega contínuas. Essa frase longa descreve uma ideia simples. Sempre que alguém altera o código, o sistema executa verificações e ajuda a levar essa alteração aos usuários em pequenas etapas seguras. Esse pipeline pode existir em plataformas comuns e pode ser executado a cada envio para o seu repositório de código principal. Um pipeline funcional transforma muitas pequenas edições em uma linha clara de progresso, em vez de uma pilha de lançamentos grandes e assustadores. Novas pessoas podem aprender esse caminho uma vez e depois segui-lo sem suposições extras.

development team

Os testes são uma parte fundamental desse caminho. Testes automatizados em CI/CD significam que seus testes são executados por conta própria cada vez que alguém compartilha um novo código. Você pode começar com verificações simples que cobrem os caminhos mais usados em seu produto. Com o tempo, você pode adicionar mais testes à medida que percebe onde os bugs tendem a aparecer. Mesmo um pequeno conjunto de testes estáveis oferece mais segurança do que uma enorme lista de verificações manuais que ninguém executa a tempo. Essa abordagem mantém as coisas reais e oferece suporte a engenheiros internos e externos.

Também ajuda a examinar as partes mais antigas do seu sistema antes de pedir a outras pessoas que as alterem. É aqui que entra a gestão básica da dívida técnica. A dívida técnica é uma forma de descrever o código que funciona, mas é difícil de alterar sem riscos. Você pode marcar zonas que são seguras para novas pessoas e zonas que ainda precisam dos cuidados de sua equipe mais experiente. Quando você sabe onde estão as partes arriscadas, pode orientar uma equipe de desenvolvimento externa a ir primeiro para áreas mais seguras. Isso protege seu produto e mantém as novas pessoas longe de armadilhas ocultas.

A última parte da base é a segurança e o acesso simples. Um ciclo de vida de desenvolvimento de software seguro parece pesado, mas se baseia em etapas claras. Você dá às pessoas apenas o acesso de que elas precisam, mantém os dados reais dos usuários seguros e trata as chaves secretas com cuidado. Você também anota o que fazer quando algo dá errado, mesmo em pequena escala. Quando a segurança faz parte do trabalho normal, os engenheiros externos podem se juntar ao seu processo sem causar novos receios. Suas equipes jurídicas e de segurança também veem que esse crescimento segue um plano, não uma solução rápida.

Como é um plano de integração seguro para desenvolvedores externos?

Um plano de integração seguro para desenvolvedores externos fornece a eles contexto, ferramentas e primeiros passos claros, sem apressá-los em águas profundas. Deve parecer um caminho guiado, em que cada dia tem um objetivo simples e real. Quando o plano é claro, as novas pessoas podem agregar valor em semanas, não em meses, e sua própria equipe não se sente esgotada por perguntas constantes.

Conheça o Ranktracker

A plataforma All-in-One para uma SEO eficaz

Por trás de cada negócio de sucesso está uma forte campanha de SEO. Mas com inúmeras ferramentas e técnicas de otimização por aí para escolher, pode ser difícil saber por onde começar. Bem, não tenha mais medo, porque eu tenho exatamente o que ajudar. Apresentando a plataforma multifuncional Ranktracker para uma SEO eficaz

Finalmente abrimos o registro para o Ranktracker absolutamente grátis!

Criar uma conta gratuita

Ou faça login usando suas credenciais

A integração de desenvolvedores externos começa com uma visão compartilhada do que eles precisam aprender primeiro. Isso inclui seu produto, seus usuários e sua maneira normal de trabalhar. Uma lista de verificação de integração para desenvolvedores pode reunir todos esses itens em um só lugar. Ela pode ser um documento simples que ambas as partes podem abrir e ajustar. Uma lista de verificação visível transforma “Acho que já dissemos isso a eles” em “sabemos exatamente o que foi feito e o que vem a seguir”. Essa pequena mudança elimina muito estresse silencioso para todos.

Aqui está uma lista simples que geralmente funciona bem como base para essa lista de verificação:

  1. Acesso ao código, ao rastreador de trabalho e às principais salas de chat.
  2. Etapas para executar o produto em um laptop ou servidor de teste.
  3. Um guia resumido para usuários, fluxos principais e regras comerciais importantes.
  4. Nomes das pessoas a quem perguntar sobre o produto, código e ferramentas.
  5. Duas ou três tarefas pequenas e claras, prontas para uma primeira mudança real.

Também ajuda nomear uma pessoa de contato clara. Um líder técnico ou engenheiro sênior pode atuar como um amigo de integração nas primeiras semanas. Essa pessoa pode revisar todas as mudanças iniciais, responder a perguntas e explicar por que as escolhas anteriores são como são. Pequenas verificações diárias, mesmo que sejam cinco minutos no chat, podem manter as coisas nos trilhos. Um companheiro calmo e pontos de contato constantes contribuem mais para uma integração segura do que uma grande conversa no primeiro dia. Com o tempo, você pode transferir mais atualizações para a comunicação assíncrona das equipes de desenvolvimento, como notas curtas escritas.

Pelo que tenho observado, o maior risco durante a integração é a confusão silenciosa. Os novos funcionários temem perguntar demais, e os membros antigos da equipe esperam que as coisas “se encaixem” por conta própria. Um plano claro para a integração de desenvolvedores externos e um único responsável por esse plano mudam esse quadro. Quando uma pessoa é responsável pela jornada, você identifica padrões, corrige pontos fracos e torna cada próxima rodada de integração mais tranquila. Em alguns meses, o plano se torna um recurso repetível, em vez de uma nova dificuldade cada vez que você adiciona alguém.

development team

Como você mantém a qualidade do código em uma equipe de desenvolvimento mista quando gerencia desenvolvedores externos?

Você mantém a qualidade do código em uma equipe de desenvolvimento mista usando as mesmas regras, verificações e números simples para todos. Seus padrões devem se aplicar a todos os engenheiros se você quiser que o produto pareça um sistema limpo e seguro. Ao dividir as regras por tipo de contrato, você também divide a confiança e a clareza em sua equipe.

Uma equipe de desenvolvimento mista é um grupo em que engenheiros internos e externos trabalham no mesmo produto. Eles podem estar em locais diferentes, mas compartilham um backlog e um repositório de código. Essa combinação pode ser muito forte, pois une profundo conhecimento da área com novas perspectivas. Também pode ser frágil se cada grupo seguir seus próprios hábitos. Sem uma orientação clara, essa combinação se transforma em conjuntos de código que parecem diferentes e são difíceis de alternar entre si. É nesse momento que a qualidade e a velocidade começam a diminuir.

Conheça o Ranktracker

A plataforma All-in-One para uma SEO eficaz

Por trás de cada negócio de sucesso está uma forte campanha de SEO. Mas com inúmeras ferramentas e técnicas de otimização por aí para escolher, pode ser difícil saber por onde começar. Bem, não tenha mais medo, porque eu tenho exatamente o que ajudar. Apresentando a plataforma multifuncional Ranktracker para uma SEO eficaz

Finalmente abrimos o registro para o Ranktracker absolutamente grátis!

Criar uma conta gratuita

Ou faça login usando suas credenciais

As melhores práticas simples de revisão de código ajudam aqui. Toda alteração deve passar pela revisão de pelo menos uma outra pessoa, independentemente de quem a fez. As revisões devem analisar a clareza, a segurança e a adequação ao resto do sistema, não apenas o estilo. Você pode apoiar isso com ferramentas leves que verificam o código em busca de problemas comuns. Essas rotinas mantêm a qualidade do código dos desenvolvedores externos alinhada com o resto da sua equipe de uma maneira tranquila e repetível. As pessoas aprendem umas com as outras e constroem um senso compartilhado do que é “bom”.

Você também pode acompanhar um pequeno conjunto de métricas da equipe de desenvolvimento de software. Elas podem mostrar quanto tempo leva para concluir um trabalho, quantos problemas chegam aos usuários e com que frequência você faz entregas. Você não precisa de dezenas de números. Você só precisa de alguns que possa ler e discutir com facilidade. Quando essas métricas permanecem estáveis ou melhoram enquanto você gerencia desenvolvedores externos e aumenta a equipe, você sabe que sua configuração oferece suporte à qualidade. Se elas caírem, você terá um sinal precoce para revisar suas regras, escopo ou combinação de tarefas.

Os padrões de comunicação são tão importantes quanto as regras e os números. Muitas equipes de desenvolvimento mistas também são consideradas equipes ágeis distribuídas, pois as pessoas trabalham em vários locais ou fusos horários. Elas precisam de comunicação assíncrona para que o progresso das equipes de desenvolvimento não dependa de longas chamadas. Atualizações curtas por escrito, notas de tarefas claras e tags simples para status ajudam muito. Boas atualizações escritas tornam mais fácil para todos os engenheiros se juntarem, acompanharem e melhorarem o produto ao longo do tempo. Conversas ao vivo ainda são importantes, mas não são mais o único lugar onde as decisões são tomadas.

A maneira como você traz pessoas de fora também influencia a qualidade. Se você as tratar como um fluxo separado com objetivos pouco claros, elas não sentirão total propriedade do produto. Se você as adicionar a equipes existentes sob um conjunto de regras, elas poderão agir como qualquer outro membro da equipe. Algumas empresas usam uma configuração de aumento de equipe para isso, onde combinam pessoas internas e externas sob uma única liderança. Objetivos, ferramentas e revisões compartilhados contribuem mais para a qualidade do código no desenvolvimento de software do que qualquer documento de controle pesado. Com o tempo, você pode ajustar a combinação de pessoas e trabalho, mas a estrutura compartilhada permanece a mesma.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Comece a usar o Ranktracker... De graça!

Descubra o que está impedindo o seu site de voltar ao ranking.

Criar uma conta gratuita

Ou faça login usando suas credenciais

Different views of Ranktracker app