Sepuluh tahun yang lalu, Steve McConnell [McC99] membuat sebuah komentar dalam sebuah editorial yang diterbitkan di IEEE Software:
Banyak praktisi perangkat lunak memandang pengetahuan rekayasa perangkat lunak sebagai pengetahuan yang terkait secara eksklusif dengan teknologi tertentu, seperti Java, Perl, html, C++, Linux, Windows NT, dan lain-lain. Namun, pengetahuan tentang detail teknologi tersebut memang diperlukan untuk melakukan pemrograman komputer. Sebagai contoh, jika Anda diberi tugas untuk menulis program dalam bahasa pemrograman C++, maka Anda harus memiliki pengetahuan tentang C++ agar program yang Anda tulis dapat berfungsi dengan baik.
Orang sering menyebutkan bahwa pengetahuan pengembangan perangkat lunak memiliki waktu paruh 3 tahun, yang berarti setengah dari pengetahuan yang dibutuhkan hari ini akan menjadi usang dalam waktu 3 tahun ke depan. Meskipun pernyataan ini mungkin benar dalam domain pengetahuan terkait teknologi, namun ada jenis pengetahuan pengembangan perangkat lunak lain yang tidak terpengaruh oleh waktu, yakni prinsip-prinsip rekayasa perangkat lunak. Prinsip-prinsip ini dianggap melayani para programmer profesional sepanjang karir mereka dan tidak mudah menjadi usang dalam waktu tiga tahun.
Selanjutnya, McConnell menyatakan bahwa pada sekitar tahun 2000, tubuh pengetahuan rekayasa perangkat lunak telah mencapai "stable core" yang diduga mewakili sekitar "75 persen dari pengetahuan yang diperlukan untuk mengembangkan sistem yang kompleks". Namun, pertanyaannya adalah apa yang sebenarnya terkandung dalam stable core ini?
McConnell telah menunjukkan bahwa prinsip-prinsip inti, yaitu ide dasar yang menjadi panduan bagi para insinyur perangkat lunak dalam pekerjaan mereka, kini menyediakan dasar untuk menerapkan serta mengevaluasi model, metode, dan alat rekayasa perangkat lunak.
Comments
Post a Comment