"Constituição" para desenvolvedores: como uma página do GitHub tem nos ajudado a não jurar por um ano

Há um ano minha equipe cresceu: a lógica do negócio ficou mais complicada, na verdade, estávamos divididos em três subequipes - cada uma delas incluindo tanto os recém-chegados quanto os que já trabalhavam na empresa há anos. As subequipes se concentraram em suas direções e, embora todos estivessem olhando para o faturamento, o princípio de uma área comum de responsabilidade deixou de funcionar. E as práticas que funcionavam para os "mais velhos" nem sempre combinavam com a nova equipe.







Normalmente, para equipes de rally, praticamos viagens de campo: o resto do tempo eles trabalham remotamente de suas cidades, eles se reúnem em uma parte do mundo. À tarde, eles fazem parte do sprint, à noite eles se divertem juntos. Mas os prazos eram apertados, então fomos por outro caminho. Aqui está o que inventamos - e parece que essa abordagem pode ser usada por qualquer equipe na qual não haja gerenciamento autoritário.



Obrigado a Ray pela ideia



Na primavera de 2019, falava-se apenas do livro “Princípios. Vida e Trabalho ”de Ray Dalio. Aleksey Kataev também ouviu falar dela - ele também é o "Líder de Equipe Leonid" e nosso líder de equipe na época.



Ray Dalio? Quem é esse?
1975- Bridgewater Associates. 2010- - . 100 .



, , , , .


Lyosha chegou ao faturamento para estabelecer processos. Ele tinha uma visão clara do que a equipe deveria ser - e a capacidade de persuadir. Quando tudo funcionou, ele subiu. E antes de sair, ele se ofereceu para fechar contratos e consolidar o trabalho dos processos já depurados na equipe, escrevendo as "regras de vida" para a equipe de desenvolvimento. O novo líder da equipe apoiou a ideia - e ela começou.



Para começar, lemos esses mesmos princípios de Dalio . São 16 no total, mas para descobrir tudo é preciso comprar um livro, o significado pode ser entendido a partir desses quatro.

  • Aceite a realidade e trabalhe com ela.
  • , , .
  • .
  • , .


Patético, é claro. Mas decidimos tentar adaptá-los para nós mesmos. Lyosha traçou uma lista de 10 princípios, e a equipe a complementou, elevando o número total de resumos para 43. Montamos um repositório no github: é simbólico que as regras de trabalho sejam hospedadas no mesmo lugar que seu resultado.





E, para ser honesto, é mais fácil manter e desenvolver todo esse negócio dessa forma.



Em seguida, começaram a encurtar a lista e aprimorar a redação, avaliando cada item de acordo com três critérios: concretude, concordância com o princípio, importância. Discutida e aprimorada até que a tese fosse adequada a todos os interessados.





Nós concordamos na praia. Isso foi ideia de Lyosha.



No processo, ficou claro o que consideramos diferente, mas após vários dias de discussão ativa, temos um candidato a lançamento.



imagem

O pedido de pool teve que ser aprovado por cada membro da equipe.



Após a votação final, o líder da equipe lançou a primeira versão oficial das Regras de Vida da Equipe.





Anuncie a lista completa, por favor



Dividimos nossa "constituição" em duas partes: 12 regras gerais de vida e comportamento em equipe, mais 15 princípios técnicos. O texto é bastante longo, então esconderemos seu volume principal sob os spoilers. A ortografia e a pontuação são preservadas no original.



Princípios de trabalho



1.1. Seguimos princípios aceitos, independentemente de concordarmos com eles.

Desacordo pessoal não é motivo para nos desviarmos dos princípios. No entanto, você pode começar a discutir qualquer princípio se as circunstâncias mudarem e não for mais útil.



Mais 11 pontos
1.2

— . — . — . , . , .



1.3

- . , . . . , . . . . — .



1.4

: , , , . — . — .



1.5 ,


1.6

— . : , , , .


1.7

. , , . — .



1.8

— , — . , . , .



1.9


1.10 —

, , — , — . : , , , . , , . -, “ ”, “ ” “ ”. , .


1.11 , ,

. — , , , — .


1.12

. .



Princípios técnicos



2.1. Pensamos nas consequências

Antes de uma implementação ou migração difícil, pensamos no que faremos se tudo der errado. Fazemos backups, scripts de rollback, avaliamos os riscos de uma queda. Afugentamos os pensamentos “ah, vai explodir, vai dar tudo certo”.




Mais 13 pontos
2.2 ,

“ ” -.


2.3

, , , . , .


2.4

!= . .



2.5 , —

— , Skyeng. , , .


2.6 ,

, - , - . “ ” “, ”.


2.7

, :

— RabbitMQ: ,

— : ,



— SOLID, DI, IoC



2.8

— , . : . “ ” — . .



2.9 , QA

. — . — QA. “in development”, production : .



2.10

100% coverage , 100% coverage.



2.11

.



2.12

: , .



2.13

, . , .



2.14

, . , phpdoc, , README.



2.15 Não reescrevemos projetos do zero. A

chance de que esta seja uma boa ideia é mínima. Afastamos a ideia de escrever algo do zero, jogando fora o código funcional que foi testado ao longo dos anos. Estamos constantemente melhorando e refatorando, tornando o código dos sonhos o código dos sonhos. Livramo-nos dos sistemas "duplos", mas não os criamos.



A propósito, Lyosha fez um relatório separado sobre o último ponto .





Ok, como isso funciona?



  • : , , GitHub — , , .
  • . 360, : . - .
  • — : , . (, ) , , . , ( ) « !». , , . , .
  • , . : , , — « ». , .








Depois de algum tempo, a equipe se virtualizou no rali de Sochi. Em seguida, imprimimos os princípios em papel como papiro, mostramos e todos receberam uma bela brochura que levaram para casa.





Teamlead diz que queria nossos autógrafos em papel com sangue. Ele está brincando, eu acho.



Os princípios podem ser alterados agora. Se alguém tiver uma boa ideia, não gostar de algo ou desejar acrescentar algo, qualquer membro da equipe pode criar uma solicitação e organizar uma votação: 100% “a favor” e a alteração foi feita.



imagem

O principal é não ter medo de negociar e discutir problemas.



Eu me pergunto como isso funciona com você.



All Articles