"Konstitusi" untuk Pengembang: Bagaimana Halaman GitHub Membantu Kami Tidak Menyumpah Selama Setahun

Setahun yang lalu, tim saya berkembang: logika bisnis menjadi lebih rumit, pada kenyataannya, kami dibagi menjadi tiga sub-tim - masing-masing termasuk pendatang baru dan mereka yang telah bekerja di perusahaan selama bertahun-tahun. Sub-tim memusatkan perhatian pada arahan mereka, dan meskipun semua orang melihat pada penagihan, prinsip area tanggung jawab bersama berhenti bekerja. Dan praktik yang berhasil untuk "orang-orang lama" tidak selalu cocok dengan tim baru.







Biasanya, untuk tim reli, kami melakukan kunjungan lapangan: sisa waktu mereka bekerja dari jarak jauh dari kota mereka, mereka berkumpul di satu bagian dunia. Sore harinya mereka menjalani sebagian sprint, malam harinya mereka bersenang-senang bersama. Tapi tenggat waktunya ketat, jadi kami pergi ke arah lain. Inilah yang kami temukan - dan tampaknya pendekatan ini dapat digunakan oleh tim mana pun yang tidak memiliki manajemen otoriter.



Terima kasih kepada Ray untuk idenya



Pada musim semi 2019, hanya ada pembicaraan tentang buku β€œPrinsip. Life and Work ”dari Ray Dalio. Aleksey Kataev juga mendengar tentangnya - dia juga "Pemimpin Tim Leonid" dan kemudian pemimpin tim kami.



Ray Dalio? Siapa ini?
1975- Bridgewater Associates. 2010- - . 100 .



, , , , .


Lyosha datang ke bagian penagihan untuk menetapkan proses. Dia memiliki visi yang jelas tentang tim yang seharusnya - dan kemampuan untuk membujuk. Ketika semuanya berhasil, dia naik. Dan sebelum pergi, dia menawarkan untuk membuat kontrak dan mengkonsolidasikan pekerjaan dari proses yang sudah di-debug di tim, menulis "aturan hidup" untuk tim pengembangan. Pimpinan tim baru mendukung gagasan itu - dan itu dimulai.



Untuk memulainya, kita membaca prinsip-prinsip Dalio itu . Totalnya ada 16, tetapi untuk mengetahui semuanya, Anda perlu membeli buku, artinya dapat dipahami dari keempat ini.

  • Terima kenyataan dan bekerjalah dengannya.
  • , , .
  • .
  • , .


Menyedihkan, tentu saja. Tetapi kami memutuskan untuk mencoba menyesuaikannya untuk diri kami sendiri. Lyosha membuat sketsa daftar 10 prinsip, dan tim melengkapinya, sehingga jumlah total abstrak menjadi 43. Kami menyiapkan repositori di github: merupakan simbol bahwa aturan kerja akan di-host di tempat yang sama sebagai hasilnya.





Dan, sejujurnya, lebih mudah untuk mempertahankan dan mengembangkan keseluruhan bisnis ini dengan cara ini.



Kemudian mereka mulai mempersingkat daftar dan memperbaiki susunan kata, mengevaluasi setiap item menurut tiga kriteria: konkret, sesuai dengan prinsip, kepentingan. Dibahas dan disempurnakan hingga skripsi cocok semua peminat.





Kami sepakat di pantai. Ini adalah ide Lyosha.



Dalam prosesnya, menjadi jelas apa yang kami lihat secara berbeda, tetapi setelah beberapa hari diskusi aktif, kami memiliki kandidat rilis.



gambar

Permintaan pangkalan harus disetujui oleh setiap anggota tim.



Setelah pemungutan suara terakhir, ketua tim merilis versi resmi pertama dari Aturan Kehidupan Tim.





Tolong umumkan seluruh daftarnya



Kami telah memecah "konstitusi" kami menjadi dua bagian: 12 aturan umum kehidupan dan perilaku dalam sebuah tim, ditambah 15 prinsip teknis. Teksnya cukup panjang, jadi kami akan menyembunyikan volume utamanya di bawah spoiler. Ejaan dan tanda baca dipertahankan dalam bahasa aslinya.



Prinsip kerja



1.1. Kami mengikuti prinsip-prinsip yang diterima, terlepas dari apakah kami setuju dengannya.

Ketidaksetujuan pribadi bukanlah alasan untuk menyimpang dari prinsip. Namun, Anda dapat mulai membahas prinsip apa pun jika keadaan berubah dan itu tidak berguna lagi.



11 poin lagi
1.2

β€” . β€” . β€” . , . , .



1.3

- . , . . . , . . . . β€” .



1.4

: , , , . β€” . β€” .



1.5 ,


1.6

β€” . : , , , .


1.7

. , , . β€” .



1.8

β€” , β€” . , . , .



1.9


1.10 β€”

, , β€” , β€” . : , , , . , , . -, β€œ ”, β€œ ” β€œ ”. , .


1.11 , ,

. β€” , , , β€” .


1.12

. .



Prinsip teknis



2.1. Kami memikirkan tentang konsekuensinya

Sebelum peluncuran atau migrasi yang sulit, kami memikirkan tentang apa yang akan kami lakukan jika semuanya berjalan salah. Kami membuat cadangan, skrip rollback, menilai risiko jatuh. Kami mengusir pikiran "ah, itu akan meledak, semuanya akan baik-baik saja".




13 poin lagi
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 Kami tidak menulis ulang proyek dari awal

Kemungkinan bahwa ini adalah ide yang bagus minimal. Kami menyingkirkan pikiran untuk menulis sesuatu dari awal dengan membuang kode kerja yang telah diuji selama bertahun-tahun. Kami terus meningkatkan dan memfaktorkan ulang, menjadikan kode omong kosong sebagai kode impian. Kami menyingkirkan sistem "ganda", tetapi tidak membuatnya.



Ngomong-ngomong, Lyosha membuat laporan terpisah tentang poin terakhir .





Oke, bagaimana cara kerjanya?



  • : , , GitHub β€” , , .
  • β€” . 360, : . - .
  • β€” : , . (, ) , , . , ( ) Β« !Β». , , . , .
  • , . : , , β€” Β« Β». , .








Setelah beberapa waktu, tim menjadi tervirtualisasi pada rapat umum di Sochi. Kemudian kami mencetak prinsip-prinsip tersebut di atas kertas seperti papirus, menjahitnya, dan setiap orang menerima brosur indah yang mereka bawa pulang.





Ketua tim mengatakan dia ingin tanda tangan kami dengan darah di versi kertas. Dia bercanda, kurasa.



Prinsip-prinsipnya bisa diubah sekarang. Jika seseorang muncul dengan ide bagus, tidak menyukai sesuatu atau memiliki keinginan untuk menambahkan sesuatu, setiap anggota tim dapat membuat permintaan dan mengatur pemungutan suara: 100% "untuk" dan amandemen telah dibuat.



gambar

Yang utama jangan takut bernegosiasi dan membahas masalah.



Saya ingin tahu bagaimana cara kerjanya dengan Anda.



All Articles