Kalau bicara soal trend, tidak bisa di ramalkan. Peramalan trend dipenuhi dengan kesukaran. Dengan mengabaikan sikap hati - hati, sejak lima kepemimpinan di negeri ini. Dalam pengembangan software menawarkan apa yang mereka harapkan belum menjadi trend perkembangan Software Development di Negara ini. Banyak alasan, mulai dari regulasi yang mengekang produk production house (khususnya para programmer), ketidak tegasan pemerintah dalam memotivasi para komunitas IT dan pembangunan infrastruktur yang belum siap.
Dua tema memotong ke seberang bidang-bidang yang memanfaatkan sumber luar akan terus memberikan efek ke lebih banyak lagi orang, dan tester, manajer proyek dan analisa bisnis akan perlu mempelajari bagaimana cara menghadapi tantangan dari penyalur (distribusi). Juga, perkembangan yang cepat akan bertambah populer, sementara percobaan dan kebutuhan rancang bangun akan perlu menemukan tempat mereka di lingkungan tersebut.
Read/WriteWeb membuat sebuah artikel menarik yang berjudul “The Future of Software Development“. Pada artikel tersebut dibahas bagaimana pengembangan perangkat lunak di masa depan dengan sedikit meninjau kembali metode software development yakni waterfall dan agile. Rasanya seperti kuliah RPL lagi. Kesimpulan yang diambil pada tulisan tersebut adalah pengembangan perangkat lunak di masa depan akan menggunakan bahasa pemrograman high level, dukungan library, dan metode agile.
Untungnya, berbeda dengan kuliah Rekayasa Perangkat Lunak (Software Engineering) yang dosennya Pak Romi Satrio Wahono, kali ini saya nggak ngantuk.
Sepertinya, apa yang ada di tulisan tersebut mulai saya rasakan di lingkungan sekitar.
Mengenai pemilihan bahasa pemrograman high level, menurut saya banyak benarnya. Mengambil contoh diri sendiri, saat ini saya lebih tertarik ‘bergaul’ dengan Java (mata kuliah Object Oriented Programming, kebetulan yang ngajar Pak Romi juga). Sepanjang mata memandang, teman-teman saya sepertinya juga begitu. Pemrograman high level itu rasanya seperti memakai fasilitas mewah.
Kalau ditarik lebih luas lagi, saya melihat ada kecenderungan kurangnya peminat untuk mempelajari hal-hal yang low level pada saya kuliah S1. Kuliah Pemrograman Sistem, Jaringan Komputer, Sistem Operasi, Organisasi dan Arsitektur Komputer jadi momok. Saya nggak tahu apakah ada ‘faktor lain’. Tapi yang jelas, salah seorang dosen di kampus saya pernah mengeluhkan hal itu di kelas. Apa hal ini disebabkan oleh perkembangan zaman atau karena mahasiswa sekarang malas-malas? Mungkin ini menjadi sesuatu yang harus disayangkan. Tapi apa perlu? Saya suka bertanya-tanya sendiri. Emang perlu ya mendalami semua itu? Kalau berpikir secara ideal sih, pasti perlu. Setiap ilmu pasti ada manfaatnya.
Kembali ke topik awal, bagaimana dengan library yang udah banyak tersedia? Menurut saya itu bener banget. Mengambil contoh diri sendiri lagi, kemarin saya baru aja minta kode sebuah aplikasi bikinan temen saya, buat suatu bagian di program buat tugas akhir. Saya berpikir, daripada bikin sendiri, mending pakai yang udah ada. Contoh lain, saat tulisan ini dibuat, teman saya yang lain, juga menemukan framework yang bakal ngurangin sebagian besar kerjaannya. Hal-hal seperti ini sering terjadi. Sepertinya segalanya udah ada diciptakan, tinggal bagaimana kita membuat kolaborasinya dan nambah-nambahin sedikit.
Terakhir, terkait agile, saya gak terlalu banyak komentar. Agile erat kaitannya dengan iterasi. Saya belum pernah merasakan iterasi yang bener-bener iterasi, tapi mengenai requirement yang terus berubah saya beneran pernah ngerasain. Dari situ saya kenal refactoring. Senang rasanya melihat fitur itu kepasang di sejumlah tools.
Metode pengembangan perangkat lunak Agile ini mungkin cocok diterapkan di Indonesia karena kegesitannya, iteratif dan mampu beradaptasi dengan perubahan yang sering terjadi pada proyek perangkat lunak. Bukankan karakteristik perangkat lunak di Indonesia cenderung berubah, mulai dari proyeknya sampai kebutuhan user? (Proyek perangkat lunak memang menyebalkan, karena user atau customer dapat melakukan perubahan requirement sesukanya, apalagi di Indonesia. huh!). Pendekatan Agile ini juga kolaboratif dengan user atau customer, tapi bukankan ini yang menjadi momok para engineer perangkat lunak atau programmer?
Melihat tulisan tersebut, saya jadi berpikir bahwa open source bakal sangat penting. Penggunaan bahasa high level jadi lebih penting daripada low level, untuk kepraktisan. Tapi jangan sampai kehilangan konsep dasar yang penting. Selain itu, kemampuan kita untuk mempelajari teknologi baru juga jadi penting banget. Kita harus bisa cepat belajar.sumber : http://johari.e-nixsoft.com
Tidak ada komentar:
Posting Komentar