1. Membantu Anda menghargai bagaimana kompleks itu adalah untuk merancang dan
mengimplementasikan sistem informasi (IS) dan stabil, kuat, teknologi aman di
mereka inti.
2. Mengartikulasikan keuntungan dan kerugian dari desain perangkat lunak kustom dan
pengembangan dibandingkan perolehan suatu produk off-the-rak.
3. Jelaskan dan mengajarkan Anda untuk menggunakan metodologi utama untuk desain
perangkat lunak kustom dan pengembangan. Secara khusus, Anda akan dapat
mengidentifikasi fase utama dari siklus hidup pengembangan sistem (SDLC) dan
mendiskusikan kelebihan dan kekurangan. Anda juga akan menjadi akrab dengan
prototyping, gesit, dan pengembangan dan operasi (DevOps) pendekatan dan akan
dapat mengidentifikasi keunggulan utama mereka dan kekurangan.
4. Mendefinisikan perangkat lunak open source jangka panjang dan dapat
mengidentifikasi model komersial utama dibuat sekitar gerakan open source. Anda
juga akan dapat mengartikulasikan keuntungan pokok dan risiko yang terkait dengan
implementasi solusi open source dalam organisasi modern.
5. Mengidentifikasi metodologi sistem seleksi sehingga Anda dapat memilih program
perangkat lunak dikemas untuk spesifik organisasi.
6. Jelaskan alasan untuk meningkatkan keunggulan end-user
pembangunan di organisasi modern dan mengartikulasikan manfaat dan risiko dari
pendekatan ini untuk pengembangan perangkat lunak.
Pertanyaan Diskusi
1. Apa yang harus agenda Anda untuk pertemuan besok menjadi? Jika
Anda menekan dengan strategi Anda, atau perubahan tentu saja dalam
rangka?
2. Apa yang akan Anda lakukan secara berbeda, jika ada, diberikan
kesempatan untuk memulai proyek ini lagi?
11.1 pengantar
Setelah sebuah perusahaan telah mengembangkan rencana strategis untuk penggunaan sistem
informasi (IS) sumber (Bab 6) Dan telah melalui proses penganggaran dan prioritas (Bab 10)
Untuk mengidentifikasi sistem apa informasi spesifik yang dibutuhkan, siap untuk bertindak.
Apakah sistem informasi bergantung pada teknologi kustom-dikembangkan atau komersial off-
the-shelf (COTS) perangkat lunak,
sangat penting bahwa Anda sebagai manajer umum atau fungsional memahami bagaimana sistem
informasi datang untuk menjadi. Berbekal pengetahuan ini, Anda dapat secara proaktif
berpartisipasi dalam proses tersebut.
Sementara manajer tidak perlu khawatir dengan keputusan hardware, mereka harus mengambil
bagian dalam proses desain perangkat lunak, akuisisi, dan implementasi. Selain dari porsi yang
signifikan dari anggaran Anda dikhususkan untuk manajemen sistem informasi dan
pengembangan, keterlibatan manajer dalam pendanaan sistem informasi dan desain sangat penting
karena sebelumnya telah sukses sebuah perusahaan tergantung begitu banyak pada penggunaan
aplikasi perangkat lunak yang tepat. Memutuskan apa karakteristik dari aplikasi “benar” adalah
adalah keputusan bisnis. Ini adalah keputusan lebih didasarkan pada kasus bisnis dan pemahaman
tentang proses bisnis perangkat lunak akan memungkinkan (atau kendala!) Dari pada
pertimbangan teknis.
Ada beberapa teknologi dan produk yang telah berevolusi sejauh dan secepat teknologi
informasi (TI) memiliki. Namun, keberhasilan mencengangkan TI dapat menyesatkan, menipu,
sehingga Anda sangat meremehkan apa yang diperlukan untuk membangun dan menerapkan
stabil, kuat, sistem yang aman yang akan bekerja di bawah beragam kondisi organisasi.
Anda harus memeriksa jawaban Anda untuk terakhir kalinya sebelum membaca di? OK, inilah
yang terjadi:
• Pelaksanaan SAP oleh perusahaan pelayanan makanan utama mengambil lebih dari
enam tahun dan lebih dari $ 200 juta. Hal itu terperosok oleh kemunduran dan buntu,
dengan korban-profil tinggi, termasuk pemimpin proyek, yang ditugaskan kembali di
tengah-tengah pelaksanaan.
• Perusahaan perhotelan besar menginvestasikan lebih dari $ 50 juta dalam desain dan
pengembangan aplikasi dan mengintegrasikannya dengan aplikasi lain dalam
infrastruktur perusahaan. Proyek ini memakan waktu sekitar dua tahun dan
kesimpulan itu telah biaya sekitar $ 120 juta. Sistem yang dihasilkan, investasi
terbesar perusahaan dalam sejarah, dianggap sukses.
• Upgrade di perusahaan telekomunikasi itu gagal total. Sistem baru itu tidak stabil,
menabrak untuk hari pada satu waktu, dan sistem lama tidak lagi digunakan. Kesulitan
layanan pelanggan diterjemahkan ke dalam sekitar $ 100 juta dalam pendapatan yang
hilang selama tiga bulan yang dibutuhkan untuk menyelesaikan upgrade. Sebuah
saingan mengakuisisi perusahaan, yang terperosok dalam kesulitan, selama setengah
valuasi aslinya.
Wawasan kritis yang bisa diperoleh dari latihan sederhana ini adalah bahwa sistem informasi
organisasi mengantar kekayaan kompleksitas yang pergi
jauh melampaui yang terkait dengan lingkungan komputasi personal yang paling akrab bagi
pengguna biasa akhir (misalnya, pembelian dan menginstal Microsoft Office; Gambar 11.1).
Sayangnya, manajer dikelilingi oleh retorika yang menyesatkan dari pernyataan seperti “IT
mudah; bagian yang sulit adalah orang,”atau‘Hari ini, perusahaan dapat dengan mudah
mengembangkan atau teknologi pembelian untuk mendapatkan kemampuan untuk secara cepat
sesuai pesaing mereka,’atau‘IT adalah komoditas.’
pandangan-pandangan ini oversimplifications kotor realitas. Ketika mereka dipegang oleh
orang-orang yang tidak pernah terlibat dalam upaya pengembangan sistem informasi berskala
besar, mereka berbahaya menyembunyikan kebenaran: upaya pengembangan sistem informasi
organisasi yang sangat kompleks dan berisiko usaha. Sebuah studi McKinsey dilakukan pada lebih
dari 5.400 proyek TI menunjukkan bahwa rata-rata, mereka menjalankan 45% dari anggaran, 7%
dari waktu ke waktu, sementara memberikan 56% lebih sedikit nilai dari yang diharapkan, dan
bahwa 17% dari mereka menghasilkan konsekuensi negatif untuk mengancam “yang keberadaan
perusahaan.”1 Fokus saat ini pada inisiatif transformasi digital meningkat IT kompleksitas dan
ambisi proyek, berdampak, sering negatif, tingkat keberhasilan.2 Sementara masalah organisasi,
lebih-optimisme dan tujuan yang buruk adalah penyebab khas, kurangnya keterampilan teknologi,
tata pemerintahan yang buruk, dan kompleksitas proyek diwakili penyebab berkontribusi penting
untuk kegagalan implementasi.
IT proyek yang kompleks dan berisiko justru karena mereka melibatkan kedua
teknis dan sosial tantangan-dan persimpangan dua.
Rob Austin, IS profesor dan penulis, ditangkap gagasan ini terbaik ketika menjelaskan mengapa
proyek sistem informasi mungkin tidak akan pernah sebagai disiplin dan diprediksi sebagai proses
rekayasa lainnya (misalnya, pembangunan pabrik). Dia menyatakan sebagai berikut:
Dalam istilah IT klasik, penting “persyaratan” sering tidak dilihat terlebih dahulu. Jika
pernyataan ini terdengar salah untuk Anda, mencoba alternatif-bahwa itu selalu
mungkin untuk membedakan semua persyaratan penting terlebih dahulu, terlepas dari
ukuran dan kompleksitas sistem dan tingkat teknologi dan perubahan bisnis. [. . . ]
Memang, apa yang membuat sistem yang bagus pada akhirnya, biasanya, tidak hanya
bahwa itu memenuhi persyaratan yang diketahui sebelumnya. Perbedaan antara
sistem nilai tambah TI yang besar dan anjing kikuk bahwa setiap orang membenci
sering dalam rincian yang ditemukan di sepanjang jalan, karena sistem
diimplementasikan dan pengguna mulai memiliki rasa yang lebih nyata tentang
Interaksi berbagai aktor (sering dengan agenda yang berbeda), ukuran tipis banyak sistem
organisasi, segudang diharapkan dan tak terduga kondisi organisasi sistem harus mendukung, dan
sifat terus berkembang dari perusahaan modern yang membuat proyek-proyek ini sangat
menantang. Informasi proyek sistem memerlukan keahlian teknis. Mereka juga menyerukan dosis
besar keterampilan manajerial dan keterlibatan informasi oleh manajer umum dan fungsional yang
memberikan kontribusi keahlian materi pelajaran penting.
• Pengembangan teknologi. sistem informasi modern yang dibangun pada inti IT.
Apakah teknologi tersebut diperoleh dan terintegrasi ke dalam infrastruktur
perusahaan yang sudah ada atau kustom dibangun oleh (atau untuk) organisasi,
menghasilkan inti IT merupakan prasyarat untuk memberikan fungsi pengolahan
informasi yang dibutuhkan.
• pengembangan sistem informasi. Membuat dibutuhkan inti TI tidak cukup untuk
memenuhi kebutuhan informasi dari perusahaan pengolahan (lihatBab 2). perusahaan
harus berhasil mengintegrasikan teknologi dengan komponen lain dari organisasi
(yaitu, orang, proses, struktur) untuk mengembangkan sistem informasi bekerja. Ini
adalah proses implementasi.
Proses pengembangan teknologi dan implementasi saling terkait, tidak berurutan. Karena efek
sistemik (Bab 2), Komponen dari suatu sistem informasi harus berinteraksi satu sama lain tanpa
gesekan. Dengan demikian desain sebuah program perangkat lunak baru (yaitu, pengembangan
teknologi) harus memperhitungkan bagaimana teknologi akan digunakan (yaitu, proses), oleh
siapa (yaitu, orang), dan di bawah apa yang enabler organisasi dan kendala (yaitu, struktur) .
Artinya, pengembangan teknologi harus memperhitungkan pelaksanaan masa depan akun karena
sedang dirancang.
tiga Pendekatan
Ada tiga pendekatan umum untuk akuisisi fungsi pengolahan informasi dan pengenalan sistem
informasi berbasis IT. Perhatikan bahwa masing-masing pendekatan meliputi baik perkembangan
teknologi dan proses implementasi. Namun, perbedaan penting antara mereka berkaitan dengan
bagaimana komponen-dan teknologi yang lebih khusus, perangkat lunak yang mendefinisikan
kemampuan dari sistem-dirancang dan dikembangkan:
1. desain kustom dan pengembangan. Dengan pendekatan ini, mengimplementasikan
organisasi aplikasi perangkat lunak yang tegas dibuat, apakah internal atau melalui
pengembangan outsourcing, untuk kebutuhan yang unik dari perusahaan.
2. seleksi dan akuisisi sistem. Dengan pendekatan ini, organisasi
mengimplementasikan aplikasi perangkat lunak yang dikembangkan oleh vendor dan
tersedia di pasar.
3. pengembangan pengguna akhir. Dengan pendekatan ini, organisasi menggunakan
aplikasi perangkat lunak yang dibuat ad hoc oleh pengguna akhir dan bukan sistem
informasi perusahaan profesional.
Kami jelaskan di bawah keuntungan dan risiko yang terkait dengan masing-masing pendekatan.
Kami juga memperkenalkan metodologi yang paling lazim digunakan untuk mengartikulasikan
desain sistem informasi dan proses pembangunan di masing-masing kasus. Tujuan kami di sini
bukan untuk Anda untuk menjadi ahli dalam desain sistem dan pengembangan. Sebaliknya, itu
adalah untuk membantu Anda memelihara pemahaman tentang proses sehingga Anda dapat
berhasil mengambil bagian di dalamnya.
unik Menjahit Ciri khas aplikasi perangkat lunak kustom yang dikembangkan adalah bahwa
mereka dibentuk untuk menyesuaikan fitur unik dari perusahaan bahwa komisi mereka. Sebuah
kutipan oleh Bill Bass, mantan wakil presiden senior untuk eCommerce Akhir Lands', memberikan
metafora yang tepat: ‘Fitting 100 beberapa juta wanita di Amerika Serikat pada 8 atau 10 ukuran
dasar serta mereka ingin benar-benar mustahil.’6 Ketika kita membeli pakaian dalam ukuran
standar, mereka sering cocok di satu area dan kurang baik di lain. Biasanya, kita menerima standar
ini cocok. Namun mereka yang merasa sulit untuk menemukan pas pakaian (dan mampu
membelinya) dapat membeli pakaian tailor-made.
Tubuh manusia adalah unik, dan tidak ada dua orang yang sama. Hal yang sama berlaku untuk
organisasi modern. Dengan demikian COTS software akan “fit” dengan baik di beberapa daerah
perusahaan tetapi mungkin menciptakan masalah pada orang lain dan memerlukan beberapa
Keuntungan Pembelian Sebagai industri perangkat lunak telah berkembang dan tumbuh secara
dramatis selama 30 tahun terakhir, tawaran off-the-rak telah menjadi komprehensif. Mungkin
dorongan terbesar di balik penggunaan aplikasi COTS telah datang dalam beberapa tahun terakhir
dari kelangsungan hidup awan terpercaya komputasi solusi-khusus, kenaikan ke menonjol dari
software-as-a-service (SaaS) solusi (lihatbagian 3). Membeli perangkat lunak dari vendor, baik di
awan atau untuk dipasang di pusat data perusahaan sendiri, menghasilkan sejumlah keuntungan
untuk organisasi pembelian.
Lebih cepat Roll-Out Sebuah organisasi yang pembelian software baru biasanya tertarik pada
fungsi pengolahan informasi memungkinkan, tidak di IT itu sendiri. Jadi seberapa cepat
perusahaan dapat “berdiri dan berjalan” dengan sistem informasi baru menjadi perhatian penting.
perangkat lunak yang dibeli secara dramatis mengurangi waktu yang dibutuhkan untuk
memperoleh perangkat lunak dan memulai proses implementasi. Daripada terlibat dalam proses
pembangunan kustom yang panjang, perusahaan penelitian dan mengevaluasi ada aplikasi sebelum
memilih salah satu. Setelah membeli aplikasi yang dipilih, tahap implementasi siap untuk
memulai.
pengetahuan Infusion Keunggulan lain yang ditawarkan oleh aplikasi off-the-rak adalah akses ke
keahlian kode dalam perangkat lunak. Karena program perangkat lunak
dapat mengaktifkan dan membatasi cara di mana pengguna menyelesaikan tugas atau menjalankan
proses bisnis (Bab 2), Sebuah organisasi yang pembelian perangkat lunak dikemas juga
mengakuisisi “cara melakukan bisnis.” Perhatikan contoh operator call center yang mengambil
pesanan dari pembeli katalog. Desain aplikasi akan menentukan urutan interaksi berlangsung
(misalnya, salam, barang yang akan dikirim, verifikasi alamat, pembayaran) dan data apa yang
diperlukan untuk menyelesaikan transaksi (misalnya, tidak ada pesanan dapat diselesaikan tanpa
nomor telepon yang valid).
Gagasan ini infus pengetahuan sekarang desain dan pemasaran alat penting untuk vendor
perangkat lunak, khususnya penyedia SaaS, yang secara proaktif mencari praktik terbaik untuk
kode mereka ke dalam aplikasi mereka. Kembali ke contoh call center, sebuah sering disebutkan
praktek terbaik dalam operasi call center adalah untuk memungkinkan interaksi personal dengan
setiap pelanggan. Dengan demikian vendor software call-center mungkin kode fitur dalam
penerapannya yang secara otomatis membawa sejarah pesanan pelanggan atau petunjuk untuk
tawaran yang ditargetkan sehingga perwakilan dapat terlibat dalam informasi-dan lebih
menguntungkan-percakapan dengan pelanggan.
ekonomis Menarik Sementara itu selalu sulit untuk menggeneralisasi ketika datang ke desain
sistem, pemeliharaan, dan biaya pengembangan, pembelian off-the-rak aplikasi biasanya
memungkinkan perusahaan untuk memanfaatkan skala ekonomi yang dicapai oleh vendor. Seperti
contoh massal diproduksi dan pakaian tailor-made, ketika vendor dapat menghasilkan banyak unit
dari aplikasi perangkat lunak yang sama, itu menikmati penurunan biaya yang, pada gilirannya,
menurunkan biaya unit tetap. Hal ini terutama berlaku dengan perangkat lunak, informasi klasik
yang baik (lihatBab 4) Ditandai dengan biaya yang sangat tinggi menghasilkan salinan pertama,
tapi diabaikan reproduksi dan biaya distribusi.
Kualitas tinggi Banyak perdebatan seputar isu kualitas perangkat lunak, dengan skeptis menunjuk
ke banyak contoh aplikasi dikemas yang memiliki bug yang signifikan. Namun rumah software
besar dengan produk yang matang akan mengarah ke anggaran pengujian yang cukup besar dan
dasar terinstal besar pengguna sebagai bukti bahwa aplikasi mereka telah dimasukkan melalui
langkah dan dengan demikian semua masalah besar telah muncul.
Beli dan Membuat
Make vs keputusan membeli biasanya diperlakukan sebagai salah satu dikotomis (yaitu,
perusahaan harus memilih satu atau pendekatan lainnya).8 Dalam prakteknya, aturan umum
praktis adalah bahwa akuisisi perangkat lunak harus lebih suka pengembangan adat ketika solusi
off-the-rak memenuhi 80% dari fungsi yang diperlukan. Tapi apa yang terjadi jika itu 20% adalah
strategis untuk bisnis Anda? Organisasi dapat mengadopsi pendekatan dicampur, pertama
memperoleh solusi COTS dan kemudian memodifikasi secara ekstensif. Ini adalah daerah lain di
mana munculnya komputasi awan berubah hal. Sebagaimana kita bahas padabagian 3, Perangkat
lunak awan vendor berinovasi dan rilis update dan fungsionalitas baru lebih cepat dari sebelumnya-
dalam beberapa kasus, mingguan! kecepatan seperti penyebaran jelas mengurangi kebutuhan
kustomisasi internal. Bahkan, banyak dimodifikasi atau aplikasi kustom dapat membatasi
Dalam rangka untuk mengelola risiko dan kompleksitas yang terkait dengan pengembangan
adat, spesialis sistem informasi, akademisi, dan konsultan telah berkontribusi pada penciptaan
sejumlah sistem desain dan pengembangan metodologi.
Definisi Fase Definisi SDLC berkaitan dengan jelas mengidentifikasi fitur dari sistem informasi
yang diusulkan. Para aktor penting dalam fase ini adalah pengguna akhir calon dan manajer umum
atau fungsional yang mewakili stakeholder utama.
Dari staf sistem informasi, sistem dan analis bisnis terlibat. analis sistem sangat terampil
profesional sistem informasi yang fasih dalam kedua masalah teknologi dan komunikasi. Peran
mereka adalah untuk membantu pengguna mengidentifikasi dan mengartikulasikan persyaratan
sistem dan berfungsi sebagai penghubung dengan staf teknis (yaitu, pengembang). analis bisnis
adalah individu dengan keahlian dalam desain ulang proses bisnis serta teknologi. Mereka
membantu memastikan bahwa proses bisnis dan program perangkat lunak di jantung dari suatu
sistem informasi secara bersama-sama dioptimalkan dan bekerja dengan lancar bersama-sama.
Penyelidikan Selama penyelidikan, para pendukung sistem baru harus mengidentifikasi apa
masalah bisnis sistem akan berhubungan dengan. Manajer yang membayangkan cara-cara baru
operasi adalah kekuatan pendorong pada tahap ini, karena mereka merumuskan tujuan utama,
ruang lingkup, dan proposisi nilai dari sistem baru. Tahap ini biasanya sangat informal. Tahap
berikutnya membawa disiplin yang lebih besar untuk analisis.
Definisi
Analisis Kelayakan
Investigasi
Analisa sistem
Mem
bang
un
Desain sistem
Programming
pengujian
Penerapan
Operasi instalasi
Pemeliharaan
Analisis kelayakan Dalam rangka untuk memastikan bahwa sumber daya yang langka organisasi
yang dimanfaatkan terbaik, tim proyek harus berat meneliti proyek yang diusulkan sebelum
memberikan formal hijau. Secara khusus, tim harus mengevaluasi kelayakan teknis, operasional,
Analisa sistem Setelah keputusan telah dibuat bahwa sistem bernilai mengejar, tim proyek perlu
mengidentifikasi dan mengartikulasikan persyaratan sistem. Sistem analis dan para pemangku
kepentingan (yaitu, pengguna akhir, manajemen) mengambil tengah panggung pada saat ini. Jika
sistem ini tidak hanya mengotomatisasi tugas-tugas yang ada tetapi malah memungkinkan proses
bisnis didesain ulang, analis bisnis akan bergabung dengan tim.
Dalam implementasi sistem yang besar, adalah mustahil untuk melibatkan semua pengguna
pada tahap ini; bukan, subset dari populasi pengguna bergabung dengan tim, kadang-kadang penuh
waktu. Perhatikan bahwa sangat penting untuk memilih pengguna yang mewakili lebih luas
populasi yaitu, tim harus mencakup tidak hanya pengguna yang melakukan tertinggi atau paling
berpengalaman dengan teknologi (disebut superusers) tetapi juga berkinerja dan yang paling
penting , dissenting pengguna (orang-orang yang memang mungkin menolak daripada dukungan
sistem baru).
Aspek penting lain dari keterlibatan pengguna adalah bahwa hal itu tidak harus “berpakaian
jendela” atau “manajemen kesan.” analis Sistem harus benar-benar mencari dan masukan nilai
pemangku kepentingan dalam proses. Analis sistem adalah spesialis dalam fase ini, bukan
pengguna. Oleh karena itu adalah tugas sistem analis untuk memastikan permukaan produktif dan
komprehensif persyaratan.
Sebagai hasil dari tahap ini, tim proyek menghasilkan dokumen sistem persyaratan (Gambar
11.3). Dokumen ini apa masukan sistem akan menerima, apa output akan menghasilkan, pengguna
apa yang akan memiliki akses ke informasi apa, dan sebagainya. Dokumen biasanya meliputi layar
mock-up dan skenario (Gambar 11.4) Dan dikirim ke para pemangku kepentingan untuk diperiksa
dan disetujui.
Dalam aplikasi ketat dari metodologi SDLC, setelah stakeholder menyetujui dokumen,
persyaratan sistem yang “beku” dan biaya
perubahan masa depan, jika ada diminta, menjadi tanggung jawab para pemangku kepentingan.
Langkah ini diperlukan untuk meminimalkan dampak dari lingkup creep fenomena dimana
stakeholder menambah atau persyaratan perubahan selama fase membangun dari SDLC, sehingga
secara signifikan meningkatkan biaya dan jauh menunda pembangunan.
Membangun Tahap membangun dari SDLC adalah yang paling teknis, dan salah satu yang
kebanyakan orang gambar ketika mereka membayangkan bagaimana perangkat lunak ini
dirancang dan dikembangkan. Fase ini adalah domain utama dari pengembang: sistem arsitek dan
programmer. Tujuannya adalah untuk mengambil dokumen persyaratan sistem dan menghasilkan
kuat, mengamankan, dan aplikasi efisien.
Desain sistem Fase membangun dimulai dengan tahap desain sistem. Pengambilan
hasil dari fase definisi (yaitu, apa aplikasi harus melakukan), arsitek menciptakan struktur sistem
(yaitu, bagaimana aplikasi akan melakukan tugasnya). Pada tahap ini, mengidentifikasi tim apa
hardware yang akan digunakan, bahasa apa yang akan diadopsi, data apa struktur yang diperlukan,
dan sebagainya. Output dari tahap ini adalah satu set yang tepat dari dokumen yang programmer
gunakan untuk menulis kode.
pemrograman Ini adalah proses menerjemahkan desain software abstrak menjadi satu set perintah
atau instruksi yang dapat dieksekusi oleh perangkat keras. Jika aplikasi membutuhkan penciptaan
database baru, struktur mereka juga dikembangkan pada tahap ini (Gambar 11.5).
Sebuah elemen penting dari tahap pemrograman, tapi satu yang pengembang sering merasa
jijik, adalah dokumentasi. dokumentasi menyeluruh dan jelas sangat penting dalam program
perangkat lunak organisasi karena mereka besar, kompleks, dan diharapkan untuk terakhir untuk
beberapa tahun. Tanpa dokumentasi yang memadai, sistem tersebut menjadi tidak mungkin untuk
mendukung dan memelihara, biarkan peningkatan sendirian dan berkembang dari waktu ke waktu.
pengujian Sementara pengujian sistem adalah suatu proses yang programmer terus-menerus
terlibat dalam ketika mereka mengembangkan, diformalkan penilaian komponen dan kemudian
aplikasi lengkap merupakan tahap penting dalam SDLC. Sementara sebagian besar non-IT
personil jarang berpikir tentang pengujian, tahap ini dapat mengambil banyak waktu dan sumber
daya sebagai tahap pemrograman. Tahap pengujian diartikulasikan dalam pengujian alpha, yang
dilakukan oleh pengembang sendiri, dan pengujian beta, dilakukan dengan merilis versi beta untuk
satu set terbatas pengguna yang sebenarnya yang menggunakannya dan melaporkan setiap masalah
yang mereka mengidentifikasi.
Perhatikan bahwa tujuan dari tahap pengujian tidak untuk mengidentifikasi dan benar semua
kemungkinan bug yang mengganggu sistem, karena ini adalah tidak ekonomis dan jarang
dibutuhkan. Sebaliknya, tahap pengujian dirancang untuk menekankan sistem, untuk memastikan
bahwa itu dapat melakukan dalam keadaan produksi, dan untuk memperbaiki kesalahan yang
paling penting. Tujuannya adalah untuk melepaskan aplikasi ketika itu cukup baik, bukan ketika
itu adalah sempurna.
Gambar 11.5. desain database yang mendasari sistem hotel manajemen properti
Instalasi Selama tahap instalasi, sistem ini dimuat pada perangkat keras produksi dan database
akan diisi. Instalasi biasanya berlangsung selama periode lambat untuk organisasi dan, jika
mungkin, sementara sistem ini tidak diperlukan (misalnya, selama akhir pekan, di malam hari).
Jika sistem yang ada digantikan, perusahaan bermigrasi dari yang lama ke yang baru mengikuti
salah satu dari empat pendekatan (Gambar 11.6):
Gambar 11.6. migrasi pendekatan
• Paralel. Sistem lama dan baru dijalankan untuk waktu bersama-sama. Pendekatan ini
adalah yang paling konservatif, karena menawarkan asuransi terhadap kegagalan
aplikasi baru. Hal ini juga paling mahal karena membutuhkan redundansi yang
signifikan dari upaya. Dalam beberapa kasus, pendekatan ini adalah satu-satunya
pilihan (misalnya, sistem yang harus beroperasi 24/7/365).
• Langsung. Sistem lama tiba-tiba dihentikan, dan pemotongan perusahaan ke yang baru.
Ini adalah yang paling pendekatan radikal tapi satu yang kadang-kadang tidak dapat
dihindari (misalnya, sistem lama berhenti berfungsi).
• bertahap. Sistem baru semakin menggantikan fungsi dari yang lama. Pendekatan ini
paling cocok untuk aplikasi modular atau componentized yang dapat digulirkan secara
bertahap.
• Pilot. Nah cocok untuk operasi multi unit (misalnya, hotel, rantai pengecer),
pendekatan ini memungkinkan perusahaan untuk menjalankan sistem baru di salah
satu unit usaha atau di salah satu departemen perusahaan sebelum bergulir keluar
sepenuhnya.
Di luar aspek teknis dari tahap instalasi, ada dua proses penting yang terjadi saat ini: pelatihan
pengguna akhir dan manajemen perubahan. pelatihan pengguna akhir biasanya terjadi dalam
pengaturan formal, seperti ruang kelas atau laboratorium komputer seadanya. Perubahan
manajemen adalah proses smoothing transisi dari cara berbagai pemangku kepentingan
berinteraksi dengan sistem sebelumnya dan melakukan pekerjaan mereka untuk praktek kerja baru.
resistensi pengguna dan inersia adalah bahaya terbesar pada saat ini. Sampai-sampai para
pemangku kepentingan telah terlibat aktif dalam tahap awal SDLC dan desain sistem, fase ini akan
kurang traumatis, sehingga meminimalkan risiko penolakan.
Operasi Pada tahap ini, sistem ini dan berjalan, dan organisasi mulai menggunakannya. Tim
proyek dibubarkan dan sistem baru menjadi aset tetap perusahaan untuk dipertahankan dan
dikelola.
Pemeliharaan Setelah sistem di tempat dan dan berjalan, baik kesalahan yang telah lolos tahap
pengujian dan perangkat tambahan yang telah lolos tahap definisi persyaratan mulai muncul.
Pemeliharaan adalah proses pengumpulan informasi ini, memprioritaskan permintaan, dan
menerapkan kedua perbaikan dan peningkatan. Perhatikan bahwa sebagai komprehensif dan
dirancang dengan baik sebagai sistem baru mungkin, organisasi dalam evolusi yang berkelanjutan.
Akibatnya, dari waktu ke waktu itu adalah normal bagi kesenjangan muncul antara fungsi sistem
saat ini dan kebutuhan perusahaan. (Ingat ini waktu berikutnya Anda tergoda untuk bertanya, “Apa
yang mereka pikirkan ketika mereka merancang sistem ini ?!”)
Kesenjangan fungsi ditutup secara berkelanjutan dengan cara upgrade dan penambahan sampai
pemeliharaan seperti menjadi ekonomis
tidak layak dan manajemen membuat kasus untuk pengembangan sistem informasi baru. Untuk
alasan ini, beberapa penulis telah mulai menunjukkan bahwa tradisional sekuensial pendekatan
Keuntungan Pendekatan SDLC SDLC adalah metodologi yang sangat terstruktur yang
menyediakan pendekatan sistematis untuk mengurangi ketidakpastian dan risiko yang terkait
dengan sistem desain dan pengembangan proyek. Ini jelas mengidentifikasi peran dan harapan
bagi anggota tim proyek, dan menawarkan cetak biru untuk bagaimana individu harus berinteraksi.
Dengan menuntut pembenaran dan persyaratan definisi menyeluruh, itu sangat baik cocok untuk
proyek-proyek skala besar di mana perubahan yang terjadi selama pembangunan atau
implementasi bisa sangat mahal.
SDLC juga menawarkan kendaraan untuk komunikasi dan negosiasi antara tim proyek dan
banyak stakeholder proyek. Ia melakukannya dengan mengharuskan evaluasi dan persetujuan
kiriman untuk setiap fase, sehingga merangsang diskusi, memfasilitasi identifikasi prioritas, dan
permukaan tersembunyi trade-off.
keterbatasan Sementara metodologi SDLC telah berkembang dari pendekatan air terjun
tradisional menjadi proses yang lebih berulang di mana desainer dan pengembang diperbolehkan
beberapa evaluasi ulang dari tahap sebelumnya, SDLC tetap menjadi pendekatan yang sangat
terstruktur. Dengan demikian kritik menunjukkan bahwa itu menciptakan overhead besar dalam
hal waktu dan biaya dan tidak memungkinkan tim proyek untuk benar mengatasi perubahan yang
tak terelakkan yang terjadi selama kehidupan proyek yang kompleks.
prototyping
Menyadari keterbatasan yang melekat dalam metodologi SDLC, pendekatan prototyping berakar
pada gagasan bahwa tidak mungkin untuk secara jelas memperkirakan dan rencana rinci seperti
usaha yang kompleks seperti sistem informasi desain dan pengembangan proyek. Sebaliknya tim
ini lebih baik dilayani dengan tetap gesit dan iterasi cepat melalui beberapa desain untuk nol dalam
pada satu optimal.
Penerimaan tumbuh metodologi prototyping telah diaktifkan oleh
alat-alat yang mempercepat proses pembangunan, seperti bahasa pemrograman nonprocedural.
Alat-alat ini memungkinkan pengembang untuk secara cepat membuat kerja (atau sebagian
bekerja) model sistem yang diusulkan dan umpan balik mengumpulkan stakeholder tentang desain
sistem, fungsi, antarmuka pengguna, dan sebagainya.
Prototyping Life Cycle Salah satu aplikasi dari metodologi prototyping adalah dalam batas-batas
SDLC, sebagai cara untuk kebutuhan pengguna Menimbulkan dan mencari masukan ke dalam
desain antarmuka pengguna. Nilai dari pendekatan ini berasal dari fakta bahwa itu adalah mudah
bagi pengguna untuk bereaksi terhadap prototipe daripada bagi mereka untuk membayangkan dan
mengartikulasikan persyaratan dalam abstrak. Selain itu, dengan melibatkan pengguna dalam
pengembangan ujung depan aplikasi, tim desain dapat menumbuhkan dukungan mereka dan
meningkatkan peluang penerimaan sistem final.
Namun, prototyping dapat digunakan sebagai alternatif untuk SDLC untuk mengembangkan
sebuah sistem yang lengkap sesuai dengan langkah-langkah berikut:
Persyaratan Definisi Pada tahap ini tim pengembangan berusaha persyaratan dasar. Tingkat presisi
yang dibutuhkan jauh lebih sedikit daripada yang dibutuhkan dalam SDLC karena persyaratan
tidak dibekukan pada saat ini. Sebaliknya, pemahaman adalah bahwa umpan balik masa depan dan
modifikasi berat akan membentuk sistem.
Prototipe awal Berbekal persyaratan dasar, tim mengembangkan iterasi pertama dari sistem.
Perangkat lunak ini bisa menjadi hanya shell (yaitu, antarmuka pengguna nonfungsional), aplikasi
sebagian fungsional, atau “pertama-of-a-seri” prototipe yang berfungsi penuh.
Evaluasi Pada saat ini para pemangku kepentingan meninjau prototipe dan memberikan umpan
balik pada desain saat ini serta permintaan untuk perangkat tambahan dan fungsionalitas baru.
Penyelesaian Setelah stakeholder dan tim pengembangan puas dengan fungsionalitas dari sistem,
proses evaluasi / revisi berulang berhenti dan tim pengembangan memfinalisasi sistem. Pada tahap
ini, kode pengembang fitur penting yang pengguna biasanya tidak permintaan (misalnya,
keamanan, administrasi). Dokumentasi dan pengujian tindak, sebelum rilis resmi dari sistem.
perangkat lunak. Konsekuensinya adalah merajalela scope creep.13 Keterbatasan ini membuat
pendekatan prototyping tidak cocok untuk upaya pembangunan skala besar dan sistem yang
kompleks.
Pengembangan Agile
Sebuah generasi baru pengembangan perangkat lunak pendekatan telah diambil terus-baru ini,
sebagian karena meningkatnya popularitas prototyping. Pendekatan pengembangan perangkat
lunak secara kolektif diberi label sebagai metodologi pengembangan perangkat lunak tangkas dan
hari ini banyak diadopsi oleh organisasi.14 Meskipun proyek-proyek pembangunan masih
mengikuti air terjun didirikan (50%) dan model iteratif (25%) dan hanya menggunakan seperempat
berbunyi,16
Kami mengungkap cara yang lebih baik untuk mengembangkan perangkat lunak dengan
melakukan hal itu dan membantu orang lain melakukannya. Melalui karya ini kita telah
datang ke nilai:
Artinya, sementara ada nilai dalam item di sebelah kanan, kami nilai item di
sebelah kiri lebih.
Manifesto tangkas jelas mengidentifikasi prioritas dan karakteristik kunci dari metodologi
tangkas. Pertama dan terpenting adalah kemampuan beradaptasi dan kecepatan. metode Agile
tidak memanggil untuk jumlah besar perencanaan yang menjadi ciri khas metodologi tradisional.
pendukung Agile percaya bahwa perencanaan untuk semua persyaratan dan kontinjensi tidak
mungkin di semua tapi sepele perkembangan sistem. perencanaan yang signifikan akan sebenarnya
menjadi bumerang dan membatasi kemampuan tim pengembangan untuk menyesuaikan diri
dengan informasi baru yang tak terelakkan. Oleh karena itu pengembang Agile fokus pada
pengembangan aplikasi dengan kecepatan dan melepaskan sistem sering-biasanya dalam waktu
kurang dari sebulan. Ini adalah iterasi yang cepat ini pembangunan dan rilis yang akan muncul
persyaratan yang akurat dan cepat memungkinkan tim pengembangan untuk konvergen ke sistem
yang memenuhi harapan pelanggan.
Sebuah ciri khas kedua metodologi pengembangan tangkas adalah
kerja sama tim di kantor-kantor ruang terbuka yang memfasilitasi komunikasi. pendukung Agile
menganjurkan penggunaan tim lintas-fungsional kecil dengan perwakilan pelanggan dan harian
pertemuan tatap muka. Dalam rangka untuk mengatur pekerjaan dan mempertahankan jadwal
agresif yang mencirikan tangkas proyek, pengembang “chunk” pekerjaan ke dalam komponen
dikelola belum berdiri sendiri. Tim kemudian iterates melalui semua tahapan pembangunan-dari
persyaratan elisitasi melalui pengujian dan penerimaan pelanggan. Karakteristik yang menarik dari
metodologi tangkas terdiri dari pengaturan waktu tetap dan sumber daya untuk memberikan
fungsionalitas yang diharapkan.
Scrum, dimulai oleh Jeff Sutherland pada tahun 1993, adalah yang paling digunakan antara
metodologi tangkas karena kemampuannya untuk menangani kebutuhan pengguna berubah
dengan cepat. Scrum kemajuan pengembangan perangkat lunak melalui serangkaian iterasi disebut
sprint, yang berlangsung biasanya dua sampai empat minggu. Sprint umumnya dimulai dengan
tahap perencanaan singkat (dan untuk panjang sprint tim bertemu setiap hari-Scrum harian) dan
akhir dengan review dan retrospektif. Prinsip di balik sprint adalah bahwa pada akhir setiap lari,
perangkat lunak harus siap untuk pengiriman ke prinsip client-setidaknya dalam. Sementara
metodologi pengembangan tangkas masih relatif baru dan dalam fluks, mereka telah mendapatkan
penerimaan dalam komunitas pengembangan perangkat lunak dan sekarang diterapkan dalam
proyek-proyek dari berbagai kompleksitas.
Pengembangan outsourcing
program perangkat lunak kustom-dirancang semakin dikembangkan oleh rumah perangkat lunak
yang “mengisi” untuk sistem informasi perusahaan profesional. Pengaturan ini, biasanya disebut
outsourcing pengembangan perangkat lunak, sangat bervariasi, dengan beberapa perusahaan
hanya melakukan outsourcing pemrograman dan pengujian tahap, sementara yang lain resor untuk
penyedia eksternal untuk melihat mereka melalui seluruh siklus hidup pengembangan sistem.
Outsourcing proyek pengembangan perangkat lunak telah meningkat secara dramatis dalam
popularitas setelah adopsi Internet. program perangkat lunak, sebagai informasi klasik yang baik
(Bab 4), Dapat dirancang dan dikembangkan di mana saja di dunia. Sebagai akibatnya,
meningkatkan proporsi pengembangan perangkat lunak kustom untuk organisasi adalah
kode luar negeri. Pertimbangkan tim virtual pengembang sebagai contoh. proyek perangkat lunak
semakin diselesaikan oleh tim pengembangan yang bekerja sama tetapi tidak secara fisik terletak
di kantor yang sama. Sementara pertimbangan biaya mungkin datang ke pikiran sebagai alasan
utama untuk membangun tim virtual, penelitian yang dilakukan oleh Konsorsium Cutter
menunjukkan bahwa lebih dari 85% responden melihat kemampuan untuk kolam bakat yang
Maturity Model Integration (CMMI) sertifikasi,18 dan Anda, sebagai pembeli jasa mereka, harus
meminta informasi tersebut. CMMI Institute di Carnegie Mellon adalah yang bertanggung jawab
atasproses sertifikasi dan secara berkala merilis statistik agregat (Gambar 11.8).
Salah satu proposisi nilai pokok outsourcing pengembangan perangkat lunak kustom adalah
rasio biaya / kualitas unggul. Perusahaan di negara-negara dengan biaya hidup yang tinggi, seperti
Amerika Utara atau Eropa Barat, dapat outsourcing pengembangan ke negara-negara seperti India,
Irlandia, atau China, dengan kolam besar
insinyur perangkat lunak yang sangat terampil dan programer dan biaya yang lebih rendah dari
hidup (yaitu, upah yang lebih rendah). Outsourcing perkembangan ke daerah ini dari dunia
memungkinkan perusahaan untuk menerima produk-produk berkualitas unggul di sebagian kecil
dari biaya pengembangan internal (Gambar 11.9).
Analisa sistem Selama tahap analisis sistem, panitia seleksi berfokus pada memunculkan fungsi
khusus yang diperlukan dari sistem yang diusulkan. Seperti dengan SDLC, fase ini memerlukan
interaksi analis sistem dan stakeholder. Namun, tingkat presisi dan detail yang dicari oleh panitia
seleksi kurang dari yang dibutuhkan untuk pengembangan kustom. Tujuan di sini adalah memiliki
cukup pemahaman tentang persyaratan sistem untuk merumuskan kriteria evaluasi.
Merumuskan Kriteria Evaluasi Sistem seleksi adalah upaya terstruktur untuk mengevaluasi
semua solusi perangkat lunak yang tersedia secara komersial yang dapat mengaktifkan sistem
informasi yang diusulkan. Untuk melakukannya, perlu untuk mengembangkan satu set metrik yang
dapat diterapkan secara seragam untuk semua paket diselidiki. Kriteria juga harus setuju untuk
komunikasi untuk vendor perangkat lunak dengan cara permintaan proposal (RFP) proses.
Pendekatan yang umum adalah dengan menggunakan dokumen persyaratan sistem untuk
mengidentifikasi fitur yang aplikasi yang sesuai harus memiliki dan kelompok mereka ke dalam
tiga kategori:
Definisi
analisis penyelidikan
analisis Kelayakan
Sistem
Merumuskan kriteria evaluasi
daftar pendek kompilasi dari vendor
Kompilasi dan mendistribusikan request for proposal (RFP)
Mengevaluasi alternatif
bernegosiasi kontrak
Membangun
desain sistem (kustomisasi) Programming
(kustomisasi)
pengujian
Penerapan
Operasi instalasi
Pemeliharaan
• fitur penting. Mereka kemampuan yang sistem harus memiliki. Sistem yang
kehilangan salah satu dari fitur ini secara otomatis dibuang.
• fitur nilai tambah. Mereka kemampuan itu, sementara tidak penting, menawarkan
keuntungan yang signifikan untuk mana perusahaan akan bersedia membayar premi.
• fitur yang tidak penting. Mereka kemampuan yang “baik untuk memiliki” tapi
menghasilkan keuntungan yang nyata kecil untuk mana perusahaan tidak bersedia
untuk membayar premi.
Kompilasi Daftar Pendek Vendor Berbekal kriteria evaluasi, panitia seleksi mencari informasi
tentang solusi yang ada. Website, pers perdagangan, penjual brosur, dan pameran perdagangan
adalah sumber yang layak informasi. Informasi yang dikumpulkan digunakan untuk
mengidentifikasi daftar singkat awal vendor.
Tahap ini penting karena dua alasan. Pertama, menciptakan RFP yang menghasilkan respon
berkualitas tinggi yang ditargetkan, dan kemudian mengevaluasi tanggapan tersebut, memakan
waktu. Kedua, produk yang tidak memenuhi persyaratan yang diperlukan dapat
diidentifikasi cukup cepat, dan vendor akan menghargai tidak diminta untuk merespon RFP bahwa
mereka tidak memiliki kesempatan untuk memenuhi.
Kompilasi dan Mendistribusikan RFP RFP adalah dokumen komunikasi formal yang digunakan
untuk memperoleh substansial, informasi rinci dari vendor terpilih. Sebagian besar organisasi
memiliki template untuk dokumen tersebut. RFP harus menjelaskan apa panitia seleksi telah
diidentifikasi sebagai persyaratan sistem kritis, lingkungan di mana sistem akan digunakan, dan
setiap metrik kinerja yang diperlukan dan harapan.
Setelah distribusi ke vendor terpilih, mereka yang tertarik akan menanggapi RFP. Tim seleksi
harus meminta vendor untuk mematuhi ke template, membuat cross-perbandingan dari aplikasi
yang sederhana, dan harus meminta informasi harga. Vendor juga harus memberikan informasi
harga tersebut sesuai dengan template perusahaan, memastikan bahwa mekanisme harga untuk
aplikasi, kustomisasi, dan pemeliharaan dan upgrade yang jelas dan dapat dibandingkan antar
vendor. Akhirnya, panitia seleksi harus menentukan batas waktu dimana vendor harus merespon
untuk dipertimbangkan.
evaluasi Alternatif Setelah semua vendor tertarik telah merespon RFP, solusi bersaing dievaluasi
menggunakan kriteria yang dikembangkan sebelumnya. Panitia seleksi mengkompilasi daftar
vendor atas dan mencari informasi lebih lanjut diperlukan untuk membuat keputusan akhir. Ini
termasuk di tempat demonstrasi, evaluasi situs referensi, dan seperti. Hasil dari tahap ini dalam
proses seleksi adalah daftar peringkat-memerintahkan calon diterima.
bernegosiasi kontrak Negosiasi dapat relatif cepat dan sederhana, atau mereka dapat menjadi
proses yang sangat terlibat yang membutuhkan masukan dari para profesional dan penasihat
hukum. Tujuan dari panitia seleksi adalah untuk menyusun dan menandatangani kontrak yang
menyediakan perusahaan dengan solusi yang dibutuhkan dan insulates dari risiko di masa
mendatang. elemen umum dari negosiasi adalah komponen dan besarnya biaya (misalnya,
instalasi, pelatihan, kustomisasi, pemeliharaan, upgrade), kewajiban akhirnya dan perjanjian
tingkat layanan, kontrol atas kekayaan intelektual, dan sejauh mana modifikasi diperbolehkan.
Membangun
Tahap membangun di cermin proses seleksi sistem yang dari SDLC tetapi jauh lebih sempit dalam
lingkup. Ketika program perangkat lunak yang akan diinstal tanpa konfigurasi atau kustomisasi,
seperti halnya dengan aplikasi sederhana, perusahaan dapat bergerak langsung ke pengujian formal
dan implementasi. Namun, seperti yang telah disebutkan di atas, hal ini menjadi semakin umum
untuk organisasi yang membeli aplikasi off-the-rak untuk mengkonfigurasi dan menyesuaikan
Penerapan
Fase implementasi juga sangat mirip dengan yang dijelaskan sebelumnya mengenai SDLC.
Menariknya, bahkan dalam kelas yang sama dari aplikasi perangkat lunak (misalnya, ERP), suatu
perusahaan dapat memilih pendekatan yang berbeda untuk bergerak dari yang lama ke sistem baru.
Catatan juga bahwa tingkat perubahan proses dan pelatihan yang dibutuhkan untuk mendapatkan
aplikasi buy-in dari pengguna biasanya lebih besar ketika melaksanakan off-the-rak. Hal ini karena
program dikemas tidak dirancang dengan kekhasan organisasi Anda dalam pikiran. Sebaliknya
rumah software membangun program untuk menarik pasar seluas mungkin.
Meminta masukan pemangku kepentingan selama seleksi dan evaluasi solusi bersaing adalah
salah satu cara untuk mendaftarkan mereka dalam proses dan mengurangi risiko penolakan.
Namun, Anda harus tetap berencana untuk menginvestasikan sumber daya yang cukup selama fase
implementasi untuk mengatur aplikasi, melatih karyawan, dan terlibat dalam manajemen
perubahan-terutama ketika
aplikasi yang lebih besar dalam lingkup dan memaksa perubahan dalam praktek kerja tradisional.
DevOps
Paradigma tangkas telah disangkal dampak praktek-praktek pembangunan dan telah baru-baru ini
memperluas pengaruhnya ke IT operasi juga. Secara historis, telah ada pembagian antara
pengembang, orang-orang yang bertugas menciptakan fungsi baru sistem, dan operasi, orang-
orang yang bertanggung jawab atas penggelaran dan menjalankan sistem setelah selesai. Anda
dapat melihat orang-divisi di SDLC dan pemisahan proses pengembangan dan implementasi.
Dalam kasus stereotip terburuk, operasi (Ops) anggota tim melihat pengembang sebagai terputus
dari dunia nyata dari lingkungan produksi. Individu tidak peduli dengan isu-isu pragmatis operasi
bisnis ingin setiap fitur baru yang mereka dirancang dan dibangun untuk segera dikerahkan.
Pengembang (Pengembang), di sisi lain, melihat tim Ops sebagai sekelompok lambat, individu
risiko yang merugikan diatur dalam cara mereka dan enggan untuk perubahan. Untuk mengurangi
memutuskan antara pembangunan dan operasi, pendekatan baru, umumnya disebut DevOps,
adalah memegang.
DevOps, pengembangan dan operasi, sebagai istilah menyiratkan, adalah pendekatan terpadu
terinspirasi oleh gerakan lincah. DevOps dirancang untuk struktur kerjasama yang sedang
berlangsung pengembang dan operasi tim dalam sebuah organisasi. Tujuannya adalah untuk
membangun rasa saling percaya dan pengertian. Lebih kongkrit, yang DevOps pendekatan
berusaha untuk mengurangi jumlah ulang perangkat lunak dan komunikasi overhead yang berasal
dari kurangnya koordinasi antara kedua kelompok (lihattabel 11.3). Misalnya, penundaan dalam
penyebaran akan mempengaruhi siklus pengembangan sebagai umpan balik dari pelanggan
tertunda dan downtime yang tidak produktif disuntikkan dalam proses pembangunan. Mengingat
DevOps memproses secara keseluruhan, overhead berkurang dengan mengotomatisasi dan
merampingkan proses penyebaran.
DevOps teknik memanfaatkan berbagai alat penyebaran cepat untuk mendukung integrasi
berkesinambungan, penyebaran, rilis, dan kegiatan operasi. Karena DevOps adalah seperangkat
prinsip dan praktek, alat khusus bervariasi antara organisasi, tim, dan bahkan rilis. Tim
pengembangan mungkin memutuskan untuk menggunakan Eclipse, sebuah lingkungan
pengembangan terintegrasi (IDE), untuk menulis dan debug kode. Eclipse kemudian dapat
dikonfigurasi untuk bekerja dengan GitHub, yang
memimpin sumber online kode repositori, untuk mempertahankan sistem yang konsisten dan
terpusat untuk melacak dan rilis perangkat lunak kontrol. Jenkins, alat otomatisasi, kemudian bisa
dikonfigurasi untuk secara rutin membangun dan memulai lingkungan virtual di Amazon Elastic
Cloud sekali kode baru dirilis. Akhirnya, nagios dapat digunakan untuk memantau penggunaan
aplikasi dan infrastruktur TI dan memberikan umpan balik langsung dan berharga tentang
bagaimana ini melakukan aplikasi. Meskipun tidak penting bagi Anda untuk mengingat alat
khusus, sangat penting bagi Anda untuk menghargai lingkungan kerja yang berbeda instrumen ini
membuat. Dalam pelaksanaan yang ketat dari SDLC, penyebaran bahkan tidak dapat direncanakan
sampai pengembang menyelesaikan tahap membangun dan secara resmi menyerahkan tanggung
jawab kepada tim operasi. Sebaliknya, di bawah DevOps paradigma,
mengatakan, “Jika tangkas adalah pembuka, pengiriman terus menerus adalah headliner itu.”20
Ini adalah DevOps mendekati, memanfaatkan alat-alat baru untuk penyebaran perangkat lunak
yang cepat, yang memungkinkan ini “pengiriman terus menerus.” Pertimbangkan Duetto, startup
manajemen pendapatan kita bahas di
Bab 1. Duetto membanggakan diri pada merilis perangkat lunak untuk klien dua sampai tiga kali
per minggu: “Teknisi kami, dalam kemitraan dengan tim produk, mempertahankan kecepatan iri
dua sampai tiga rilis per minggu kaya fitur dan stabil kode, dan pelanggan kami merasakan
perbedaan .”21
• redistribusi Gratis. Perangkat lunak ini dapat secara bebas diberikan atau dijual.
• kode sumber yang tersedia. Kode sumber diterbitkan dan bebas
diperoleh.
• karya berasal. Lisensi dapat memodifikasi perangkat lunak dan mendistribusikan
bawah persyaratan lisensi yang sama seperti aslinya.
• Tidak ada diskriminasi. Lisensi ini tersedia untuk setiap lembaga, termasuk organisasi-
organisasi nirlaba dan pengguna komersial.
• teknologi netralitas. Lisensi dan semua ketentuannya harus bebas dari pembatasan
terkait dengan penggunaan teknologi atau ketik antarmuka.
Analisis open source lisensi karakteristik menunjukkan bahwa gerakan open source
mendorong, bukan menentang, aplikasi komersial dan redistribusi komersial. keramahan ini
menuju aplikasi bisnis telah menjadi katalis untuk penerimaan luas dan pertumbuhan software
open source sebagai alternatif untuk program proprietary. Memang, banyak organisasi
mempertimbangkan open source alternatif untuk keputusan pengembangan perangkat lunak make-
atau-beli tradisional yang dibahas di atas. Orang lain melihat open source sebagai cara untuk
mendorong tumbuhnya inovasi dan pengembangan. Sebagai contoh, Google telah merilis lebih
dari 2.000 aplikasi open source dan baru-baru ini terbuka TensorFlow bersumber, mesin
perpustakaan belajar.
Sementara perangkat lunak open source adalah mudah didownload dan digunakan kembali,
sekarang Anda menyadari bahwa mendapatkan perangkat lunak ini hanya sebagian kecil dalam
pengembangan sistem dan implementasi proses yang diperlukan untuk berhasil menyebarkan
sistem informasi organisasi bekerja. Dalam rangka untuk membantu perusahaan-perusahaan
modern yang memanfaatkan software open source, dan untuk menangkap peluang bisnis yang
besar yang diciptakan oleh gerakan open source, sejumlah organisasi telah muncul. Tiga model
berikut saat ini tersedia.25
Sponsored Open Source Sejumlah tidak-untuk-profit yayasan memberikan dukungan dan
koordinasi upaya open source. Sebagai contoh, Apache Software Foundation koordinat perangkat
tambahan untuk web server Apache, dan Mozilla Foundation mendukung pengembangan Firefox
web browser dan banyak produk lainnya (Gambar 11.11).
Beberapa perusahaan juga mensponsori proyek open source mereka sendiri, biasanya
“pembukaan” produk perangkat lunak mereka sendiri dengan merilis kode sumber. Contoh
pertama di daerah ini ditawarkan oleh Netscape Corp., yang merilis kode sumber dari web browser
pada tahun 1998. Baru-baru ini, Sun Microsystems, dibeli oleh Oracle pada tahun 2008, merilis
kode sumber OpenOffice suite dan pada bulan November 2006 bahkan merilis kode sumber dari
bahasa pemrograman Java nya. Google Rilis TensorFlow pada bulan November 2015 adalah
contoh yang baru-baru ini.
Layanan Open Source Model layanan open source muncul di akhir 1990-an dengan
meningkatnya perhatian yang mengumpulkan dengan sistem operasi Linux. Sementara lisensi
untuk Linux harus bebas, sejumlah perusahaan, yang dipimpin oleh pelopor Red Hat Inc, mulai
pengisian untuk instalasi, dukungan, pelatihan, dan semua layanan tambahan lainnya biasanya
terkait dengan penjualan perangkat lunak. Hari ini sejumlah upstarts dan perusahaan yang
didirikan bersaing di pasar ini, termasuk nama-nama besar seperti IBM, Hewlett-Packard (HP),
dan Unisys. penyimpanan mereka mendukung seluruh stabil aplikasi open source seperti Linux
(sistem operasi), Apache (web server), MySQL (database sistem manajemen), dan aplikasi data-
besar berorientasi seperti MongoDB (database NoSQL), Hadoop (didistribusikan dan pengolahan
kerangka ), dan Spark (kerangka komputasi cluster).
Gambar 11.11. Situs web Mozilla Foundation
Profesional Open Source Evolusi terbaru dalam model open source adalah open source
profesional. Label ini mengacu pada organisasi itu, sementara menjadi bagian dari gerakan open
source dan berlangganan ke open source lisensi hal, mempertahankan kontrol yang cukup ketat
atas program perangkat lunak yang mereka jual. Sebagai contoh, sebuah organisasi open source
profesional akan memiliki inti set sendiri programmer dan pengembang yang memberikan arahan
untuk proyek tersebut. Pada saat yang sama, meskipun, kelompok akan memanfaatkan komunitas
yang lebih besar dari programmer open source, penguji, dan pengadopsi. Organisasi-organisasi ini
bergantung pada pengetahuan dan pemahaman dari kode sumber inti untuk memberikan layanan
yang lebih baik ketika klien mengadopsi perangkat lunak mereka.
Keuntungan Keuntungan utama dari open source dipuji oleh para pendukungnya adalah fungsi
dari kemampuan proyek open source untuk memanfaatkan komunitas besar pengembang,
programer, penguji, dan pelanggan. Keuntungan ini antara lain sebagai berikut:
• kesegaran. Para pendukung perangkat lunak klaim open source yang jatuh tempo
proyek (misalnya, Linux) lebih kuat, lebih dapat diandalkan, dan kualitas umumnya
lebih tinggi dari aplikasi proprietary sebanding (misalnya, Microsoft Windows).
• Kreativitas. Perangkat lunak open source memanfaatkan kreativitas ribuan
pengembang di seluruh dunia. Dengan demikian, itu lebih mungkin untuk
menghasilkan solusi terobosan baru (misalnya, Firefox tab yang sedang berada,
sekarang standar di kelas ini aplikasi) daripada produk tradisional yang dibuat oleh
komunitas kecil dalam satu software house. Banyak tepi dan pasar yang inovatif
(misalnya, data besar, pembelajaran mesin, awan) memang berdasarkan
perkembangan open source.
• Terbatas lock-in. perangkat lunak open source bukan tanpa beralih biaya, tetapi
pendukung mengklaim bahwa biaya tersebut jauh lebih rendah daripada yang terkait
dengan perangkat lunak proprietary. Sebagai contoh, pelanggan perangkat lunak open
source dapat membuat modifikasi sendiri ke kode sumber daripada harus bergantung
pada vendor perangkat lunak untuk melakukannya.
• lisensi Sederhana. Karena struktur lisensi open source, pelanggan tidak perlu khawatir
tentang kendala hukum yang rumit (misalnya, jumlah pengguna bersamaan). Mereka
hanya menginstal banyak salinan dari program yang mereka butuhkan.
• Lisensi gratis. Meskipun tidak dianggap sebagai salah satu manfaat utama open source
oleh gerakan open source, biaya total kepemilikan masih merupakan faktor penting
untuk perusahaan-perusahaan yang mengadopsi open source
aplikasi. Karena open source umumnya dapat lisensi gratis, biaya lebih rendah
daripada yang terkait dengan aplikasi proprietary.
kekurangan Software ini tidak berarti sederhana (atau murah) untuk menginstal dan
mengoperasikan, dan perangkat lunak open source tidak terkecuali. Jadi skeptis merespon dengan
menaikkan kekhawatiran berikut:
• biaya tak terduga. Skeptis ingin mengatakan bahwa perangkat lunak bebas adalah
seperti gratis anjing-ya, Anda mendapatkannya untuk apa-apa, tapi kemudian Anda
akan menemukan banyak (sering tidak direncanakan) biaya sepanjang jalan. studi
terbaru menunjukkan bahwa sementara di 80% kasus, perangkat lunak open source
ini digunakan untuk mengurangi biaya, penghematan dapat dibuktikan hanya 50%
dari mereka.26 Dengan demikian Anda perlu hati-hati mengevaluasi instalasi open
source berdasarkan total biaya kepemilikan (lihat Bab 10).
• Dukungan bervariasi. Tergantung pada produk dan di mana perusahaan Anda
memperolehnya, dukungan dapat berkisar dari berkualitas tinggi untuk tidak ada,
bahkan dalam kaitannya dengan jatuh tempo-dan luas adopsi-perangkat lunak.
• Keamanan. Skeptis mengklaim bahwa penerbitan kode sumber memberikan
keuntungan bagi mereka yang ingin istirahat keamanan. Para pendukung sumber
respon terbuka yang komunitas besar pengembang akan mengidentifikasi dan
menutup lebih kelemahan dari tim kecil pengembang perusahaan.
• Kesesuaian. Standardisasi produk menggunakan satu atau kompatibilitas beberapa
vendor menyederhanakan dan integrasi. Tidak ada jaminan bahwa solusi open source
kompatibel dengan satu sama lain dan / atau dengan perangkat lunak proprietary.
• Lanskap hukum. Perangkat lunak open source mensyaratkan bahwa tidak ada bagian
dari kode dilindungi oleh hak cipta. tantangan pengadilan terakhir telah mengangkat
momok bahwa tidak ada cara untuk memastikan bahwa kode hak cipta tidak akan
membuatnya menjadi solusi open source, sehingga membuka pelanggan untuk
kewajiban. Sebagai tanggapan, beberapa perusahaan yang mendukung perangkat
lunak open source (misalnya, JBoss, HP, Red Hat) telah mengadopsi klausul ganti
rugi dalam perjanjian lisensi mereka.
Singkatnya, keputusan apakah untuk pergi dengan open source dan dengan apa
produk tergantung pada karakteristik organisasi dan jatuh tempo dari program perangkat lunak.
Beberapa produk, seperti sistem operasi Linux, sudah satu dekade sehingga kuat lalu bahwa pada
awal tahun 2005 MIT Media Lab merasa nyaman menasihati pemerintah Brasil untuk menghindari
produk Microsoft untuk perangkat lunak open source, berpendapat bahwa “perangkat lunak bebas
jauh lebih baik pada dimensi biaya, tenaga, dan kualitas.”27 Produk lain memerlukan komitmen
yang lebih kuat dalam hal dukungan dan investasi. Sangat penting bahwa organisasi mengadopsi
produk tersebut memiliki keahlian dan sumber daya untuk menerapkan dan memelihara mereka.
modern28 harus dikelola secara hati-hati. Bagi Anda sebagai manajer, memahami manfaat dan
keterbatasan pengembangan pengguna akhir adalah sebuah awal.
Manfaat Pengembangan End-User
Manfaat utama dari pengembangan pengguna akhir berasal dari pemberdayaan pengguna
dan fakta bahwa beberapa beban pada departemen sistem informasi biasanya terlalu banyak bekerja
diangkat. Manfaat antara lain sebagai berikut:
• Peningkatan kecepatan pembangunan. Komunitas pengguna biasanya harus
mengarahkan permintaan untuk sistem baru, dan perbaikan yang saat ini, dengan
fungsi IS. Pada gilirannya, fungsi IS harus memprioritaskan penyebaran sumber daya
yang langka. Akibatnya, proyek-proyek yang pengguna akhir dapat menyelesaikan
secara independen akan selesai lebih cepat berdasarkan tidak masuk antrian.
• kepuasan pengguna akhir. Salah satu masalah utama dengan sistem baru adalah
ketidakpuasan pengguna atau penolakan langsung. Ketika pengguna membuat
aplikasi mereka sendiri, mereka lebih mungkin puas dengan hasilnya; mereka baik
telah menciptakan fungsi yang mereka inginkan atau telah sendiri memutuskan apa
fitur untuk melupakan.
• Mengurangi tekanan pada fungsi IS. pengembangan pengguna akhir dapat membatasi
jumlah permintaan IS fungsi menerima, memungkinkan mereka untuk lebih fokus
pada proyek-proyek yang, karena ruang lingkup dan kompleksitas mereka, benar-
benar membutuhkan perhatian mereka.
Risiko Pengembangan End-User
Sayangnya, pengembangan pengguna akhir hadiah sejumlah risiko yang sulit-to mengelola yang
membatasi nilainya bagi organisasi: