Resource tidak bisa mengembangkan software

If you view software developer from an illogical perspectives, do not complain about their illogical behavior.

Kira-kira sudah setahun lebih sejak saya menuliskan kenapa software developer bukanlah resource. Dalam model manajemen top-down, software developer dipandang sebagai resource. Pemahaman kalau software developer adalah resource berangkat dari sudut pandang kalau software developer adalah komoditas yang tergantikan (replaceable atau fungible) dan dapat diutilisasi bagaikan mesin. Pengelompokan software developer dalam kategori resource sangat popular dalam dunia manejemen proyek. Dalam manajemen proyek konstruksi, semen dan mesin pengaduk semen adalah resource. Dalam dunia manufaktur, mesin, mur dan baut adalah resource. Dalam manajemen proyek software developer dianggap sama dengan resource lainnya seperti mesin, gedung, mur & baut. Namun dalam software development, software developer tidak masuk ke dalam kategori resource sesuai definisi kamus.

resource (n)

something that a country has and can use to increase its wealth

a supply of something (such as money) that someone has and can use when it is needed

a place or thing that provides something useful

a source of supply or support : an available means — usually used in plural

a natural source of wealth or revenue — often used in plural

Dalam setiap pembicaraan setiap kali ada yang memanggil software developer sebagai resource, kuping saya selalu tergelitik membuat saya tidak ragu untuk memotong pembicaraan dan mengkoreksi maksud mereka dengan mengatakan: “they’re people” — terlepas apapun jabatan mereka di perusahaan. Hingga hari ini saya perhatikan sudah mulai banyak praktisi software development yang menyebut software developer sebagai people atau human being daripada human resource — hal ini adalah sebuah kemajuan kecil. Namun pekerjaan rumah kita masih banyak karena merubah sudut pandang manajemen tradisional terhadap software developer di komunitas manajemen proyek masih sebuah tantangan besar terutama terhadap manajer proyek yang dogmatis yang memandang software developer adalah resource sebagaimana minyak bumi adalah natural resources.

Untuk manajer proyek yang hingga hari ini masih menyebut software developer sebagai resource, saya ingin mengatakan kepada anda semua: software developer bukan resource karena resource tidak dapat mengembangkan software.

1. Resource dapat tergantikan
Software developer tidak. Software developer bukanlah spare part. Software developer bukanlah komoditas. Setiap software developer unik. Setiap software developer memiliki kepribadian yang berbeda-beda. Cara mereka menulis kode unik. Text editor yang mereka gunakan berbeda-beda. Cara mereka membuat struktur direktori di komputer mereka unik. Software development adalah pekerjaan yang bersifat dinamis. Dalam software development, teknologi baru selalu bermunculan setiap saatnya. Software developer perlu learning curve untuk mempelajari sesuatu yang baru. Kemampuan setiap software developer berbeda-beda. Software developer bukanlah bagaikan mesin yang statis yang mengerjakan hal yang sama dari waktu ke waktu.

2. Resource dapat diutilisasi
Software developer tidak. Software developer bukanlah mesin yang diutilisasi hingga 100%. Mesin adalah sebuah investasi yang mengalami depresiasi nilai oleh karena itu kita ingin mengutilisasinya semaksimal mungkin sebelum mesin tersebut rusak atau tidak berfungsi sama sekali. Performa software developer dari hari ke hari tidaklah konstan seperti mesin. Software developer memiliki perasaan dan software developer menggunakan otaknya dalam bekerja. Berbeda dengan mesin, ketika perasaannya tidak bahagia dan otaknya tidak dapat berpikir jernih maka mereka tidak dapat menghasilkan software yang berkualitas. Untuk pekerja kreatif seperti software developer bahkan kita perlu memberikan mereka slack time untuk memikirkan ide kreatif untuk inovasi produk dan untuk meningkatkan performa mereka.

3. Resource bertujuan untuk dihabiskan
Resource berjumlah terbatas dan dihabiskan untuk memperkaya orang-orang tertentu. Software developer bukan seperti sumber daya alam (natural resources) yang segala isinya disedot atau dihabiskan untuk memperkaya orang-orang tertentu. Software developer diperkerjakan bukan untuk dihabiskan atau disiksa seperti budak. Software developer memiliki knowledge yang selalu bertambah dari waktu ke waktu. Masa depan bersifat tidak terbatas, knowledge bersifat tidak terbatas dan sifat knowledge yang ada pada software developer bukan untuk dihabiskan namun untuk selalu ditambahkan. Untuk menambah knowledge software developer maka kita harus terus-menerus berinvestasi terhadap mereka dari waktu ke waktu. Resource tidak perlu senantiasa belajar. Software developer harus terus menerus belajar untuk menambahkan nilai kepada perusahaan.

4. Resource dapat dialokasikan
Bidak catur adalah resource yang dapat dipindah-pindahkan dari satu kotak ke kotak lainnya. Resource juga dapat dipindah-pindahkan untuk mengerjakan pekerjaan lain. Software developer tidak. Sebagai mahluk sosial yang memiliki perasaan, software developer ingin memiliki belonging dan connectedness di dalam lingkungan di mana ia berada. Mengalokasikan software developer ke pekerjaan tertentu bisa saja menyebabkan software developer yang bersangkutan under-perform. Hal ini bukan karena mereka bodoh, tapi karena mereka manusia. Adanya rasa belonging dan connectedness ini membuat software developer memiliki sense of ownership terhadap software yang mereka kembangkan. Sense of ownership terhadap produk membuat kualitas produk yang mereka kembangkan berkualitas tinggi.

5. Resource tidak berinteraksi
Software development adalah pekerjaan yang membutuhkan banyak komunikasi. Software development adalah pekerjaan kompleks dimana integrasi antar komponen harus dipastikan agar software dapat berfungsi. Proses integrasi ini membutuhkan komunikasi. Resource tidak berinteraksi satu sama lain. Sebagai mahluk sosial, software developer perlu berinteraksi dan membina hubungan yang baik dengan software developer lainnya dan dengan kostumer atau pengguna softwarenya. Software developer tidak bekerja dalam silo atau kotak tertutup. Software developer tidak bisa ignorant karena hal tersebut dapat menyebabkan software tidak terintegrasi dengan baik.

6. Resource tidak memiliki purpose dalam hidup
Software developer memiliki purpose hidup. Ketika saya berada di sebuah taman saya memperhatikan betapa bahagianya burung-burung yang bisa terbang bebas dari satu tempat ke tempat lainnya. Namun saya sadar kalau burung tidak memiliki purpose dalam hidupnya. Demikian halnya dengan resource sebagai benda mati juga tidak memiliki purpose dalam hidup. Sungguh malang nasib burung dan resource yang tidak memiliki purpose. Manusia diciptakan untuk sebuah purpose. Purpose lah yang membuat manusia sebagai mahluk yang berakal budi berkembang dan membuat dunia di mana ia tinggal menjadi tempat yang lebih baik. Software developer adalah mahluk hidup yang memiliki tujuan dalam hidup.

7. Resource tidak beraktualisasi-diri
Resource tidak bernapas, resource tidak berpikir, resource tidak memiliki kepribadian dan resource tidak beraktualisasi diri. Software developer hidup untuk mencapai kebutuhan tertinggi manusia yakni beraktualisasi diri. Software developer memiliki masa depan untuk mencapai destiny-nya, sedangkan resource tidak memiliki masa depan sama sekali. Software developer adalah seorang inovator. Software developer beraktualisasi diri untuk menjadi seorang rockstar developer yang berinovasi menjadikan dunia yang kita tumpangi menjadi lebih baik. Agar software developer dapat beraktualisasi diri kita perlu memberikan lingkungan dimana mereka dapat menjadi versi yang terbaik dari dirinya. Kita perlu nurture dan coaching mereka agar potensi mereka dapat berkembang.

If you change the way you look at things, the things you look at change.
— Wayne Dyer

Menurut saya cara pandang kita sangat mempengaruhi cara kita memperlakukan seseorang dan cara kita memperlakukan seseorang membentuk kata-kata yang kita gunakan sehari-hari terhadap software developer. Ketika kita memandang software developer sebagai human being yang berakal-budi dan berperasaan maka kita akan mengerti kebutuhan mereka dan kita akan memiliki compassion terhadap mereka. Ketika kita memahami kebutuhan mereka, mereka akan memberikan apa yang kita butuhkan. Cara pandang kalau software developer adalah resource membuat manajer proyek beranggapan kalau software development bukanlah pekerjaan yang membutuhkan komunikasi dan hubungan interaksi manusia. Cara pandang kalau software developer adalah resource membuat manajer proyek berpikir kalau cukup mereka saja yang mengendalikan proyek.

Untuk software developer yang masih disebut sebagai human resource hingga hari ini, mari kita mulai mengingatkan orang-orang di kantor kita kalau kita sebagai software developer adalah human being yang memiliki akal budi dan perasaan. Mulai hari ini katakan kepada orang-orang yang memanggil kalian sebagai resource: “I am not a human resource, I am a human being, I am a person” secara konsisten. Saya yakin dari hal kecil seperti ini kita dapat membuat perubahan di industri software development di Indonesia. Mungkin suatu saat departemen Human Resource di perusahaan-perusahaan di Indonesia dapat menjadi People Department.

Penulis Joshua Partogi dari medium.com