it-swarm-id.com

Peran Tertulis Manajer Pengembangan Perangkat Lunak

Kita semua tahu apa yang dilakukan manajer pengembangan perangkat lunak, tetapi saya khawatir kita hanya mengetahuinya samar-samar. Kami pikir kami tahu apa yang dia lakukan, tetapi untuk merinci apa lingkup pekerjaannya agak sulit.

Menurut Anda, apa peran manajer pengembangan perangkat lunak?

62
Graviton

Berbicara sebagai seseorang dalam pekerjaan (yang juga telah menjadi pengembang), hal-hal utama yang harus saya lakukan adalah:

  • Pertahankan tim pengembangan sesuai jalur (dan berbahagialah jika memungkinkan) - pindahkan semua hal keluar dari cara mereka yang menghentikan mereka bekerja jika memungkinkan, jelaskan mengapa tidak mungkin di mana mereka tidak dapat dipindahkan untuk mencoba dan mengurangi setiap stres yang ditimbulkan (orang lebih cenderung menerima hal-hal jika mereka setidaknya memahaminya). Pada akhirnya jika ada konflik antara proyek dan tim yang tidak dapat diselesaikan, biasanya proyek akan menang. Itu tidak selalu membuat Anda populer di tim tetapi Anda dibayar untuk mengirimkan proyek/produk, bukan sebagai pemimpin serikat. Keterampilan yang jelas adalah dalam meminimalkan seberapa sering ini terjadi.

  • Pastikan bahwa tim berkomunikasi dengan pelanggan dengan jumlah benar . Ini cenderung menjadi bagian yang sama menjauhkan pelanggan dari tim, dan memastikan tim menanyakan kepada pelanggan tentang hal-hal yang tidak mereka pahami sepenuhnya (bukan hanya membuat asumsi yang mungkin salah). Pengembang sangat besar dalam memastikan bahwa pelanggan tidak mengganggu mereka dan kadang-kadang lupa bahwa pelanggan mungkin memiliki sesuatu yang berguna untuk ditambahkan.

  • Perencanaan proyek dan penentuan prioritas konflik sumber daya, permintaan pelanggan, masalah dukungan dan sejenisnya. Saya cenderung menjadi orang yang mengatakan bahwa pelanggan ini lebih diprioritaskan daripada yang itu, atau bahwa bug ini harus diperbaiki sebelum dikirimkan tetapi ia bisa keluar sebagai masalah yang diketahui.

  • Kelola sisi komersial pengembangan - yaitu memastikan bahwa hal-hal yang harus dibebankan dan ditagih untuk dan bahwa kami tidak mencoba membebankan biaya untuk hal-hal yang harus dicakup dalam dukungan.

  • Jadilah suara tim dalam bisnis dan bisnis dalam tim - bantu semua orang memahami posisi pihak lain dan bantu selesaikan perbedaan di mana mereka muncul. Ini sebagian besar cenderung mencakup konflik budaya antara kebutuhan/keinginan tim dan organisasi yang lebih besar, dan masalah anggaran. Ini sebenarnya cukup menyebalkan karena artinya ketika ada perbedaan pendapat Anda adalah musuh semua orang.

  • Bekerja dengan tim untuk memastikan proses dan alat yang memadai tersedia untuk memenuhi persyaratan bisnis dan pelanggan. Pastikan bahwa proses ini diikuti dan disesuaikan sesuai kebutuhan. Beberapa di antaranya memastikan tim mendefinisikan proses (misalnya untuk hal-hal teknis yang mereka pahami lebih baik daripada saya), beberapa mendefinisikan sendiri (untuk hal-hal yang saya pahami lebih baik daripada yang mereka lakukan - merencanakan, memperkirakan, dan sebagainya). Kata yang penting di sini cukup - Anda tidak ingin proses demi proses tetapi ada hal-hal yang harus terjadi dan proses adalah cara terbaik untuk mencapai itu secara konsisten.

  • Pastikan bahwa setiap anggota tim bekerja setidaknya untuk tingkat yang wajar, dan idealnya lebih dari itu. Bekerja dengan mereka untuk membantu menyelesaikan masalah apa pun yang mencegah mereka mencapai level ini. Saya ingin mengatakan bahwa peran saya adalah membuat mereka menjadi yang terbaik yang bisa mereka lakukan, tetapi sementara ini benar pada tingkat tuntutan lain (proyek, anggaran, waktu) berarti bahwa ini hampir selalu akan dikompromikan ke tingkat yang lebih besar atau lebih kecil.

  • Melakukan semua administrasi dan memenuhi tuntutan organisasi (dan hukum)

Secara keseluruhan itu adalah bagian mentoring, sebagian kesekretariatan, sebagian manajemen proyek, sebagian manajemen akun dan sebagian PR (untuk tim). Ada banyak mengambil hal-hal yang tidak perlu dipikirkan atau tidak dipikirkan oleh pengembang, dan beberapa memastikan mereka melakukan hal-hal yang perlu mereka lakukan tetapi tidak ingin melakukannya.

Apa yang bukan tentang hal itu adalah menjadi pengembang terbaik (umumnya Anda terlalu lepas tangan untuk tetap terkini untuk waktu yang lama sehingga Anda harus menerima bahwa orang akan tahu lebih banyak dari Anda - keahliannya adalah mengetahui di mana pengalaman Anda yang lebih lama tapi ketinggalan jaman lebih relevan daripada pengalaman mereka yang lebih pendek tetapi lebih baru) atau menjadi semacam diktator. Dalam hal itu, cara terbaik untuk memikirkannya bukanlah Anda lebih senior, hanya saja Anda memiliki tanggung jawab yang berbeda. Kadang-kadang ini melibatkan membuat panggilan terakhir pada sesuatu (yang mungkin bertentangan dengan pandangan tim) tetapi lebih sering harus tentang konsensus atau kompromi.

100
Jon Hopkins