Daftar Isi
Halaman
Judul
........................................................................................................ i
Daftar Isi
................................................................................................................. ii
BAB I
Pendahuluan
................................................................................................ 1
1. Latar
Belakang
................................................................................................... 1
2. Rumusan
Masalah
.............................................................................................. 2
3. Tujuan
................................................................................................................. 2
4. Manfaat
............................................................................................................... 2
BAB 2
Pembahasan
................................................................................................ 3
1.
Definisi Rekayasa Perangkat Lunak ................................................................... 3
2.
Faktor-Faktor Rekayasa Perangkat Lunak ......................................................... 5
3. Aspek
Rekayasa Perangkat Lunak
..................................................................... 10
BAB 3
Penutup ...................................................................................................... 18
Kesimpulan
............................................................................................................. 18
Daftar
Pustaka
BAB 1
PENDAHULUAN
1. Latar
Belakang
Rekayasa
perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE)
adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat
lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan
perangkat lunak dan manajemen kualitas.
IEEE
Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan
suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas
pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas
pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas
perangkat lunak
Rekayasa
atau teknik adalah penerapan ilmu dan teknologi untuk menyelesaikan
permasalahan manusia. Hal ini diselesaikan lewat pengetahuan, matematika, dan
pengalaman praktis yang diterapkan untuk mendesain objek atau proses yang
berguna. Para praktisi teknik professional
disebut perekayasa (sarjana teknik).
Menurut
sejarahnya, banyak para ahli yang meyakini kemampuan teknik manusia sudah
tertanam secara alami. Hal ini ditandai dengan kemampuan manusia purba untuk
membuat peralatan-peralatan dari batu. Dengan kata lain, teknik pada mulanya
didasari dengan metode coba dan ralat (trial and error) untuuk menciptakan alat
yang mempermudah kehidupan manusi. Seiring dengan berjalannya waktu, ilmu
pengetahuan mulai berkembang dan mulai mengubah cara pandang manusia terhadap
bagaimana alam kerja.
Perkembangan
ilmu pengetahuan inilah yang kemudian mengubah cara teknik bekerja hingga
seperti sekarang ini. Orang tidak lagi begitu mengandalkan metode coba dan
ralat dalam menciptakan atau mendesain peralatan, melainkan lebih mengutamakan
ilmu pengetahuan sebagai dasar dalam mendesain.
Istilah
software engineering, pertama kali digunakan pada akhir tahun 1950-an dan
sekitar awal 1960-an. Pada tahun 1968, NATO menyelenggarakan konferensi tentang
software engineering di Jerman dan kemudian dilanjutkan pada tahun 1969. Meski
penggunaan istilah software engineering dalam konferensi tersebut menimbulkan
perdebatan tajam tentang aspek engineering dari pengembangan perangkat lunak,
ada banyak pihak yang menganggap bahwa konferensi tersebutlah yang menjadi awal
tumbuhnya profesi rekayasa perangkat lunak.
2. Rumusan
Masalah
Rumusan masalah dari rekayasa perangkat lunak yaitu :
o Jelaskan
definisi Rekayasa perangkat lunak ?
o Kemukakan
faktor dan aspek dari Rekayasa Perangkat Lunak ?
3. Tujuan
Tujuan dari Rekayasa Perangkat Lunak
yaitu sebagai menyeduakan sebuah kerangka kerja guna membangun perangkat lunak
dengan kualitas yang lebih tinggi
4. Manfaat
Ø Mahasiswa
Untuk menpermudah mahasiswa dalam
mengerjakan tugas dan mempergunakan software aplikasi dalam pembelajarannya
sehari-hari dan mengetahui factor-faktor dari setiap pemakaian softwere.
Ø Dosen
Untuk memberikan materi kepada mahasiswa dan
memberikan tugas dengan menggunakan softwere aplikasi sesuai dengan mata kuliah
yang di bawakan.
Bab 2
PEMBAHASAN
1. Definisi
Rekayasa Perangkat Lunak
Definisi
Rekayasa Perangkat Lunak Menurut Fritz Bauer : “Penerapan dan pemanfaatan
prinsip-prinsip rekayasa untuk menghasilkan perngkat lunak yang ekonomis yang
handal dan bekerja secara efisisen pada mesin-mesin yang nyata” Karakteristik
Perangkat Lunak Dikembangkan atau direkayasa, tidak dibuat dalam pengertian
pada umumnya. Tidak ‘lapuk’ atau mengalami penyusutan secara fisis.
Pada
umumnya dibuat secara khusus, tidak disusun dari komponen-komponen yang telah
ada. Problem Perangkat Lunak Perangkat lunak tidak berfungsi secara baik (kualitas
yang kurang).Ketidaktepatan penjadwalan proses dan biaya produksi.
Produktivitas yang belum dapat memenuhi tuntutan kebutuhan pemakai.
Pemeliharaan yang sukar. Perkembangan teknologi perangkat keras di luar
kemampuan programmer untuk membuat perangkat lunak yang dapat
memanfaatkan potensi perangkat keras secara maksimal.
Rekayasa
perangkat lunak (RPL atau SE [Software Engineering]) adalah satu bidang profesi
yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan,
pemeliharaan, manajemen organisasi pengembangan perangkat lunak, dan
sebagainya.
Pada
tahun 2004, istilah rekayasa perangkat lunak secara umum digunakan dalam tiga
arti, yaitu:
1. Sebagai istilah umum untuk berbagai kegiatan yang
dulunya bernama pemrograman atau analisis sitem,
2. Sebagai istilah yang luas untuk analisis teknis
dari semua aspek-aspek praktis yang bertentangan dengan teori pemrograman
computer, dan
3. Sebagai istilah yang mewujudkan advokasi suatu
pendekatan spesifik ke pemrograman computer, satu hal yang mendesak yang
diperlakukan sebagai profesi rekayasa daripada sebuah seni atau kerajinan, dan
advokasi dari kodifikasi praktis yang disarankan dalam bentuk metodologi
rekayasa perangkat lunak.
Rekayasa
perangkat lunak adalah disiplin rekayasa dengan perangkat lunak yang
dikembangkan. Biasanya proses melibatkan penemuan pada keinginan klien,
menyusunnya di dalam daftar kebutuhan, perancangan, pengodean, pengujian, dan
pengintegrasian bagian yang terpisah, menguji keseluruhan, penyebaran dan
pemeliharaan perangkat lunak.
Disiplin
masih berada dalam pertumbuhannya (tahap awal perkembangan/pengembangan)
sebagai suatu disiplin rekayasa. Kita tidak pernah mempunyai pengalaman yang
cukup, maupun kumpulan data empiris yang cukup untuk secara sistematis memahami
dan meramalkan siklus hidup proyek perangkat lunak.
The
Software Engineering Body of Knowledge (SWEBOK) membagi rekayasa perangkat
lunak ke dalam 10 area pengetahuan, yaitu:
1. Kebutuhan perangkat lunak,
2. Perancangan perangkat lunak
3. Konstruksi perangkat lunak,
4. Pengujian perangkat lunak,
5. Pemeliharaan perangkat lunak,
6. Manajemen konfigurasi perangkat lunak,
7. Manajemen perangkat lunak,
8. Proses perangkat lunak,
9. Metode dan tool perangkat lunak, dan
10. Kualitas perangkat lunak.
2.
Faktor-Faktor Rekayasa Perangkat Lunak
Berbagai faktor yang memengaruhi
perncanaan, manajemen, dan pemilihan aktivitas SQM dan teknik-teknik adalah
sebagai berikut:
1. Daerah system yang akan ditempati perangkat lunak
(safety-critical, mission-critical, dan business critical),
2. Kebutuhan system dan perangkat lunak,
3. Komponen komersial (eksternal) atau standar
(internal) untuk digunakan di dalam sistem,
4. Standar rekayasa perangkat lunak spesifik yang bisa
diterapkan,
5. Metode dan tool perangkat lunak yang digunakan
untuk pengembangan dan pemeliharaan, dan untuk peningkatan dan evaluasi
kualitas,
6. Anggaran, staf, organisasi proyek, rencana, dan
penjadwalan dari semua proses-proses,
7. Pengguna yang diharapkan dan penggunaan system, dan
8. Tingkat integritas system.
Informasi
pada factor ini memengaruhi bagaimana proses SQM diorganisasikan dan
didokumentasikan, bagaimana aktivitas SQM spesifik dipilih, dan sumber daya apa
yang diperlukan dan yang akan memaksakan batas atau usaha.
1. Keterkaitan
Dalam
situasi dengan kegagalan system yang mungkin mempunyai konsekuensi yang sangat
hebat, keterkaitan keseluruhan (perangkat keras, perangkat lunak, dan manusia)
adalah kebutuhan kualitas yang utama disamping kemampuan dasar. Keterkaitan
perangkat lunak mencakup karakteristik toleransi kesalahan, keselamatan,
keamanan, dan usabilitas. Keandalan juga menjadi sebuah ukuran yang dapat
digambarkan dalam hubungannya dengan keterkaitan.
Badan literature untuk system harus sangat dapat
tergantung (“kepercayaan tinggi” atau “system integritas tinggi”). Istilah
untuk mekanisme tradisional dan system elektrik yang tidak boleh mencakup
perangkat lunak telah di import untuk mendiskusikan ancaman atau risiko,
integritas system, dan konsep yang berhubungan, dan mungkin menemukan acuan
yang dikutip untuk bagian ini.
2. Tingkat integritas perangkat lunak
Tingkat
integritas ditentukan berdasarkan pada konsekuensi kegagalan dari perangkat
lunak. Dalam perangkat lunak yang mementingkan keselamatan atau keamanan,
teknik-teknik seperti analisis risiko untuk keselamatan atau analisis ancaman
untuk keamanan mungkin digunakan untuk mengembangkan suatu aktivitas
perencanaan yang akan mengidentifikasi daerah yang potensial terhadap
kekacauan. Sejarah kegagalan dari perangkat lunak juga bisa membantu mendeteksi
kesalahan dan menilai kualitas. Tingkatan integritas ( miasalnya, gradasi
integritas) akan di usulkan di dalam suatu perangkat lunak.
3. Faktor Tim
Tim
dapat digambarkansebagai suatu kelompok perseorangan yang telah terorganisasi
untuk kepentingan bekerja bersama untuk mencapai sekumpulan tujuan yang tidak
bisasecara efektif dicapai oleh perseorangan yang bekerja sendiri. Efektivitas
suatu tim mungkin diukur dalam hasil terhadap penerimaa pelanggan, kemampuan
tim, dan kepuasan perseorangan.
Masukan
perseorangan dan organisasi dengan mantap memengaruhi masukan tim. Proses
pekerjaan tim ditandai oleh usaha yang mengarah pada tujuan, pengetahuan dan
keahlian yang digunakan, strategi pengadopsian, dadan dinamika kelompok.
Konstruksi tim dan manajemen merupakan sebuah tantangan kritis di dalam
pemecahan masalah yang dikendalikan perangkat lunak (software-driven). Sebuah
tim akan memerlukan:
1. Identifikasi tujuan,
2. Definisi strategi,
3. Manajemen tugas,
4. Manajemen waktu,
5. Penempatan sumber daya,
6. Komposisi tim antardispilin ilmu,
7. Waktu control,
8. Pelatihan,
9. Komunikasi tim,
10. Keterpaduan tim, dan
11. Evaluasi dan jaminan kualitas.
Karakteristik utama dari kesuksesan tim mencakup:
1. Pembagian tujuan
Harus
ada kesadaran bersama pada tujuan tim umum dari semua anggota tim. Berbagi
tujuan adalah sasaran yang langsung, panduan dan pengintegrasian usaha
perseorangan untuk mencapai hasil yang diharapkan.
2. Kolaborasi efektif
Suatu
tim harus bekerja sebagai tim. Tim ini memerlukan kerja sama, individu pemberi
kontribusi, pertukaran gagasan dan pengetahuan oleh individu, dan pembangunan
hubungan antarpribadi, dan kepercayaan. Lingkungan proyek memudahkan dan
mendorong kerja sama yang efektif dan interoperasi.
3. Kemampuan individual
Masing-masing
anggota tim harus dilatih dan dipandu agar bisa bekerja sama dengan anggota tim
lainnya.
Beberapa
karakteristik lain dari tim yang berjalan dengan baik meliputi:
1. Pembagian misis dan tujuan,
2. Penyebaran informasi lengkap tentang jadwal,
aktivitas, dan prioritas,
3. Pengembangan suatu pemahaman peran dari tiap
anggota tim,
4.Pemahaman untuk memperhatikan konflik dan kebutuhan
untuk memecahkannya,
5. Secara efisien memanfaatkan kemampuan perseorangan,
6. Secara efektif menyebarkan pertemuan –pertemuan,
7. Dengan teliti mengevaluasi kinerja dari tiap
anggota tim, dan
8. Secara terus menerus memperbarui keahlian
perseorangan untuk menemukan kebutuhan yang ada.
Indicator
tambahan dari operasi yang efektif meliputi tingkat dari keterlibatan dan
keikutsertaan manajemen proyek, focus pada tujuan, tanggung jawab bersama,
orientasipada pemikiran secara strategis, dan kecepatan untuk tanggap terhadap
tantangan dan peluang. Karakteristik kinerja tim ini memerlukan tiap-tiap
anggota tim untuk menyokong ide, beroperasi pada lingkungan yang berisi
keanekaragaman keahlian , memahami kontribusi dari yang lain, berbagi
pengetahuan, menanyakan tingkat pemahaman secara aktif, mengambil bagian dengan
penuh semangat, dan melatih fleksibilitas.
4. Faktor Pelanggan
Ada
suatu kebenaran yang mutlak, yaitu rekayasa perangkat lunak harus bisa menjadi
pengendali pelanggan (customer-driver). Bagian ini mempertimbangkan beberapa
karakteristik dan teknik khusus dari lingkungan pengembangan perangkat lunak
yang dikendalikan pelanggan (customer-driven), yang meliputi:
1. Pengembangan yang dikendalikan pelanggan bersifat
padat kebutuhan dan dikendalikan fitur Karena kebutuhan pelanggan adalah
prioritas yang tertinggi, kebutuhan pelanggan harus secara hati-hati
dikumpulkan, dikenali, ditetapkan, divisualisasikan, dan secara internal,
diprioritaskan anatarkebutuhan sendiri. Sebagai konsekuensinya, kebutuhan
rekayasa menjadi kunci tahap strategis antarproses rekayasa perangkat lunak.
2. Pengembangan yang dikendalikan pelanggan bersifat
iterative Pengembangan iterative menjadi penting karena mengizinkan umpan balik
yang luas dan pemberian jawaban untuk umpan balik.
3. Pengembangan yang dikendalikan pelanggan bertujuan
untuk mengembangkan aplikasi-aplikasi terbaik (killer application) Teknik ini
adalah satu-satunya cara untuk bertahan pada pasar yang sangat tinggi
kompetisisnya
4. Pengembangan yang dikendalikan pelanggan sangat
menghargai waktu pemasaran. Waktu berarti kesempatan sehingga aplikasi harus
direkayasa secara cepat dan efisien, cukup untuk menangkap peluang pasar yang
bergantung waktu.
5. Pengembangan yang dikendalikan pelanggan berusaha
untuk memberikan kepuasan pada banyak stakeholder melalui situasi yang saling
menguntungkan
Setiap aktivitas pengembangan perangkat lunak
melibatkan banyak orang, masing-masing mempunyai tujuan dan pandangan yang
berbeda. Oleh karena itu, rekonsiliasi yang efektif dari konflik atas kebutuhan
system menjadi sebuah factor kunci dalam meyakinkan kepuasan pelanggan.
6. Pengembangan yang dikendalikan pelanggan berfokus
pada kualitas produk dan layanan. Jaminan kualitas menyiratkan pengaturan
proses perangkat lunak, seperti pengembang dan pelanggan yang dicukupi dengan
kualitas dan konsistensi barang-barang atau jasa yang dihasilkan atau yang
disediakan. Pengembangan yang dikendalikan pelanggan memandang pelanggan
sebagai mitra, tidak hanya sebagai pembeli
Dalam meyakinkan harapan pelanggan, pelanggan perlu
duduk bersama dengan pengembang pada masing-masing tahap proses pengembangan
perangkat lunak. Hal tersebut dapat memperkecil resiko dan mengurangi siklus
waktu selama proses pengembangan.
8. Pengembangan yang dikendalikan pelanggan dapat
dikostumisasi, dipersonalisasi, dan sesuai dengan kebutuhan individu dan
perubahan pada kebutuhan
Tidak ada dua bisnis atau perseorangan yang sama
(permintaan dan kebutuhan bertukar-tukar dan meningkat bahkan antarorganisasi
tunggal). Mengenali perbedaan perseorangan dan keanekaragaman organisasi
menjadi suatu kerumitan dalam penyediaan solusi yan efektif.
9. Pengembangan yang dikendalikan pelanggan diarahkan
oleh psikologi kognitif
Psikologi kognitif mendapat pemikiran seperti bahasa
untuk program sumber perangkat lunak. Oleh karena itu, suatu pendekatan
pengembangan perangkat lunak yang dikendalikan pelanggan perlu menguji luas
perancangan perangkat lunak denagn teliti untuk mencerminkan kebutuhan
pelanggan sebagai kebutuhan yang dirasakan oleh pelanggan.
10. Pengembangan yang dikendalikan pelanggan harus
informative dan mudah diakses
Perancangan
suatu solusi perangkat lunak di dalam “era pelanggan” (customer age) memerlukan
layanan pelanggan yang penuh, dan mendukung bantuan yang terdokumentasi dengan
baik dan web interaktif. Aplikasi tidak menyediakan informasi pendukung,
seperti subjek kepada keluhan pelanggan, ketidakpuasan, dan penolakan.
11. Keamanan dan privasi adalah suatu pertimbangan
dalam solusi yang dikendalikan pelanggan
Untuk
mendapatkan kepercayaan pelanggan, perekayasa perangkat lunak harus merancang
system yang dapat dipercaya, dan peka akan invasi privasi atau serangan peretas
(hacker). Keamanan dan privasi merupakan perhatian utama dari pelanggan
perangkat lunak.
3. Aspek
Rekayasa Perangkat Lunak
Aspek
multidisiplin ilmu factor manusia
menjelma pada tingkat masalah, isu yang dibahas adalah disiplin yang
terkait dengan orang-orang yang dapat membantu seseorang untuk memahami dasar
masalah. Pada tingkat solusi, perhatian yang utama adalah disiplin yang terkait
dengan orang-orang yang memungkinkan seseorang untuk ditunjuk di dalam
pemecahan masalah yang lebih baik.
Suatu
proyek dapat dipikirkan sebagai kelompok trugas dan aktivitas yang dilakukan di
dalam periode dan pertemuan spesifik. Sebuah proyek melibatkan suatu kumpulan
sumber daya temporer yang ada bersama-sama untuk memecahkan sebuah masalah
spesifik.
Tatnall
dan Shackleton (1995), Rosenau (1998), dan Meredith dan Mantel (1995)
mengidentifikasi beberapa fitur karakteristik proyek dan menjelaskn bahwa
proyek itu unik. Proyek harus diselesaikan pada periode waktu tertentu.
Definisi proyek yang benar menjadi penting pada manajemen proyek. Definisi
proyek membantu menetapkan suatu lingkup yang jelas untuk proyek dan bertindak
sebagai dasar perencanaan proyek.
Langkah-langkah yang diperlukan untuk menggambarkan sebuah awal proyek
dilakukan dengan menggambarkan peluang proyeknya, penyediaan uraian latar
belakang yang menerapkan kebutuhan pada proyek, dan kemudian menggambarkan
tujuan untuk proyek. Setelah mengidentifikasi stakeholder dan sumber daya yang
tersedia, seseorang harus mengidentifikasi proyek yang terkait yang akan
memengaruhi atau dipengaruhi oleh proyek dalam pertimbangan.
Seseorang
kemudian mengidentifikasi kriteria-kriteria untuk memutuskan apakah suatu
proyek itu baik, pemahamannya mencakup batasan proyek, asumsi, dan risiko,
seerti halnya implikasi seperti batasan dan asumsi untuk risiko proyek.
Manajemen proyek dapat digambarkan sebagai sekumpulan prinsip, metode, alat,
dan teknik untuk perencanaan, pengorganisasian, penempatan pekerja, pengarahan,
dan pengendalian aktivitas yang berkaitan dengan proyek untuk mencapai tujuan
proyek di dalam waktu, di bawah biaya, dan batasan kinerja.
Aktivitas
manajemen proyek dapat digolongkan menurut tahapan proyek, yaitu:
1. Konsepsi proyek
Tujuan dari
tahap konseptual adalah untuk menentukan kelayakan proyek. Sasaran akan
diujidalam konteks lingkungan bisnis, cara alternative akan ditetapkan dan
dievaluasi, dan perkiraan persiapan biaya, jadwal, dan risiko yang dikerjakan
akan ditentukan. Puncak dari tahap ini adalah keputusan, misalnya keputusan
untuk meneruskan proyek.
2. Perencanaan
Kinerja,
biaya, dan perkiraan jadwal ditentukan sampai batas pemerincian rencana untuk
pelaksanaan proyek dapat dibuat. Anggaran dan jadwal akan dikembangkan, tim
proyek dibentuk, dan system manajemen proyek dibentuk untuk memandu manajemen
proyek.
3. Eksekusi
Manajer
proyek akan bertanggung jawab untuk mengatur sumber daya yang diperlukan untuk
memenuhi sasaran. Penekanan dari tanggung jawab bergeser dari perencanaan untuk
control.
4. Terminasi
Tahap ini
dapat dipicu dengan terminasi premature atau dengan pencapaian kesuksesan dari
tujuan.
Gambar 9.3 Faktor manusia di dalam proses pemecahan
masalah
TABEL 9.1 Driver dan Disiplin
Pengarah Antardisiplin Ilmu
|
Disiplin yang relevan
|
Penggunaan
|
Pelanggan
|
Pemasaran
|
Meliputi beberapa subkategori pelanggan dan
stakeholder lain
Memeriksa kebutuhan system dari perspektif pemasaran
|
Tim Pengembangan
|
Manajemen Proyek
|
Penstrukturan tim pengembangan
|
Pengguna
|
Teori Psikologi
|
Desain antarmuka pengguna
|
Sebuah proyek melibatkan suatu
kumpulan sumber daya temporer yang ada bersama-sama untuk memecahkan sebuah
masalah spesifik.
Tatnall dan Shackleton (1995),
Rosenau (1998), dan Meredith dan Mantel (1995) mengidentifikasi beberapa fitur
karakteristik proyek dan menjelaskn bahwa proyek itu unik. Proyek harus
diselesaikan pada periode waktu tertentu. Definisi proyek yang benar menjadi
penting pada manajemen proyek. Definisi proyek membantu menetapkan suatu
lingkup yang jelas untuk proyek dan bertindak sebagai dasar perencanaan proyek.
Langkah-langkah yang diperlukan
untuk menggambarkan sebuah awal proyek dilakukan dengan menggambarkan peluang
proyeknya, penyediaan uraian latar belakang yang menerapkan kebutuhan pada
proyek, dan kemudian menggambarkan tujuan untuk proyek. Setelah
mengidentifikasi stakeholder dan sumber daya yang tersedia, seseorang harus
mengidentifikasi proyek yang terkait yang akan memengaruhi atau dipengaruhi
oleh proyek dalam pertimbangan.
Seseorang kemudian mengidentifikasi
kriteria-kriteria untuk memutuskan apakah suatu proyek itu baik, pemahamannya
mencakup batasan proyek, asumsi, dan risiko, seerti halnya implikasi seperti
batasan dan asumsi untuk risiko proyek. Manajemen proyek dapat digambarkan
sebagai sekumpulan prinsip, metode, alat, dan teknik untuk perencanaan,
pengorganisasian, penempatan pekerja, pengarahan, dan pengendalian aktivitas
yang berkaitan dengan proyek untuk mencapai tujuan proyek di dalam waktu, di
bawah biaya, dan batasan kinerja.
Feeny dan Willcocks (1998) mengakui
bahwa dua indicator utama dari manajer proyek terlihat sebagai efektivitas,
yaitu pengalaman proyek yang sukses sebelumnya dan kredibilitas manajer di mata
stakeholder. Menurut Mateyaschuk (1998), dan Weston dan Stedman (1998a,b),
dasar-dasar pemikiran untuk ini seperti kondisi-kondisi, yang diambil
bersama-sama, bantuan yang memastikan bahwa manajer proyek mempunyai
keterampilan yang diperlukan untuk melaksanakan sebuah proyek sampai pada
penyelesaian dengan stakeholder bisnis yang akan terus mendukung proyek tersebut.
Penelitian juga menyatakan bahwa kondisi ini tidak mudah untuk dimengerti,
kompleks dengan keadaan yang cepat berubah dari kebutuhan proyek yang mempunyai
suatu dampak kritis atas kesuksesan manajer proyek perangkat lunak. Sedangkan
menurut Pawel Brodzinki (2009), seperti yang ia tulis di webnya, mengatakan
bahwa ada 10 kualitas yang harus dimiliki oleh seorang manajer proyek, yaitu:
1.
Harus dapat
mengorganisasi,
2.
Harus lebih
sering berkomunikasi,
3.
Harus jujur
terhadap klien,
4.
Harus bias
mencari solusi, bukan menyalahkan orang lain,
5.
Harus bias
bekerja sama dengan pelanggan,
6.
Harus bias
memahami cerita bisnis di balik proyek,
7.
Harus bias
memahami hal-hal teknis selama pelaksanaan proyek,
8.
Tidak ragu
untuk menyampaikan umpan balik yang negative bila diperlukan,
9.
Tidak kecewa
atas pendapat-pendapat yang tidak wajar terhadap pekerjaan yang sedang
dikerjakan, dan
10. Harus selalu
mengharapkan hal-hal yang tidak terduga
Faktor
Pelanggan
Ada suatu kebenaran yang mutlak,
yaitu rekayasa perangkat lunak harus bisa menjadi pengendali pelanggan
(customer-driver). Bagian ini mempertimbangkan beberapa karakteristik dan
teknik khusus dari lingkungan pengembangan perangkat lunak yang dikendalikan
pelanggan (customer-driven), yang meliputi:
1.
Pengembangan
yang dikendalikan pelanggan bersifat padat kebutuhan dan dikendalikan fitur
Karena kebutuhan pelanggan adalah
prioritas yang tertinggi, kebutuhan pelanggan harus secara hati-hati
dikumpulkan, dikenali, ditetapkan, divisualisasikan, dan secara internal,
diprioritaskan anatarkebutuhan sendiri. Sebagai konsekuensinya, kebutuhan
rekayasa menjadi kunci tahap strategis antarproses rekayasa perangkat lunak.
2.
Pengembangan
yang dikendalikan pelanggan bersifat iterative
Pengembangan iterative menjadi
penting karena mengizinkan umpan balik yang luas dan pemberian jawaban untuk
umpan balik.
3.
Pengembangan
yang dikendalikan pelanggan bertujuan untuk mengembangkan aplikasi-aplikasi
terbaik (killer application)
Teknik ini adalah satu-satunya cara
untuk bertahan pada pasar yang sangat tinggi kompetisisnya.
4.
Pengembangan
yang dikendalikan pelanggan sangat menghargai waktu pemasaran
Waktu berarti kesempatan sehingga
aplikasi harus direkayasa secara cepat dan efisien, cukup untuk menangkap
peluang pasar yang bergantung waktu.
5.
Pengembangan
yang dikendalikan pelanggan berusaha untuk memberikan kepuasan pada banyak
stakeholder melalui situasi yang saling menguntungkan
Setiap aktivitas pengembangan
perangkat lunak melibatkan banyak orang, masing-masing mempunyai tujuan dan
pandangan yang berbeda. Oleh karena itu, rekonsiliasi yang efektif dari konflik
atas kebutuhan system menjadi sebuah factor kunci dalam meyakinkan kepuasan
pelanggan.
6.
Pengembangan
yang dikendalikan pelanggan berfokus pada kualitas produk dan layanan
Jaminan kualitas menyiratkan
pengaturan proses perangkat lunak, seperti pengembang dan pelanggan yang
dicukupi dengan kualitas dan konsistensi barang-barang atau jasa yang
dihasilkan atau yang disediakan.
7.
Pengembangan
yang dikendalikan pelanggan memandang pelanggan sebagai mitra, tidak hanya
sebagai pembeli
Dalam meyakinkan harapan pelanggan,
pelanggan perlu duduk bersama dengan pengembang pada masing-masing tahap proses
pengembangan perangkat lunak. Hal tersebut dapat memperkecil resiko dan
mengurangi siklus waktu selama proses pengembangan.
8.
Pengembangan
yang dikendalikan pelanggan dapat dikostumisasi, dipersonalisasi, dan sesuai
dengan kebutuhan individu dan perubahan pada kebutuhan
Tidak ada dua bisnis atau
perseorangan yang sama (permintaan dan kebutuhan bertukar-tukar dan meningkat
bahkan antarorganisasi tunggal). Mengenali perbedaan perseorangan dan keanekaragaman
organisasi menjadi suatu kerumitan dalam penyediaan solusi yan efektif.
9.
Pengembangan
yang dikendalikan pelanggan diarahkan oleh psikologi kognitif
Psikologi kognitif mendapat
pemikiran seperti bahasa untuk program sumber perangkat lunak. Oleh karena itu,
suatu pendekatan pengembangan perangkat lunak yang dikendalikan pelanggan perlu
menguji luas perancangan perangkat lunak denagn teliti untuk mencerminkan
kebutuhan pelanggan sebagai kebutuhan yang dirasakan oleh pelanggan.
10. Pengembangan
yang dikendalikan pelanggan harus informative dan mudah diakses
Perancangan suatu solusi perangkat
lunak di dalam “era pelanggan” (customer age) memerlukan layanan pelanggan yang
penuh, dan mendukung bantuan yang terdokumentasi dengan baik dan web interaktif.
Aplikasi tidak menyediakan informasi pendukung, seperti subjek kepada keluhan
pelanggan, ketidakpuasan, dan penolakan.
11. Keamanan dan
privasi adalah suatu pertimbangan dalam solusi yang dikendalikan pelanggan
Untuk mendapatkan kepercayaan
pelanggan, perekayasa perangkat lunak harus merancang system yang dapat
dipercaya, dan peka akan invasi privasi atau serangan peretas (hacker).
Keamanan dan privasi merupakan perhatian utama dari pelanggan perangkat lunak.
BAB 3
PENUTUP
1.
KESIMPULAN
Rekayasa
Perangkat Lunak yaitu sebagai menyeduakan sebuah kerangka kerja guna membangun
perangkat lunak dengan kualitas yang lebih tinggi.
Daftar Pustaka