Bagaimana proses pengembangan di berbagai perusahaan

Proses pengembangan adalah topik diskusi konstan baik di dalam tim maupun di berbagai konferensi. Dan, tentu saja, optimalisasi mereka adalah sakit kepala yang konstan untuk semua orang yang entah bagaimana mengontrol pengembangan.


Suatu ketika saya adalah seorang pengembang junior dan sangat tidak suka kata "proses". Semua pertemuan rutin dan komunikasi lainnya ini tampak tidak masuk akal, mengalihkan perhatian dari pekerjaan substantif (menulis kode, tentu saja). Saya pikir tahap ini terjadi dalam kehidupan semua orang yang terlibat dalam pembangunan; tetapi berguna untuk mengulangi tahap ini secara teratur: aktivitas apa pun dapat dioptimalkan (misalnya, dengan membatalkannya sama sekali), dan kadang-kadang perasaan tidak berarti tentang apa yang terjadi memiliki efek penyembuhan yang benar-benar.




Kami memutuskan untuk mencurahkan Pertemuan Pemimpin Tim kami berikutnya untuk proses pengembangan, yang akan berlangsung pada malam 17 Juni di kantor Yandex di Moskow. Pendaftaran terbuka!


Para ahli kami sepakat untuk:


  • Anatoly anatolix Orlov, CTO, Ozon
  • Alexey Kataev deusdeorum , Kepala Pengembangan Perangkat Lunak, SkyEng
  • Alexander Gutman, CTO, JoomPay
  • Evgeny Paramonov, Kepala Pengembangan Pencampuran Pencarian, Yandex
  • Andrey Plakhov yafinder , kepala fungsi pencarian, Yandex

Hari ini mereka menjawab beberapa pertanyaan untuk mempersiapkan diskusi di masa depan:


1. Atas dasar apa proses dibangun di perusahaan Anda?
2. Dalam pengalaman Anda, berapa persentase keberhasilan tim ditentukan oleh proses yang tepat, dan apa keterampilan individu?
3. Apakah ada situasi di mana pemimpin tim memiliki hak untuk mengabaikan proses apa pun?
4. Ceritakan beberapa kisah menakutkan dari pengalaman Anda dengan kata "proses"

Di bawah potongan - banyak api, sarkasme ditujukan kepada penulis pertanyaan, pendapat yang paling beragam dan, tentu saja, kisah-kisah menakutkan.


Anatoly Orlov anatolix , CTO, Ozon



1. Atas dasar apa proses dibangun di perusahaan Anda?


Kami mencoba membangun semua proses sedemikian rupa sehingga waktu sesingkat mungkin beralih dari ide ke implementasi. Dalam komunitas pemrograman, pendekatan ini disebut "ara-ara dan dalam produksi", dan sering menggunakan ungkapan ini secara negatif. Pada saat yang sama, dari sudut pandang bisnis, jauh lebih masuk akal untuk meluncurkan proyek atau fitur dengan cepat, menguji hipotesis, dan jika semuanya berfungsi, selesaikan ke kondisi target.


Ideologi ini mendasari semua proses: layanan mikro yang mudah digunakan secara terpisah; menyebarkan secara otomatis dengan menggabungkan ke cabang; tim vertikal yang berisi produk, programer, penguji dan desainer duduk bersama dan memiliki hak untuk tidak berkoordinasi dengan siapa pun di luar perubahan dalam bidang tanggung jawab mereka, dll.


2. Dalam pengalaman Anda, berapa persentase keberhasilan tim ditentukan oleh proses yang tepat, dan apa keterampilan individu?


Bunga salah. Mungkin, ada baiknya perhitungan untuk melakukan sesuatu seperti ini: keterampilan menentukan seberapa kompleks sistem yang dapat Anda jalankan, produktivitas individu dari spesialis - seberapa cepat Anda dapat melakukannya. Dan proses dan arsitektur yang buruk memperlambat pekerjaan, itu adalah pajak atas ketidakefisienan. Pajak dapat berupa, pada prinsipnya, di beberapa perusahaan, bahkan 100% terjadi, tetapi organisasi seperti itu biasanya tidak hidup lama (jika bukan "GBU Housing Sviblovo", tentu saja).


3. Apakah ada situasi di mana pemimpin tim memiliki hak untuk mengabaikan proses apa pun?


Selalu. Jika Anda memahami bahwa prosesnya mengganggu Anda, tetapi tidak membantu, Anda harus mengubahnya. Di sisi lain, ini tidak berarti bahwa Anda dapat membuat keputusan seperti itu sendiri: sepakati hal ini dengan kolega Anda, dan jika perlu, dengan atasan Anda, sehingga tidak berarti bahwa Anda sedang mengerjakan proses baru, dan tim dan seluruh perusahaan berada pada yang lama, dan sebagai hasilnya, tidak ada yang berhasil sama sekali.


4. Ceritakan beberapa kisah menakutkan dari pengalaman Anda dengan kata "proses"


Izinkan saya menulis tentang prinsip inversi proses dengan beberapa contoh menakutkan. Programmer sangat menyadari prinsip inversi ketergantungan, dan prosesnya memiliki hal yang sama.


Anda perlu menerapkannya kira-kira dalam kasus-kasus berikut: katakanlah Anda datang ke HR untuk membuka lowongan, dan mereka meminta Anda untuk mengisi kuesioner 5 halaman tentang siapa yang akan Anda cari. Atau Anda datang untuk meminta uang untuk sesuatu yang jelas diperlukan, dan Anda diminta untuk menulis memo.


Proses ini seringkali berubah menjadi birokratis, karena menulis kuesioner adalah untuk Anda, dan itu membuat hidup lebih mudah (atau bahkan tidak) untuk orang lain. Akibatnya, kami tidak memiliki mekanisme untuk menyetujui apa yang seharusnya ada dalam kuesioner - 2 baris atau 5 halaman.


Penerapan prinsip inversi proses di sini terlihat seperti ini: perlu bagi seseorang untuk menjelaskan mengapa ia perlu membuka lowongan, dan SDM sendiri mengisi kuesioner, atau membiayai - catatan resmi. Biasanya dalam kasus ini ternyata sepanjang hari Anda tidak ingin mengisi 5 halaman kuesioner dan menulis memo, dan prosesnya langsung menjadi efektif, tanpa konsekuensi apa pun. Dan untuk pelanggan akhir, proses berubah menjadi "menulis satu kalimat umum yang kohesif menjadi alat obrolan yang berfungsi".


Alexey Kataev deusdeorum , Kepala Pengembangan Perangkat Lunak, SkyEng



1. Atas dasar apa proses dibangun di perusahaan Anda?


Kami memiliki 284 repositori di github: Anda dapat menemukan kode dalam bahasa pemrograman apa pun. Di antara 20 tim pengembangan kami, Anda mungkin bahkan dapat menemukan air terjun. Pembentukan proses sebelumnya diserahkan kepada timlids: awal yang cepat dari proyek dan pengembangan platform inti dengan sejarah 7 tahun memerlukan pendekatan yang berbeda. Pada pertemuan pemimpin tim mingguan, kami bertukar praktik terbaik dan perlahan-lahan menyebar ke seluruh perusahaan.


Pada skala saat ini, ini tidak berhasil: beberapa pemimpin tim tidak memiliki pengalaman, beberapa kekurangan waktu. Naiknya entropi mulai membawa masalah. Tahun lalu, saya telah memperluas praktik terbaik kami ke semua tim, menyeimbangkan antara penjualan dan "melakukannya pasti bagus." Lebih mudah untuk menerapkan proses yang tepat saat membuat tim, bahkan lebih mudah ketika pemimpin tim keluar dari tim yang sukses: Anda tidak perlu menjelaskan atau menjual, dia tahu itu bekerja.


2. Dalam pengalaman Anda, berapa persentase keberhasilan tim ditentukan oleh proses yang tepat, dan apa keterampilan individu?


Dalam pengalaman saya - 100%. Bahkan jika seorang pengembang tunggal menulis kode untuk dirinya sendiri, ia masih mengikuti prosesnya, meskipun sederhana. Jika Anda mengulangi pertanyaan: "seberapa banyak Anda bisa melupakan tim pengembang keren dengan mengubah proses", jawaban saya akan "sangat kuat". Penting untuk memulai bukan dengan proses peninjauan kode, kenaikan gaji dan umpan balik, tetapi dengan hal-hal dasar - perencanaan, penentuan prioritas, komunikasi dengan bisnis. Omong-omong, banyak pengembang keren tanpa proses perekrutan yang keren tidak akan muncul sendiri.


3. Apakah ada situasi di mana pemimpin tim memiliki hak untuk mengabaikan proses apa pun?


Ketika situasi yang tidak terduga muncul yang tidak ada yang siap. Saya langsung ingat ILV, yang pernah melarang puluhan API kami di Amazon. Kami kemudian lupa tentang Kanban, tentang pengaturan tugas yang benar dan dalam mode menelepon konstan kami datang dengan rencana aksi dengan cepat. Dalam sehari, semuanya dipulihkan.


4. Ceritakan beberapa kisah menakutkan dari pengalaman Anda dengan kata "proses"


Ada cerita menyeramkan tentang bagaimana penyelia sangat menghormati proses konsumen yang membayar gajinya. Dan dia jatuh dengan kesalahan, berhasil mengirim permintaan ke gerbang pembayaran. Tapi aku tidak bisa memberitahunya di depan umum :)


Alexander Gutman , CTO, JoomPay



1. Atas dasar apa proses dibangun di perusahaan Anda?


Proses di perusahaan kami hanya muncul.


Untuk perencanaan triwulanan, kami menggunakan OKR.


Di bawah ini, kami menggunakan YouTrack dan papan Agile di dalamnya untuk merencanakan pengembangan. Kami menggunakan kanban. Bukan dalam arti "repot dengan jumlah maksimum tugas di setiap negara," tetapi dalam arti "kemalasan untuk mentransfer tugas dari sprint ke sprint." Pendahulu YouTrack dengan papan adalah piring di Excel dengan semua tugas dan tanggung jawab. Dan itu berhasil juga.


2. Dalam pengalaman Anda, berapa persentase keberhasilan tim ditentukan oleh proses yang tepat, dan apa keterampilan individu?


Tampaknya pertanyaan itu mengandung anggapan bahwa keberhasilan tim ditentukan secara eksklusif oleh proses dan keterampilan yang tepat, dan persentasenya harus berjumlah 100.


Tetapi ada faktor-faktor penting lainnya: sumber daya atau, misalnya, acak. Oleh karena itu, saya akan menjawab: 10% proses dan 10% keahlian.


Di sisi lain, tidak terlalu jelas apa yang disebut persentase pengaruh masing-masing faktor. Hampir setiap proyek yang rumit dapat gagal dengan proses yang salah atau kurangnya keterampilan individu. Karena itu, jawaban saya adalah: 99% proses dan 99% keterampilan.


Di pihak ketiga, jika kita berbicara tentang proyek non-sepele dan tentang persaingan antar tim, prosesnya membosankan dan setiap orang harus memiliki beberapa proses yang masuk akal, tetapi keterampilan individu dapat menjadi pembeda. Oleh karena itu, jawaban akhir: 10% proses dan 20% keahlian.


3. Apakah ada situasi di mana pemimpin tim memiliki hak untuk mengabaikan proses apa pun?


Ada situasi di mana siapa pun dapat mengabaikan apa pun. Secara khusus, tim memimpin - proses apa pun.


Tapi saya tidak akan mengisolasi pemimpin tim seperti itu. Di sini kita membutuhkan beberapa konsensus dalam tim: prosesnya tidak sempurna, aturannya tidak universal, Anda perlu dibimbing oleh akal sehat.


Katakanlah, Anda perlu menjalankan perbaikan bug selama dekorasi, karena itu logis, dan bukan karena pemimpin tim memiliki hak. Bahkan jika Anda tidak menyetujui ini sebelumnya dan tidak ada aturan untuk kasus ini.


4. Ceritakan beberapa kisah menakutkan dari pengalaman Anda dengan kata "proses"


Suatu ketika saya diminta menjawab pertanyaan "Ceritakan beberapa kisah menakutkan dari pengalaman Anda dengan kata" proses "."


Evgeny Paramonov , Kepala Pengembangan Pencampuran Pencarian, Yandex



1. Atas dasar apa proses dibangun di perusahaan Anda?


Kami menyukai prinsip-prinsip gesit. Tim membangun semua pekerjaan kami sedemikian rupa untuk memaksimalkan pencapaian tujuan perusahaan dan moral tim dalam waktu sesingkat mungkin.


Karena salah satu prinsip tangkas menyatakan bahwa "orang dan interaksi lebih penting daripada proses dan alat", hal pertama yang kami lakukan adalah memperbaiki aturan dasar scrum.


Di dalam tim, kami mempromosikan prinsip-prinsip berikut:


  • Kita masing-masing adalah penebang pohon dan perhiasan (analis / penguji / pengembang)
  • Masing-masing dari kita memiliki kekuatan (bantu teman / jangan ragu untuk bertanya)
  • Kita masing-masing menentukan seperti apa produk akhir itu (setiap arah memiliki yang bertanggung jawab)

Pengembang menganalisis tugas secara independen, mengujinya, dan memulai eksperimen ABT. Bersama dengan CI / CD, ini adalah kumpulan pembunuh, memungkinkan kami untuk bergerak secepat mungkin, karena setiap pengembang memiliki seluruh konteks. Misalnya, sudah selama percobaan, fitur baru yang cerdas muncul di benaknya, ia dengan cepat mengimplementasikannya, menggulungnya dan melakukan percobaan lain.


Untuk setiap bulan, kami menetapkan tujuan yang ingin kami capai dan memeriksa kemajuan mingguan. Ini memberi kita fleksibilitas. bahkan selama seminggu kita dapat mengubah rencana kita jika ini membantu mencapai tujuan bulan ini.


Dengan pengorganisasian proses ini, keterlibatan manajer minimal dan tim memperoleh mobilitas dan komitmen jangka panjang.


2. Dalam pengalaman Anda, berapa persentase keberhasilan tim ditentukan oleh proses yang tepat, dan apa keterampilan individu?


Waktu bergerak maju, dunia berubah dan proses kita berubah dengannya.


Penguasaan adalah:


  • membangun proses yang bekerja pada hasilnya;
  • melihat masalah dalam proses saat ini dan memperbaikinya;
  • Untuk menyampaikan kepada orang-orang suatu pemahaman tentang mengapa prosesnya disusun sedemikian rupa.

Menggunakan tim saya sebagai contoh, saya dapat mengatakan dengan sangat yakin bahwa rasio ini adalah perbandingan satu per satu di wilayah tersebut.


Tim saya segera menangani tiga bidang global: penelitian, pembelajaran mesin dan infrastruktur (dan, pada kenyataannya, juga pekerjaan bahan makanan).


Dalam bidang-bidang ini, agak sulit untuk membangun proses di muka untuk semua skenario yang mungkin. Seringkali kesuksesan sangat ditentukan oleh intuisi profesional pemain dan kuratornya.


3. Apakah ada situasi di mana pemimpin tim memiliki hak untuk mengabaikan proses apa pun?


Jika proses dibangun dengan keterampilan, maka ini tidak mungkin. Proses yang dibangun secara kompeten kemungkinan besar dibangun di atas kesalahan orang lain.


Tetapi, seperti yang saya katakan di atas, kita terus bergerak maju dan dunia sedang berubah, jadi cepat atau lambat akan ada situasi di mana prosesnya harus diabaikan atau diubah.


Timlid bertanggung jawab atas kontribusi timnya untuk pencapaian tujuan perusahaan, dan jika dia memahami bahwa di sini dan sekarang perlu untuk bertindak, dan proses saat ini jelas tidak siap untuk situasi seperti itu, dia pasti perlu mengambil jalan baru. Dengan pilihan ini, ada baiknya memberitahukan tentang tindakan mereka semua yang mungkin mereka pengaruhi.


Pertimbangkan situasi fiktif:


  • manajer secara tidak sengaja membuat perubahan pada file konfigurasi dan meluncurkannya secara otomatis setelah 15 detik;
  • pencarian menjadi tidak mungkin untuk digunakan, 100% pengguna menderita;
  • Timlid dan panggilan pengembang panggilan memantau dan memastikan bahwa semuanya buruk, karena kesalahan dituangkan ke dalam log dan jelas komponen mana yang dirugikan.

Dalam hal ini, instruksi dibuat seburuk mungkin dan berbunyi:


  • dapatkan tiket;
  • lampirkan semua informasi dan analitik debugging di sana;
  • memperbaikinya melalui codreview.

Jika kita pergi dengan cara ini dan bahkan mengira kita melakukannya dengan sangat cepat, itu akan memakan waktu setidaknya 5 menit.


Dalam situasi ini, setiap detik seperti kematian bagi kita. Anda harus bertindak sekarang. Jika mungkin untuk memutar kembali konfigurasi ini - gulung. Jika tidak, nonaktifkan seluruh komponen. Di sini dan sekarang. Prosiding - nanti.


4. Ceritakan beberapa kisah menakutkan dari pengalaman Anda dengan kata "proses"


Sebuah kisah mengerikan dengan proses kata terjadi ketika kami masih muda dan hijau. Kami mendengar kata gesit - gaya, modis, awet muda. Dan mereka memperkenalkan sprint.


Awalnya itu menyenangkan: perencanaan baru muncul. Kemudian tugas-tugas mulai bergerak dari sprint ke sprint. Manajer bertanya kepada kami: "kapan?" Kami menjawab: "besok." Waktu bertambah banyak, tentu saja, dengan tiga, tetapi kami masih tidak cocok dengan sprint.


Perlahan-lahan, kami mulai kehilangan moral. Tugas menumpuk; manajer tidak mengerti apa yang sedang terjadi; situasi menjadi tidak terkendali. Akibatnya, kami untuk beberapa waktu meninggalkan metodologi yang fleksibel.


Moral dari kisah ini adalah ini: sebelum Anda memperkenalkan proses baru, Anda perlu memahami dengan jelas mengapa hal ini dilakukan dan bagaimana hal itu lebih baik daripada keadaan saat ini.


Andrey Plakhov yafinder , kepala fungsi pencarian, Yandex



1. Atas dasar apa proses dibangun di perusahaan Anda?


Yandex adalah perusahaan yang sangat besar dan sangat, sangat demokratis. Apapun generalisasi yang saya tulis di sini, ada suatu tempat di layanan Yandex.Botinki, yang ternyata sangat berbeda.


Di tempat-tempat yang saya amati, kerjanya seperti ini. Ada standar ketat untuk proses skala besar. Ditulis dengan jelas bagaimana tujuan unit ditentukan selama enam bulan hingga satu tahun, bagaimana kita sepakat tentang apa yang dianggap sukses dan apa yang gagal. Bagaimana hal itu ditetapkan, diubah, dan apa yang mempengaruhi tingkat karyawan, bagaimana premi dan opsi dibayarkan, bagaimana perekrutan dan transisi antar departemen, dll.


Tetapi pada tingkat manajemen mikro hampir di mana-mana, sesuai dengan aturan apa yang akan dijalani tim, itu menentukan dirinya sendiri. Pergantian tugas, jadwal dan isi rapat kerja, beberapa stand-up di sana, sprint, itu saja. Seseorang mengatur untuk diri mereka sendiri sebuah "suka dalam buku" yang ideal, untuk beberapa tim kecil, sebaliknya, anarki. Namun, bahkan sebagian besar kaum anarkis menyadari bahwa hidup โ€œcara kerjanyaโ€ tidak optimal. Dan karena orang pintar, ia datang dengan cepat. Di sini, sejauh yang saya tahu, tidak ada air terjun (meskipun saya tidak akan menjamin tim yang terlibat dalam besi).


Saya, sebagai kepala departemen, menuntut standar yang agak sederhana untuk proses di departemen saya: harus mungkin kapan saja untuk melihat siapa yang memiliki tugas spesifik apa dalam pekerjaan mereka, berapa banyak waktu yang mereka tanggung di negara ini, dan siapa yang baru saja menutup tugas yang mana. Untuk melakukan ini, cukup menggunakan papan Kanban online di atas pelacak tugas standar perusahaan (secara teoritis, ini tidak perlu, tetapi dalam praktiknya, sebagai hasilnya, semua tim datang ke sini).


2. Dalam pengalaman Anda, berapa persentase keberhasilan tim ditentukan oleh proses yang tepat, dan apa keterampilan individu?


Secara umum, yang terpenting adalah keberhasilan model bisnis. Jika organisasi belum menemukan apa yang harus dijual, kepada siapa dan bagaimana, maka proses ideal maupun pengembang yang cerdik tidak akan membantunya. Oleh karena itu, anggaplah bisnis ini berfungsi, dan kita berbicara tentang pengembangan jangka panjang, kualitas produk, diversifikasi, dll.


Maka jawabannya sangat tergantung pada ukuran tim. Keberhasilan tim lima orang hampir seratus persen ditentukan oleh orang-orang. Keberhasilan sebuah perusahaan yang terdiri dari lima ratus atau lebih hampir seratus persen ditentukan oleh organisasi yang tepat. Cargo cult, ketika sebuah startup kecil mencoba untuk hidup dengan aturan yang diciptakan oleh, katakanlah, IBM, itu bisa sama berbahayanya dengan prinsip Peter ketika "tautan" sebelumnya menjadi "perwira", tetapi mencoba untuk hidup dengan cara lama.


Harus juga dikatakan bahwa tim yang sangat tertutup dari beberapa orang cukup representatif di dalam raksasa industri raksasa. Namun keadaan ini, sayangnya, menggabungkan aspek terburuk dari kedua dunia, dan bukan sebaliknya. Sekelompok orang lemah tidak akan menguasai apa pun yang masuk akal bahkan pada infrastruktur yang sudah jadi, dan proses yang salah akan menyebarkan tim bintang pada roda gigi, dan tidak ada yang akan memperhatikannya.


3. Apakah ada situasi di mana pemimpin tim memiliki hak untuk mengabaikan proses apa pun?


Tentu saja, mereka tahu, dan kata "api" sangat tepat di sini. Jika:


  • situasi darurat
  • memburuk dengan cepat jika dibiarkan kebetulan,
  • dan itu dapat dibantu dengan intervensi yang cepat dan tegas,
    lalu persetan dengan aturan dan "kebenaran"!

Yang utama adalah bahwa situasi seperti itu tidak memberikan kesenangan timlid, jika tidak kita berisiko menemukan setelah beberapa waktu bahwa kebakaran di sekitarnya terjadi jauh lebih sering daripada rata-rata organisasi. Benar-benar tidak bisa dipahami alasannya. Semacam mistisisme.


4. Ceritakan beberapa kisah menakutkan dari pengalaman Anda dengan kata "proses"


Proses paling mengerikan dalam hidup saya yang saya temui sejak lama, bahkan sebelum Yandex, ketika saya mengembangkan game komputer. Lebih dari seratus orang mengerjakan permainan pertama sebuah perusahaan muda tetapi kaya dan sangat ambisius yang baru saja pindah ke kantor baru. Selain itu, segala pemborosan dalam jumlah berapa pun seharusnya disetujui oleh CEO. Beli 50 server? Ganti kursi yang rusak dengan yang baru untuk seorang programmer? Pesan makan siang minggu depan? Apakah manajer kantor kehabisan klip kertas? Satu dan orang yang sama memutuskan semuanya, tumpukan dokumen tumbuh di atas meja. Seperti yang Anda tebak, gangguan karena "proses" seperti itu terjadi bahkan dengan kertas toilet. Untuk membayangkan dengan tepat kengerian dari apa yang terjadi, perlu ditambahkan bahwa direktur umum menggabungkan peran ini dengan peran direktur kreatif (seperti yang akan dikatakan SRO sekarang) dan dengan peran kepala perancang permainan ...




Pertemuan berikutnya, di mana Anda masih bisa mendaftar , akan diadakan pada 17 Juni 2019 di kantor Yandex Moskow. Dimungkinkan untuk mengajukan pertanyaan kepada pembicara dan membagikan pengalaman mereka.

Source: https://habr.com/ru/post/id454864/


All Articles