Como usar orientações no desenvolvimento de código aberto da Microsoft

A mudança da Microsoft para um modelo de desenvolvimento aberto é um estudo de caso interessante para examinar como o desenvolvimento de código aberto é gerenciado em escala. Com milhões de usuários e milhares de colaboradores em potencial, os mantenedores de projetos da Microsoft enfrentam desafios que ainda não existem na maioria dos projetos de código aberto.

Na Microsoft, um supervisor de projeto está mais próximo de um gerente de produto ou gerente de projeto do que de um líder de desenvolvimento. Você trabalhará com partes interessadas internas e externas, ao mesmo tempo que lidará diretamente com itens do backlog do projeto e resolverá bugs e problemas. Também gerencio solicitações de recursos, muitas vezes trabalhando com colaboradores voluntários que não estão familiarizados com o projeto e com as limitações da implantação de aplicativos corporativos.

ⓒ Banco de imagens Getty

Ampla colaboração no GitHub

No GitHub Você pode verificar a base do código, mas a disponibilidade do código-fonte não substitui a colaboração. Como os novos contribuidores encontrarão um determinado trecho de código quando precisarem alterá-lo? Existem maneiras de adicionar pontos de interrupção ao pesquisar um repositório clone ou executar um depurador, mas elas exigem tentativas e erros tediosos. O tempo dos colaboradores voluntários é um recurso valioso que não pode ser desperdiçado, mas é muito fácil de perder. Isso ocorre porque a atenção é desviada de projetos que são mais apropriados para trabalhar.

Para superar essa situação, a equipe do Windows Open Source começou a experimentar um novo processo no Windows Terminal, uma base de código amplamente utilizada. Agora, os mantenedores do projeto escrevem guias simples sobre o trabalho a ser feito e onde colocar o código novo e alterado. Este documento é chamado de passo a passoAproveita ativamente o código e a familiaridade da comunidade para apontar novos contribuidores para “espaços problemáticos” na base de código que precisam da ajuda dos contribuidores.

READ  "Spirit" e "Opportunity" foram muito influentes na exploração de Marte[김정욱의 별별이야기](28): Diário Econômico de Seul

Os tutoriais existem em algum lugar entre as histórias de usuários e a documentação do projeto. Funciona para informar os contribuidores “o mais próximo possível” sobre o ponto de partida a partir do qual podem fazer contribuições valiosas para o projeto. No entanto, a maioria dos contribuidores de código aberto são pessoas que já possuem ampla experiência em desenvolvimento e trabalham de acordo com seus próprios horários e em seu próprio tempo para doar essa experiência a mais colegas desenvolvedores.

Quais são as instruções detalhadas?

Um passo a passo é uma explicação de alto nível do problema e do código que fornece aos colaboradores o contexto de que precisam quando iniciam seu trabalho. É um “guia mental” do código e informa a localização dos arquivos, métodos e definições. Outros elementos nas instruções podem incluir trechos de código ou código semelhante, bem como links para solicitações pull que interagem com o mesmo trecho de código ou implementam funcionalidade semelhante.

Walkthroughs são documentos independentes que podem ser incluídos como parte da documentação do projeto, mas não incluídos na discussão do problema. Um formulário simples, como um comentárioPode ser substituído por. Isto não é surpreendente. A abordagem de código aberto da Microsoft está intimamente ligada ao modelo de codificação social do GitHub. A Microsoft aproveita essa mesma ferramenta para adicionar orientações detalhadas. Ele usa a funcionalidade básica do Markdown para destacar elementos-chave para ajudar os desenvolvedores a navegar no código. O passo a passo também pode incluir GIFs animados, se necessário, para ilustrar o comportamento esperado da interface do usuário.

As diretrizes são uma forma relativamente informal de gerenciar projetos, mas há alguma estrutura na forma como são escritas. Um passo a passo pode ser considerado o estágio inicial da resolução de problemas, como uma conversa com um gerente de desenvolvimento ou uma sessão de brainstorming realizada em torno de um quadro branco.

READ  A mania dos pacotes de personagens na indústria da cozinha... voltada para jovens adultos que buscam a individualidade fora do grupo infantil

Atribuir instruções detalhadas ao quadro do projeto

A parte interessante de usar orientações no GitHub é que você pode personalizá-las para um projeto. por isso Você pode adicionar instruções detalhadas ao quadro do projeto e O painel Projeto permite adicionar metadados ao passo a passo para fins como indicar dificuldades, atribuir problemas aos usuários e fornecer detalhes para solicitações pull.

O que inicialmente começou como uma maneira simples de fornecer contexto para solicitações de recursos ou correções de bugs, agora se tornou uma ferramenta essencial de gerenciamento de projetos. No entanto, ainda mantém um nível adequado de informalidade. Não há necessidade de colaboradores acompanharem o projeto resultante. Esta é uma ferramenta apenas para administradores de projetos. Isso permite que os mantenedores do projeto vejam quais orientações estão em andamento e quais contribuidores das orientações precisam de mais informações para ajudá-los a começar.

Escrevendo código por meio de narrativa

O passo a passo é um exemplo interessante de narrativa de projeto. A Microsoft usa a narrativa internamente para compreender conjuntamente os problemas e suas possíveis soluções. Tem uma longa história. Essas histórias operam em um nível superior às metodologias de desenvolvimento ágil e geralmente descrevem o estado final desejado, bem como os usuários potenciais do recurso.

O objetivo da Microsoft em manter esta abordagem fora da estrutura formal de desenvolvimento da empresa é incentivar potenciais contribuidores, indicando rapidamente onde o código deve ser colocado no projeto. Muitas vezes é difícil analisar os problemas no GitHub sem entender o contexto e o código do problema. Esse pode ser um problema fácil de resolver, mas geralmente depende de um conhecimento profundo da base de código, de quais módulos usar e de quais recursos modificar.

READ  A Emtek está realizando um evento para celebrar o site de comparação de preços nº 1 para novos roteadores ASUS

As orientações são informais e fáceis de entender. Em vez de alienar as partes interessadas, forneça-lhes apenas as informações de que necessitam para começar, mas não subestime a sua iniciativa e experiência. Este é um requisito importante para qualquer ferramenta usada pelos líderes de projeto. O pior resultado de qualquer projeto é alienar os voluntários.

Espero que aumente o número de projetos de código aberto dentro e fora da Microsoft que adotam e aplicam esta tecnologia. Esta é uma tecnologia que ajudará a próxima geração de contribuidores a superar o desafio de escrever sua primeira solicitação pull.

editor@itworld.co.kr

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *