Baru-baru ini seorang direktur baru dari departemen saya datang dan menyatakan keinginannya agar kami menjadi "pusat keunggulan". Saya berharap bahwa karena dia adalah bos pertama saya yang sebenarnya memiliki latar belakang pemrograman maka akan ada beberapa deskripsi tentang ini. Namun, hal itu dibiarkan begitu saja.
Ketika saya merenungkan hal ini selama beberapa hari terakhir, saya mengosongkan apa arti sebenarnya CoE di luar sekadar "menjadi efektif" dalam memberikan produk. Inilah beberapa item utama yang saya perjuangkan:
Apakah ini hanya istilah yang dilontarkan oleh tipe manajemen?
Kualitas apa yang membuat sekelompok pengembang dan penguji perangkat lunak unggul?
Bagaimana Anda mengukur keunggulan dalam konteks ini?
terminology
Randy
sumber
sumber
Jawaban:
Ya ini hanya istilah yang dilontarkan oleh tipe manajemen tetapi jika Anda menghapus bahasa manajemen apa yang ia katakan adalah bahwa ia menginginkan departemen yang dipandang menggunakan dan mewujudkan praktik industri terbaik dengan cara yang diinginkan dan dilakukan oleh orang lain. jadi untuk memberikan solusi hebat yang disukai orang.
(Bit terakhir ini penting - jika Anda tidak benar-benar mengirimkannya, tidak peduli betapa hebatnya segalanya dan manajer Anda tidak akan lama).
Kompleksitas datang dalam dua cara utama:
1) Apakah dia menginginkan ini karena dia mengerti bahwa ini adalah cara yang tepat untuk mengembangkan perangkat lunak dan bahwa ini adalah bagaimana Anda menghasilkan produk yang hebat, atau apakah dia menginginkannya karena dia ingin dapat membual tentang hal itu?
2) Apakah dia akan menerima biaya di muka (waktu, uang, kredibilitas dan risiko) yang datang dengan menerapkan praktik terbaik? Tidak apa-apa untuk mengatakan "mari kita gesit" tetapi dia meletakkan reputasinya di jalur bahwa itu akan meningkatkan hal-hal dan harus menghabiskan banyak waktu menjualnya ke dalam organisasi. Hampir selalu manfaatnya bersifat jangka panjang, biayanya jangka pendek dan itu agak sulit. Pada akhirnya dia benar-benar serius tentang itu?
Dalam hal seperti apa bentuknya, yah, itu tergantung apa yang Anda lakukan, tetapi Anda harus berpikir dalam hal apa pengembangan dan proses manajemen proyek Anda, alat apa yang Anda gunakan, kit apa yang dimiliki orang dan sebagainya. . Tes Joel selalu merupakan tempat yang baik untuk memulai dan khususnya saya ingin melihat proses kontrol versi yang sangat solid, pelacakan bug yang sangat baik dan proses pembangunan yang sangat bagus.
Saya juga akan melihat apakah metodologi tangkas tepat untuk Anda (khususnya SCRUM), sejauh mana pengujian otomatis dapat membantu (tanpa memulai perang agama ada keyakinan yang berbeda tentang titik di mana kompleksitas pengujian melebihi manfaat yang mereka dapat). sediakan) apakah Anda punya alat dan kit yang diperlukan untuk melakukan pekerjaan itu. Secara umum saya menyarankan Anda ingin alat menjadi yang terdepan tetapi tidak berdarah. Perlu ditekankan bahwa ini bukan tentang memiliki mainan, ini tentang memberi semua orang di tim alat menjadi seproduktif mungkin untuk sebanyak mungkin hari kerja. Contoh yang paling jelas adalah PC yang buruk - apakah benar-benar bagus untuk membayar pengembang untuk menonton kursor sementara proyek mereka membutuhkan 5 menit untuk membangun ketika mereka membangunnya setengah lusin kali sehari?
Beberapa hal lain yang mungkin akan terlihat di pusat keunggulan: Saya sarankan pusat perangkat lunak keunggulan mungkin punya program pelatihan yang cukup bagus - mungkin bukan kursus formal tetapi tentu saja bujet anggaran, waktu belajar, bimbingan dan Suka.
Dan saya menyarankan bahwa itu mungkin juga melakukan sejumlah kecil (setidaknya) R&D. Maksud saya bukan hal langit biru sepenuhnya, tetapi memberi ruang pengembang untuk mencoba hal-hal baru dan mengevaluasi alat dan bahasa baru tanpa tekanan terus-menerus pengiriman kepada klien. Itulah cara Anda bergerak maju dan tetap baik tahun depan, tahun sesudahnya dan seterusnya.
Bagaimana Anda bisa mengukurnya? Ah, pertanyaan kuno. Pada akhirnya mengukur pengembangan perangkat lunak itu sulit, jika bukan tidak mungkin dan mengukur keunggulan dalam pengembangan perangkat lunak juga sama sulitnya.
Satu-satunya hal yang saya benar-benar dapat menyarankan bahwa saya pikir akan bermanfaat yang banyak diadopsi oleh banyak perusahaan adalah kepuasan pelanggan dan staf. Ini adalah pengukuran tidak langsung tetapi pendapat saya adalah jika Anda tidak unggul, tidak mungkin Anda akan mendapatkan tingkat kepuasan pelanggan yang sangat baik dan tingkat kepuasan staf yang sangat hebat.
sumber
Ini adalah masalah dengan kata - kata musang ; mereka terdengar seperti berarti sesuatu ... tetapi sebenarnya tidak.
Dari konteks, sepertinya perusahaan Anda menghasilkan produk, dan bahwa direktur Anda hanya ingin departemen Anda seefisien dan seefektif mungkin. IME, itu berarti mereka bermaksud melakukan satu atau semua hal berikut ini:
Jadi, untuk langsung menjawab pertanyaan Anda:
sumber
Dalam pengalaman 30+ tahun saya, frasa seperti itu biasanya berarti kami ingin Anda menghasilkan lebih banyak dengan lebih sedikit orang.
sumber
Dalam menjawab poin 1 Anda:
Jawabannya pasti Ya , itu adalah istilah yang seperti oleh pemain Bingo Omong kosong yang berpengalaman . Itu tidak berarti bahwa istilah itu tidak ada artinya.
Mari kita beralih ke nomor 2:
Diambil dari Wikipedia : Center of Excellence: kumpulan pengetahuan dan pengalaman yang secara formal diterima dan diterima secara informal di bidang subjek. Mari kita lupakan tentang yang ditunjuk secara formal dan diterima secara informal, dan fokus pada tubuh pengetahuan dan pengalaman. Saya akan melihat pengetahuan sebagai latar belakang teoretis, pengalaman akhir sebagai sesuatu yang berasal dari aplikasi praktis. Untuk mencapai keunggulan, Anda membutuhkan keduanya. Selain kualitas-kualitas (yang sangat jelas) itu, saya pikir yang ketiga sangat penting untuk mencapai keunggulan: Kemampuan untuk mempertanyakan diri sendiri, untuk merefleksikan apa yang Anda lakukan dan mencari cara untuk meningkatkan. Pengetahuan yang Anda pelajari sebagai seorang siswa, tetapi Anda harus terus-menerus mengerjakannya, mengikuti perkembangan terkini, dll. Pengalaman yang Anda kumpulkan menjadi pengalaman, yang hampir tidak terhindarkan. Bagian paling sulit dari sudut pandang manajemen adalah menciptakan budaya refleksi dan peningkatan diri (semoga sukses untuk bos Anda dengan yang satu itu ;-)
Adapun pertanyaan Anda nomor 3:
Saya pikir Anda tidak bisa. Saya berbicara tentang lebih dari sekedar membawa proyek menjadi sukses di sini (yang sudah sulit diukur, antara lain karena kecenderungan untuk menyatakan bahkan proyek yang paling gagal sekalipun berhasil karena terlihat lebih bagus dalam presentasi PowerPoint). Keunggulan sejati berasal dari sikap semua anggota tim untuk memberikan yang terbaik, meningkatkan diri, peralatan, proses, dll. Upaya terbaik Anda adalah menemukan cara untuk mengukur efektivitas beberapa proses perbaikan berkelanjutan yang telah ditentukan sebelumnya.
sumber
Orang pertama yang muncul di benak saya ketika memikirkan "Software Center of Excellence" adalah Paman Bob Martin
Paman Martin adalah advokat lama untuk keunggulan dalam pengembangan perangkat lunak dalam bentuk yang dikenal sebagai Pengerjaan Perangkat Lunak . Seperti yang dijelaskan wikipedia
Dengarkan dia di podcast berikut saat dia menjelaskan apa itu Pengerjaan Perangkat Lunak:
Lihat juga Manifesto untuk Pengerjaan Perangkat Lunak , yang menyoroti pentingnya perangkat lunak yang dibuat dengan baik, menambah nilai, komunitas profesional, dan kemitraan produktif
EDIT: Karena pusat perangkat lunak yang unggul membutuhkan programmer yang terlatih dengan baik, Anda mungkin juga ingin melihat sumber daya berikut:
sumber
Kedengarannya bagi saya seperti dia hanya mengatakan dia ingin memiliki budaya kualitas daripada kuantitas, sekali lagi dia bisa saja berbicara tentang @ss-nya. Sebagai programmer saya pikir kita cenderung memikirkan apa yang orang katakan. Setidaknya saya tahu saya tahu. Sejauh bagaimana dia berkata, itu hanya bicara perusahaan tapi jangan terlalu memikirkannya. Seperti yang orang lain katakan, tanyakan padanya.
sumber