Produk akhir yang dihasilkan akan terdampak buruk jika prosesnya tidak memadai. Namun, terlalu menggantungkan diri pada proses juga dapat membahayakan. Margaret Davis dalam esai pendek yang ditulis bertahun-tahun yang lalu telah mengungkapkan pandangan tentang pentingnya keseimbangan antara produk dan proses. Pandangan tersebut tetap relevan hingga saat ini:
Dalam kurun waktu sekitar sepuluh tahun, dengan menambah atau mengurangi beberapa tahun, komunitas perangkat lunak mengalami perubahan "masalah" yang dihadapi dengan mengalihkan fokusnya dari masalah produk ke masalah proses. Sebagai contoh, kita telah mengadopsi bahasa pemrograman terstruktur sebagai solusi untuk masalah produk, kemudian diikuti oleh metode analisis terstruktur sebagai solusi untuk masalah proses. Enkapsulasi data juga dianggap sebagai solusi untuk masalah produk, sedangkan saat ini kita mengedepankan Model Kematangan Pengembangan Perangkat Lunak dari Institut Rekayasa Perangkat Lunak sebagai solusi untuk masalah proses. Selanjutnya, kita juga mengadopsi metode berorientasi objek, dan yang terbaru adalah pengembangan perangkat lunak yang tangkas.
Meskipun kecenderungan alami dari sebuah pendulum adalah berhenti di titik tengah antara dua ekstrem, komunitas perangkat lunak terus mengalami pergeseran fokus karena adanya gaya baru yang diterapkan setelah ayunan sebelumnya gagal. Namun, ayunan ini sendiri berbahaya karena dapat membingungkan praktisi perangkat lunak rata-rata dengan secara drastis mengubah makna melakukan pekerjaan, terutama dalam melakukan pekerjaan dengan baik. Selain itu, ayunan juga tidak akan dapat memecahkan "masalah" karena solusi tersebut pasti akan gagal jika produk dan proses diperlakukan secara terpisah, bukan sebagai kesatuan yang saling terkait.
Dalam komunitas ilmiah, prioritas diberikan pada gagasan tentang dualitas ketika ada kontradiksi dalam pengamatan yang tidak dapat dijelaskan dengan satu teori saja. Sifat ganda cahaya yang menunjukkan partikel dan gelombang secara bersamaan telah diterima sejak 1920-an. Dalam konteks pengembangan perangkat lunak, saya percaya bahwa dualitas mendasar terdapat antara produk dan proses. Kita harus mempertimbangkan keduanya secara bersamaan untuk memperoleh pemahaman yang lengkap tentang artefak perangkat lunak, termasuk konteksnya, kegunaannya, maknanya, dan nilainya. Memandangnya hanya sebagai proses atau hanya sebagai produk tidak akan memberikan pemahaman yang utuh.
Meskipun setiap aktivitas manusia dapat dikategorikan sebagai proses, tetapi rasa harga diri individu dipengaruhi oleh hasil atau produk dari aktivitas tersebut. Produk tersebut harus dapat digunakan atau diapresiasi oleh lebih dari satu orang, digunakan secara berulang, atau digunakan dalam beberapa konteks lain yang dapat meningkatkan nilai dari produk tersebut. Dalam arti lain, penggunaan kembali produk kita oleh diri sendiri atau orang lain memberikan kepuasan dan rasa bangga terhadap produk yang telah dibuat.
Untuk meningkatkan kepuasan praktisi perangkat lunak, penting untuk mengasimilasi tujuan penggunaan kembali ke dalam pengembangan perangkat lunak secara cepat. Namun, ini juga menekankan pada pentingnya menerima dualitas antara produk dan proses. Memandang artefak yang dapat digunakan kembali sebagai satu-satunya produk atau proses dapat menyebabkan kehilangan konteks dan penggunaannya. Setiap penggunaan menghasilkan produk yang dapat digunakan kembali dan kehilangan pandangan dari keduanya akan mengurangi kesempatan untuk meningkatkan kepuasan kerja.
Dalam menciptakan suatu karya, seseorang bisa memperoleh kepuasan yang sama atau bahkan lebih dari proses kreatif seperti yang diperoleh dari hasil akhir. Seorang seniman bisa menikmati proses mengayunkan kuas seperti halnya menikmati hasil lukisannya. Begitu juga seorang penulis bisa menikmati proses mencari metafora yang pas sama seperti saat menikmati hasil buku yang sudah selesai. Sebagai seorang profesional kreatif di bidang perangkat lunak, penting untuk memperoleh kepuasan dari proses sebanyak dari produk akhir. Dualitas produk dan proses merupakan faktor penting dalam menjaga agar orang-orang kreatif tetap terlibat dalam mengembangkan perangkat lunak yang terus berkembang.
Source: Pressman, Roger S. 2010. Software engineering : A Practitioner’s Approach (7th. Edition). New York: McGraw-Hill Higher Education.
Comments
Post a Comment