PENDAHULUAN
Sepanjang sejarah rekayasa perangkat lunak yang relatif singkat, para
praktisi dan peniliti telah mengembangkan berbagai model proses, metode, teknis,
dan alat-alat otomatis dalam upaya untuk mendorong perubahan mendasar dalam
cara kita mengembangkan perangkat lunak komputer. Meskipun pengalaman
sebelumnya menunjukan hal sebaliknya, ada suatu keinginan tersembunyi untuk
menemukan peluru perak proses ajaib atau teknologi transeden yang akan
memungkinkan kita membangun perangkat lunak yang besar, kompleks,
perangkat lunak berbasis sitem yang mudah, tanpa kebingungan, tanpa kesalahan,
tanpa penundaan dan tanpa banyak masalah yang terus menggangu kerja
perangkat lunak.
Namun, sejarah menunjukkan bahwa penyelidikan kita mengenai peluru
perak memunculkan malpetaka kegagalan. Teknologi baru diperkenalkan secara
teratur, dipublikasikan sebagai solusi untuk masalah perangkat lunak yang
dihadapi para rekayasawan, dan digabungkan ke dalam proyek-proyek besar
maupun kecil.para pakar industri menekankan pentingnya teknologi perangkat
lunak baru ini, pakar komunitas perankat lunak mengadopsinya dengan
antusiame, dan akhirnya, teknologi-teknologi itu berperan dalam dunia rekayasa
perangkat lunak. Akan tetapi, teknologi-teknologi tersebut cenderung tidak
memenuhi janji, dan sebagai konsekuensinya, penyelidikan terus berlanjut.
Mili dan Cowan [Mil00b] memberikan komentar pada tantangan yang kita
hadapi saat mencoba menyoroti tren-tren teknologi :
Apa faktor-faktor penentu keberhasilan sebuah tren? Apa ciri tren
teknologi yang sukses: manfaat teknis mereka? Kemampuan mereka untuk
membuka pasar baru? Kemampuan mereka untuk mengubah ekonomi pasar yang
ada?
Siklus hidup seperti apakah yang mengikuti tren? Mengingat
pandangan tradisional bahwa tren berevolusi sepanjang siklus hidup didefinisikan
dengan baik dan dapat diprediksi dimulai dari ide penelitian sampai ke produk
jadi melalui suatu proses transfer, kita dapati bahwa tren-tren saat ini memiliki
entahkah kontak singkat dengan siklus tersebut atau diikuti oleh siklus lainnya.
Seberapa dinikah kesuksesan sebuah tren dapat dikenali? Jika kita
tahu cara untuk mengenali faktor keberhasilan dan/atau kita memahami siklus
hidup sebuah tren , maka kita berusaha untuk mengindentifikasi tanda-tanda awal
keberhasilan sebuah tren. Secara retoris, kita mencari kemampuan untuk
mengenali tren berikutnya lebih dahulu dibandingkan orang lain.
Aspek-aspek evolusi yang manakah yang dapat dikontrol? Dapatkah
perusahaan menggunakan kekuatan pasar mereka untuk memaksakan tren?
Dapatkah pemerintah menggunakan sumber daya nya untuk memaksakan tren?
Peranan apakah yang berperan standar dalam mendefinisikan tren? Analisis secara
cermat terhadap ada vs java, misalnya, merupakan pencerahan dalam hal ini.
Tidak ada jawaban yang mudah untuk pertanyaan-pertanyaan tersebut dan
tidak ada perdebatan bahwa upaya masa lalu dalam mengindefikasi teknologi
yang berarti adalah cukup baik. Kesimpulannya, teknologi datang dan pergi, tren
nyata yang harus dicari adalah tren yang lebih halus. Maksudnya, kemajuan dalam
rekayasa perangkat lunak akan dipandu oleh tren bisnis, organisasi, pasar, dan
budaya. Tren tersebut mengarah kepada inovasi teknologi.
2. Evolusi Teknologi
Evolusi teknologi serupa dengan evolusi biologis, namun terjadi jauh lebih
cepat. Evolusi (baik biologis atau teknologi) terjadi sebagai akibat umpan balik
positif metode-metode yang lebih baik dihasilkan dari satu tahap kemajuan
evolusi yang dilakukan untuk membuat tahap evolusi selanjutnya[Kur06].
Pertanyaan besar untuk abad ke-21 adalah : (1) Seberapa cepatkah
teknologi berevolusi? (2) Seberapa signifikankah pengaruh dari umpan balik
positif? (3) Seberapa dalamkah perubahan yang dihasilkan?
Perlu dicatat bahwa banyak penelitian dan tren teknologi tidak pernah
mencapai kematangan. Bahkan, sebagian besar teknologi yang menjajikan
dalam ranah rekayasa perangkat lunak menarik banyak perhatian selama beberapa
tahun dan kemudian digunakan oleh sebuah kelompok pengikut. Tidak untuk
mengatakan bahwa teknologi ini tidak pantas, melainkan untuk menekankan
bahwa perjalanan melalui siklus hidup inovasi adalah perjalanan yang panjang
dan keras.
Kurzweil [Kur05] setuju bahwa teknologi komputasi berkembang melalui
kurva S yang menunjukkan pertumbuhan yang relatif lambat selama tahuntahun pembentukan teknologi itu, kecepatan yang cepat selama periode
pertumbuhannya, dan kemudian jangka waktu yang semakin cepat saat teknologi
mencapai batas-batasnya. Akan tetapi, komputasi dan teknologi terkait lainnya
telah menunjukkan ledakan (eksponensial) pertumbuhan selama tahap-tahap
sentral, yang ditunjukkan pada Gambar dibawah.
Terobosan
Replikator
Empirisme
Teori
Otomisasi
Kematangan
Gambar 1. Siklus hidup inovasi teknologi
Gartner Group
dengan baik.
Kekecewaan, proyeksi dampak yang terlalu optimis tidak terpenuhi
dan kritikus mulai menabuh genderang; teknologi menjadi tidak baru
dimata para pakar.
mendukung teknologi.
Plateau produktivitas, manfaat bagi dunia nyata sekarang jelas, dan
penggunaannya menembus pasar potensial dengan jumlah persentase
signifikan.
Tidak semua teknologi rekayasa perangkat lunak melalui siklus hype. Dalam
beberapa kasus, kekecewaan dibenarkan dan teknologi semakin mengabur.
Visibilitas
Pemicu
Puncak
teknologi
ekspetasi
kekecewaan
lereng
pencerahan
plateu
produktivitas
inflasi
memenuhi
tuntutan
kedekatan,
namun
cukup
disiplin
untuk
masalah-masalah
rekayasa
dengan
cara
yang
terbaik,
yang
dan
manajer
perangkat
lunak
yang
berpengalaman
akan
lunak
yang
dirancang
untuk
beradaptasi
dengan
perubahan
kesempatan bagi kebutuhan yang tidak stabil. Kebutuhan akan muncul saat setiap
orang yang terlibat dalam rekayasa dan pembangunan sistem yang kompleks
mempelajari hal itu secara lebh mendalam, mempelajari lingkungan tempatnya
menetap, dan mempelajari pengguna yang akan berinteraksi dengannya.
Secara alami, kebutuhan-kebutuhan yang baru membawa perubahan.
Bagaimana kita mengendalikan evolusi dari aplikasi atau sistem yang banyak
digunakan selama masa hidupnya, dan apa pengaruhnya pada cara kita merancang
perangkat lunak?
Ketika jumlah perubahan bertambah, kemungkinan terjadin efek samping
yang tidak disengaja juga bertambah. Hal ini patut menjadi perhatian saat sistem
kompleks dengan kebutuhan-kebutuhan baru menjadi hal yang biasa. Komunitas
rekayasawan perangkat lunak harus mengembangkan metode yang membantu tim
perangkat lunak memprediksi dampak perubahan pada seluruh sistem sehingga
mengurangi efek samping yang tidak disengaja. Saat ini, kemampuan kita untuk
mencapai hal tersebut masih sangat terbatas.
4.3 Open Source
Open Source adalah suatu metode pengembangan perangkat lunak yang
memanfaatkan kekuatan tinjauan dari banyak orang serta memanfaatkan
transparansi proses. Open source menjanjikan kualitas yang lebih baik, keandalan
yang lebih tinggi, lebih fleksibel, biaya rendah dan mengakhiri vendor ganas yang
memiting vendor lain. Istilah open source, bila diterapkan pada perangkat lunak
komputer, memiliki arti produk pekerjaan rekayasa seperangkat lunak (model,
kode program, rangkaian pengujian) adalah terbuka untuk umum dan dapat
ditinjau kembali dan diperluas (dengan kontrol) oleh siapa pun yang berminat dan
memiliki izin.
5. Arah Teknologi
Teknologi hype diperkenalkan, dan para pakar menyatakan bahwa segala
sesuatu akan berubah. Namun, rekayasa perangkat lunak jauh melebihi
teknologi. Rekayasa perangkat lunak adalah mengenai orang dan kemampuan
8
lunak
dapat
menghadapi
tantangan
yang
menakutkan
dari
baru
untuk
mempresentasikan
kebutuhan-kebutuhan
dan
berarrti
mode
interaksi
baru
harus
dimodelkan
dan
langsung,
generasi
baru
daari
perangkat
lunak
untuk
ini.
Arsitektur yang komplek- Mobil mewah yang memiliki 2000 fungsi yang
dikendalikan oleh perangkat lunak yang berada dalam suatu arsitektur
perangkat keras yang kompleks yang mencakup beberapa CPU, struktur
bus yang canggih, aktuator, sensor, antarmuka manusia yang semakin
canggih, dan banyak komponen keselamatan. Bakan sistem yang lebih
kompleks berada di cakrawala langsung, menyajikan tantangan yang
10