Anda di halaman 1dari 10

1.

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

3. Mengamati Tren-tren rekayasa perangkat lunak

Barry boem [Boe08] menunjukkan bahwa rekayasawan perangkat lunak


[akan] menghadapi tantangan yang seringkali hebat berkenaan dengan perubahan
yang sangat cepat, ketidakpastian dan kemunculan secara tiba-tiba, kemampuan
untuk bergantung, keanekaragaman, dan saling ketergantungan, namun mereka
juga memiliki kesempatan untuk membuat kontribusi signifikan yang akan
membuat perbedaan yang lebih baik. Namun, apa saja tren yang akan
memungkinkan anda untuk menghadapi tantangan di tahun-tahun mendatang?
Tren lunak (soft trends) memiliki dampak signifikan pada kesuluruhan
arah rekayasa perangkat lunak. Namun, tren lain (yang lebih keras) yang
berorientasi pada penelitian dan teknologi masih tetap penting. Tren penelitian
didorong oleh persepsi umum saat ini dan praktiknya, dengan persepsi peneliti
pada kebutuhan praktisi, dengan program pendanaan nasional yang membawa ke
tujuan strategis yang spesifik, dan oleh kepentingan yang sangat teknis[Mil00a].
Tren teknologi terjadi saat tren penelitian diekstrapolasikan untuk memenuhi
kebutuhan industri dan dibentuk oleh permintaan pasar.
Pada gambar sebelumnya, telah dibahas model kurva S untuk evolusi
teknologi. Kurva-S tersebut tepat untuk menggambarkan efek jangka panjang
teknologi inti ketika teknologi tersebut berevolusi. Namun, inovasi, perkakas dan
metode apakah yang lebih sederhana dan berjangka pendek?

Gartner Group

[Gar08] konsultan yang mempelajari tren teknologi di banyak industri, telah


mengembangkan siklus hype untuk teknologi-teknologi yang muncul, yang
direpresentasikan pada Gambar 2. Siklus Group merupakan lima fase berikut:

Pemicu teknologi, terobosan penelitian atau memulai sebuah inovasi

produk baru yang mengarah ke liputan media dan antusiasme publik.


Puncak ekspektasi inflasi, proyeksi dampak yang terlalu antusias dan
terlalu optimis melebihi batas, namun keberhasilan dipublikasikan

dengan baik.
Kekecewaan, proyeksi dampak yang terlalu optimis tidak terpenuhi
dan kritikus mulai menabuh genderang; teknologi menjadi tidak baru
dimata para pakar.

Lereng pencerahan, pertumbuhan berbagai perusahaan membawa ke


pemahaman yang lebih baik mengenai potensi teknologi yang
sesungguhnya; metode dan perkakas off-the-shelf muncul untuk

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

Gambar 2. Siklus hype Gather Group untuk teknologi-teknologi yang muncul

4. Mengidentifikasi Tren Lunak


Setiap bangsa dengan industri substansial TI memiliki seperangkat
karakteristik unik yang mendifinisikan bagaimana bisnis dilakukan, organisasi
dinamis yang muncul dalam perusahaan, isu pemasaran yang berbeda yang
berlaku bagi pelanggan lokal, dan budaya utama yang menentukan semua
interaksi manusia. Namun, beberapa tren disetiap bidang ini bersifat universal dan

banyak behubungan dengan sosiologi, antropologi, dan psikologi kelompok, juga


dengan peneitian akademis atau industri.
Konektivitas dan kolaborasi (diaktifkan dengan komunikasi bandwidth
tinggi) telah siap mengarah ke tim perangkat lunak yang tidak menempaati ruang
fisik yang sama (bekerja di rumah menggunakan komputer dan kerja paruh waktu
dalam konteks lokal). Satu tim bekerja sama dengan tim lain yang dipisakan oleh
zona waktu, bahasa utama dan budaya. Rekayasa perangkat lunak harus merespon
dengan model proses yang menyeluruh untuk tim terdistribusi yang cukup esit
untuk

memenuhi

tuntutan

kedekatan,

namun

cukup

disiplin

untuk

mengkoordinasikan kelompok-kelompok yang berbeda-beda.


Globalisasi menyebabkan tenaga kerja yang beragam. Hal ini, pada
gilirannya menuntut struktur organisasi yang fleksibel. Tim yang berbeda harus
merespon

masalah-masalah

rekayasa

dengan

cara

yang

terbaik,

yang

mengakomodasi kebutuhan unik mereka. Jenis organisasi seperti ini menunjukkan


lebih sedikit tingkat manajemen dan memberi tekanan lebih besar pada
pengambilan keputusan di tingkat tim. Hal ini dapat mempercepat, namun hanya
jika mekanisme komunikasi telah dibangun sehingga setiap tim bisa memahami
status proyek dan teknis (melalui jaringan groupware) setiap saat.
Di beberapa wilayah dunia (contohnya: Amerika Serikat dan Eropa),
populasinya menua. Demografis tak terbantahkan ini menunjukkan bahwa banyak
rekayasawan

dan

manajer

perangkat

lunak

yang

berpengalaman

akan

meninggalkan bidang ini pada dekade mendatang. Komunitas rekayasa perangkat


lunak harus merespon dengan mekanisme yang layak, yang menyerap
pengetahuan dari manajer dan teknologi yang bertambah usianya, sehingga akan
tersedia peluang bagi generasi masa depan pekerja perangkat lunak. Di wilayah
lain di dunia, jumlah orang-orang muda yang tersedia bagi industri perangkat
lunak meledak. Kondisi ini memberi kesempatan terbentuknya sebuah budaya
rekayasa perangkat lunak tanpa beban berupa prasangka-prasangka aliran lama
yang telah berusia 50 tahun.

4.1 Perangkat Lunak Open World


Konsep-konsep seperti kecerdasan lingkungan, aplikasi sadar konteks dan
komputasi yang ada di mana-mana semuanya berfokus pada integrasi sistem
barbasis perangkat lunak ke lingkungan yang jauh lebih luas dari pada PC,
perangkat komputasi mobile, atau perangjat digital lainnya. Visi visi yang terpisah
dari komputasi berjanga pendek itu secara kolektif perang lunak open-world
perangkat

lunak

yang

dirancang

untuk

beradaptasi

dengan

perubahan

lingkunganyang terus menerus dengan mengorganisasi sturkturnya sendiri dan


menyesuaikan perilakunya [Bar06].
Untuk membantu mengilustrasikan tantangan yang akan kita hadapi oleh
rekayasawan perangkat lunak di masa depan. Ducatel [Duc01] medifiniskan amI
dengan cara berikut: Orang-orang dikelilingi oleh antarmuka-antarmuka yang
cerdas dan intuitif yang terdapat di dalam semua jenis objek. amI mampu
mengenali dan menanggapi kehadiran individu yang berbeda (sementara bekerja)
dengan cara yang halus dan tidak menonjol.
4.2 Kebutuhan-kebutuhan Tak Terduga
Pada awal proyek perangkat lunak, sebuah kebenaran yang tak dapat
disangkal, yang berlaku sama untuk setiap stakeholder yang terlibat, adalah:
Anda tidak mengetahui apa yang anda tidak ketahui. Hal itu berarti konsumen
jarang mendefinisikan kebutuhan yang stabil. Hal ini juga berarti rekayasawan
perangkat lunak tidak selalu bisa meramalkan hal-hal yang penuh ambiguitas dan
inkonsistensi. Kebutuhan berubah, namun tidak ada hal yang baru.
Ketika sistem menjadi lebih kompleks, hal itu bahkan diikuti dengan
upaya-upaya yang belum sempurna untuk menyakatakan bahwa kebutuhan yang
komprehensif akan berakhir dengan kegagalan. Pernyataan tujuan secara
keseluruhan dapat dibuat, deliasi tujuan menengah dapat dicapai, namun tidak ada

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

mereka untuk mengkomunikasikan kebutuhan mereka dan berinovasi untuk


membuat kebutuhan tersebut menjadi kenyataan. Seiap kali orang-orang terlibat,
perubahan terjadi secara perlahan dari awal. Hal ini hanya berlangsung bila
sebuah tipping point [Gla02] tercapai, bahwa teknologi jatuh ke dalam
komunitas rekayasa perangkat lunak dan perubahan luas benar-benar terjadi.
5.1 Tren-tren Proses
Tujuan seorang perantara perangkat lunak adalah memilih kontraktor
terbaik secara objektif dan rasional. Tujuan perusahaan perangkat lunak adalah
bertahan dan berkembang dalam pasar yang kompetitif. Tujuan pengguna akhir
adalah mendapatkan produk perangkat lunak yang dapat memecahkan masalah
dengan tepat, pada saat yang tepat, dengan harga yang dapat diterima.
5.2 Tantangan Besar
Rekayasa sistem yang besar dan komplek ini, terlepas dari platform atau
aplikasi ranah, menimbulkan tantangan besar [Bro06] bagi rekayasawan
perangkat

lunak

dapat

menghadapi

tantangan

yang

menakutkan

dari

pengembangan sistem perangkat lunak yang kompleks dengan cara menciptakan


pendekatan baru untuk memahami model-model sistem dan menggunakan modelmodel tersebut sebagai dasar untuk pembuatan generasi selanjutnya dari
perangkat lunak yang berkualitasi tinggi.
Ketika komunitas rekayas perangkat lunak mengembangkan pendekatan
model-driven

baru

untuk

mempresentasikan

kebutuhan-kebutuhan

dan

perancangan sistem, karakteristik berikut [Bro06] harus di ikutkan:

Multifungsi- Ketika perangkat digital berkembang menjadi generasi kedua


dan ketiga, perangkat-perangkat tersebut mulai memberikan aneka fungsi
yang terkadang tidak terkait. Telepon seluler, yang pernah dijadikan
sebagai alat komunikasi, sekarang digunakan untuk mengambil foto,
menyimpan kalender, untuk navigasi perjalanan, dan sebagai alat untuk

memainkan musik. Jika antarmuka open-world terjadi, ponsel seperti ini

akan lebih banyak digunakan pada tahun-tahun mendatang.


Reaktivitas dan ketepatan waktu- Perangkat digital semakin berinteraksi
dengan dunia nyata dan harus breaksi terhadap rangsangan eksternal
secara tepat waktu. Mereka harus berhadapan dengan beragam sensor dan
harus merespons dalam kerangka waktu yang sesuai dengan tugas yang
diberikan. Metode-metode baru yang harus dikembangkan yaitu (1)
membantu rekayasawan perangkat lunak meramallkan waktu berbagai
fitur reaktif dan (2) menerapkan fitur-fitur tersebut dengan cara yang

membuat fitur tidak bergantung pada mesin dan lebih portabel.


Mode interaksi pengguna yang baru- Keyboard dan mouse bekerja dengan
baik dalam lingkungan PC, namun tren dunia terbuka untuk perangkat
lunak

berarrti

mode

interaksi

baru

harus

dimodelkan

dan

diimplementasikan. Apakah pendekatan baru ini menggunakan antarmuka


pikiran

langsung,

generasi

baru

daari

perangkat

lunak

untuk

perangkatdigital harus memodelkan antarmuka manusia-komputer baru

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

signifikan bagi para perancang perangkat lunak.


Sistem terdistribusi, heterogen- Komponen waktu nyata (real-time) dari
setiap sistem bawaan yang modern dapat dihubungkan melalui bus
internal, jaringan nirkabel atau dengan internet (atau ketiganya).

10

Anda mungkin juga menyukai