Práticas recomendadas para uma cultura de desenvolvimento de software colaborativo

22 de julho de 2019 // 2 min read

image

Colaboração, transparência, e reutilização de código não são coisas encontradas apenas em comunidades de código aberto.

Desenvolvedores de software bem‑sucedidos constroem juntos e da mesma maneira no trabalho, uma abordagem conhecida como “innersource”. Essas práticas recomendadas de innersource vão ajudar sua equipe a criar uma cultura de desenvolvimento eficaz e colaborativa.

Seja transparente

A transparência é a base de qualquer cultura de innersource, assim como é a base da comunidade de código aberto em geral.

  • Compartilhe projetos entre sua organização da forma mais ampla possível. Exceções podem se aplicar a projetos que exigem um alto nível de segurança, dependendo de cada caso.
  • Certifique‑se de que sua equipe tem as ferramentas e os processos para se comunicar abertamente e para construir de forma consistente, e que essas ferramentas e processos estão sendo usados. Se não estiverem, descubra o motivo e faça ajustes até estabelecer uma rotina sólida.
  • Confirme que suas iniciativas de engenharia dispõem de bons recursos e têm o apoio da liderança.
  • Dê aos desenvolvedores autonomia suficiente para contribuir com projetos que estejam fora da equipe imediata deles.

Distribua as cargas de trabalho

Para adotar de forma eficaz as práticas de innersource, contribuidores precisam ser capazes de trabalhar facilmente entre equipes e pontos de isolamento organizacionais.

  • Aprove e revise de forma mais eficaz por distribuir o controle entre grupos de participantes menores. Uma equipe pequena com funções cruzadas formada por quem toma as decisões também pode ajudar as equipes a aderir aos padrões de qualidade e obter suporte da liderança.
  • Distribua cargas de trabalho pesadas entre desenvolvedores espalhados geograficamente ou até entre membros da equipe que não são desenvolvedores.
  • Tenha em mente que os não desenvolvedores são valiosos ativos para a comunidade innersource.
  • Gerentes de projeto podem facilmente avaliar o estado do projeto, e mudanças feitas nas linhas do tempo do projeto podem ser vinculadas ao código em questão.
  • Redatores técnicos devem ser incentivados a trabalhar lado a lado com os engenheiros de projeto, documentando de forma precisa os recursos do código onde eles se originam.
  • Engenheiros de segurança podem fazer no código uma revisão de conformidade e de pontos fracos relacionados à segurança, a fim de prevenir problemas mais cedo no fluxo de trabalho.

Incentive a comunicação e a revisão contínua

Compartilhar abertamente o trabalho e o feedback traz mais ideias para a comunidade innersource, e também mais código.

  • Utilize amplamente os recursos de comentários, marcação e revisão do sistema de controle de versão.
  • Use forks e branches para que os desenvolvedores possam tentar diferentes mudanças sem afetar os projetos originais. Essas ferramentas também tornam fácil começar com soluções existentes, em vez de escrever um novo código cada vez.
  • Incentive os desenvolvedores a compartilhar o trabalho mais recente desde o início e com frequência, marcando outros em seus commits de código.
  • Se alguém encontrar um bug, deve criar um issue descrevendo o problema. Marque esse mesmo contribuidor ao atualizar o código para que ele saiba que o bug foi corrigido.
  • Torne cada etapa do ciclo de vida do desenvolvimento de software (como a de teste e a de implantação) visível a todos.

Não se esqueça da documentação

Visto que os projetos innersource se tornam mais complexos, a documentação in-code mantém o trabalho em movimento e consistente.

  • Documente por padrão, não deixe para depois Uma documentação eficaz torna o processo de decisão claro para os contribuidores que estão fora, e evita o desperdício de recursos e a duplicação.
  • Adicione guias README e CONTRIBUTING a todos os repositórios a fim de ajudar todos a entender a utilização básica e as práticas recomendadas do projeto.
  • Use a documentação para ajudar os contribuidores e outros participantes a se integrar e ficar a par do processo.
  • Atualize a documentação in-code regularmente para manter os guias de usuário e os manuais em sincronia com a última versão do código.

Tags

Quer saber como o GitHub pode ajudar sua empresa?

Fale mais sobre suas necessidades

octocaptcha spinner