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.[1]
rekayasa perangkat lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak:
1. dapat terus dirawat dan dipelihara(maintainability)
2. dapat mengikuti perkembangan teknologi(dependability)
3. dapat mengikuti keinginan pengguna(robust)
4. efektif dan efisien dalam menggunakan energi dan penggunaannya
5. dapat memenuhi kebutuhan yang diinginkan(usability)[2]
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.
No comments:
Post a Comment