Bagaimana Anda menangani diri Anda sendiri dalam tim baru di mana Anda adalah pengembang paling senior dan sebagian besar lainnya di tim itu junior bagi Anda selama beberapa tahun. Tugas di depan tim adalah sesuatu yang belum pernah dilakukan oleh siapa pun termasuk Anda dalam karier mereka sebelumnya.
Manajemen menekankan produktivitas yang lebih tinggi dari seluruh tim, dan sebagai pengembang senior Anda bertanggung jawab.
Adakah tip untuk keluar dari ancaman dalam situasi seperti ini? Jelas, seluruh tim perlu waktu untuk belajar dan jangan lupa tim yang baru. Namun, tenggat waktu ada di depan juga ...
Jawaban:
Jangan biarkan tenggat waktu yang ketat atau kebaruan proyek mengganggu praktik rekayasa yang baik. Menyiapkan repositori perangkat lunak, menyetujui gaya pengkodean, membuat test suite, dll. Kebaruan tugas tidak boleh sebesar itu selama Anda memiliki orang-orang berkualitas di bawah Anda yang bersedia untuk bekerja keras dan pelajari tugas di depan mereka.
Atau dengan kata lain: Anda ditugaskan karena manajemen percaya bahwa latar belakang dan pengalaman Anda telah memberi Anda alat yang diperlukan untuk membangun perangkat lunak berkualitas. Jangan tiba-tiba melupakan keahlian Anda hanya karena tugas ini tampaknya menakutkan sekarang.
sumber
Hal pertama yang pertama, mulai menggunakan sistem kontrol kode sumber dari baris kode pertama. Biasakan memeriksa kode lebih awal dan sering.
Kedua, putuskan strategi pengujian . Tentu saja itu berarti tes unit, tetapi Anda juga harus mempertimbangkan bagaimana mengotomatisasi tes penerimaan.
Ketiga, buat server integrasi berkelanjutan sehingga kode Anda dibuat secara teratur dan diuji secara teratur.
Setelah Anda memilikinya, sebagai tim tentukan beberapa standar pengkodean sederhana . Anda ingin kode Anda mudah dibaca oleh semua orang. Tidak masalah apa standarnya. Lekukan dengan tab, lekukan dengan spasi, kurung kurawal pada baris yang sama, apa pun. Tidak masalah apa mereka, hanya saja setiap orang konsisten menerapkannya.
Karena tim ini sebagian besar adalah pengembang junior, rencanakan untuk meninjau kode sering kali untuk memastikan mereka tidak menambahkan terlalu banyak utang teknis ke sistem Anda.
Akhirnya, pertimbangkan untuk menggunakan SCRUM . Jika Anda melakukannya, pekerjakan seorang pelatih atau pergi ke beberapa pelatihan. Karena Anda semua melakukan sesuatu yang belum pernah Anda lakukan sebelumnya, menetapkan tenggat waktu yang realistis adalah mustahil. Dengan SCRUM, manajemen Anda akan memiliki visibilitas terhadap apa yang Anda lakukan setiap hari sehingga mereka dapat melihat kemajuan apa yang dibuat (atau tidak). Dan, karena tenggat waktu Anda tampaknya diberikan kepada Anda, SCRUM setidaknya menjamin bahwa jika Anda tidak dapat memenuhi tenggat waktu, setidaknya Anda menyampaikan cerita yang telah selesai secara bertahap, yang bisa dibilang lebih baik daripada mengakhiri dengan seorang raksasa sistem yang tidak berfungsi sama sekali.
sumber
Selain itu untuk menjawab oleh @ chrisaycock ... Jangan meremehkan waktu yang Anda perlukan untuk mengalokasikan untuk pendampingan / pelatihan dll. Sebagai pemimpin, Anda harus belajar melepaskan detail dan memercayai tim Anda. Tugas Anda adalah menjadi enabler, penghilang blok jalan, dan menjalankan interferensi ketika manajemen menyodok masuk. Dalam tim "normal", sekitar 7 atau 8, pemimpin tidak lagi program, Dalam situasi Anda, ini turun menjadi 3 atau 4 (Mungkin bahkan kurang), Anda bukan sumber daya pemrograman untuk proyek.
sumber
Fokus pada komunikasi di dua bidang.
Tidak mudah melakukan ini, dan itulah salah satu alasan mengapa pekerjaan ini sulit. Jika memenuhi tenggat waktu berarti fitur pemotongan maka lanjutkan itu. Satu hal yang Anda coba hindari dalam semua ini adalah kode cepat untuk membuat tenggat waktu. Itulah awal dari akhir basis kode yang tidak akan bertahan dengan baik dan awal dari utang teknis yang tersedak.
2) Komunikasi antar tim. Tetapkan praktik formal seperti yang direkomendasikan Bryan dan lainnya. Pastikan Anda bertemu secara teratur sebagai tim, misalnya seminggu sekali di samping scrum harian. Dapatkan rasa hormat dan kepercayaan dengan mendengarkan , alat Anda yang paling penting. Pastikan Anda fokus untuk membantu. Hindari kritik negatif di semua biaya. Bila perlu gunakan kritik dan dorongan positif, misalnya "itu hebat, sekali hal yang mungkin ingin Anda pertimbangkan adalah X" lebih dari "itu bukan yang kita butuhkan, Anda perlu melakukan X sebagai gantinya"
sumber
Apa yang telah saya lakukan adalah mengidentifikasi yang mampu dan memecah dan menaklukkan. Saya mengambil 2 atau 3 teratas dan membuat mereka menjadi kapten. Yang lain kemudian dibagi secara merata menjadi tim mengikuti kapten ke tim kecil mereka sendiri.
Saya memberikan potongan atau modul kapten untuk melakukan suatu program.
Para kapten memberikan tugas-tugas pemrograman atau penelitian yang lebih kecil kepada para pemula sambil menjelaskan pada diri mereka sendiri apa yang mereka lakukan sehingga pendampingan terjadi saat melakukan.
Saya mencoba mengatur ruangan sehingga setiap orang berada di ruang terbuka yang sama tetapi setiap tim memiliki lingkaran komputer mereka sendiri. Saya suka berada dalam jarak berteriak ke semua orang sehingga semuanya bergerak cepat.
Ini bekerja dengan baik untuk sekitar 10-20 programmer sejauh ini. Kelompok yang lebih kecil lebih baik berada dalam satu kelompok dan saya belum bekerja dengan yang lebih besar.
sumber