Salah satu masalah besar dalam industri IT adalah spesialisasi skill yang kebablasan. Dalam suatu organisasi, bisa jadi terdapat departemen-departemen yang beranggotakan spesialis basis data, spesialis analisis bisnis, spesialis manajemen projek, spesialis Java/pemrograman, dsb. Pendekatan seperti ini didasarkan pada paradigma bernama Taylorism (Frederick Taylor). Idenya adalah memecah-mecah proses pabrikasi menjadi tahap-tahap yang terpisah, karena hal ini dianggap lebih baik daripada menyerahkan kepada individu yang memiliki banyak kemampuan sekaligus. Taylorism terbukti sukses pada proses manufaktur, tapi tidak demikian untuk pengembangan perangkat lunak.
Masalah yang terjadi dalam pengembangan perangkat lunak, seringkali para spesialis kesulitan dalam bekerjasama dengan spesialis lainnya atau bahkan dengan spesialis yang sebidang. Mengapa demikian? Karena spesialis tersebut tidak memiliki latar belakang pengetahuan yang memadai untuk dapat mengerti masalah yang sedang dihadapi oleh spesialis lainnya, mereka cenderung terlalu fokus dengan bidang yang digelutinya namun celakanya dia mengabaikan hal-hal mendasar lain yang juga penting. Alhasil, hal tersebut menjadi hambatan mereka dalam berkolaborasi.
Apa solusinya? Generalizing specialist (GS). GS adalah seseorang yang memiliki pengetahuan tentang bagaimana suatu sistem secara keseluruhan dapat bekerja. Dia memiliki pengetahuan tentang apa yang sedang dikerjakan oleh rekan kerjanya. Dengan pengetahuan itu, dia akan memberikan apresiasi lebih terhadap pekerjaan rekannya tersebut. Sehingga terbentuk tim dengan kinerja yang baik.
Adalah hal yang hampir mustahil untuk tahu banyak hal dan menguasai semuanya, sedangkan sangat mungkin bila seseorang mengetahui banyak hal dan menguasai secara mendalam beberapa diantaranya.
GS bukan sekedar generalis. Generalis adalah orang yang tahu segala hal tapi tidak satupun yang dia dalami, cuma kulit luarnya saja. Sedangkan GS adalah orang yang tahu banyak hal namun tetap memiliki keahlian khusus yang mendalam pada beberapa hal.
Dalam dunia rekayasa perangkat lunak dengan metodologi agile, semakin sedikit spesialis yang dapat bertahan, mau tidak mau mereka harus melebarkan ilmu mereka.
Kesimpulannya, kita kitak bisa serta merta menyamakan antara industri manufaktur dengan industri IT (pengembangan perangkat lunak), sehingga sistem yang berjalan baik pada industri manufaktur, seperti Taylorism, tidak dapat diadopsi begitu saja ke dalam industri IT. Hal lain yang masih menarik perhatian saya saat ini adalah bagaimana kita mengimplementasikan Lean Software Development, karena Lean berangkat dari industri manufaktur, yaitu pabrik mobil Toyota, namun kini IBM sepertinya telah sukses menerapkan Lean.
Untuk lebih jelas tentang GS, Anda dapat membaca buku “The Object Primer: Agile Model-Driven Development with UML 2.0 Third Edition” yang ditulis oleh Scott W. Ambler.