2010-05-06

System Development

1. Pendahuluan


Sistem yang baru dalam perusahaan diciptakan karena knowledge worker menginginkan sebuah sistem yang dapat membantu pekerjaan mereka. Contohnya :

a. Sebuah manajer pemasaran menginginkan sebuah sistem untuk menghasilkan produk informasi dan dapat melacak informasi penjualan pelanggan (aktivitas CRM).

b. Manajer HRD mengingkan sebuah sistem yang dapat melacak hari liburan karyawan dan hari izin sakit karyawan.

Hampir semua posisi dalam sebuah perusahaan saat ini membutuhkan karyawan yang dapat bekerja dengan sistem informasi karena sistem informasi adalah satu dari bagian yang terpenting dalam bisnis perusahaan. Kenyataannya, sistem informasi memberikan dukungan struktur untuk memenuhi strategi dan tujuan perusahaan.


2. Insourcing dan Siklus Hidup Pengembangan Sistem (SDLC)


System Development Life Cycle adalah pendekatan terstruktur tahap demi tahap untuk mengembangkan sistem informasi. Secara harfiah, ada ratusan aktivitas yang berbeda berhubungan dengan setiap fase dalam SDLC. Aktivitas - aktivitas tersebut meliputi memperkirakan budget, mengumpulkan business requirement, mendesain model, dan membuat dokumentasi user yang detil. Aktivitas knowledge worker yang dilakukan selama proyek pengembangan sistem akan bervariasi tergantung pada jenis sistem yang dibangun dan peralatan yang digunakan untuk membangun sistem.

Ada tujuh tahapan dalam SDLC yaitu :

No.

Fase SDLC

Aktivitas

1

Perencanaan

Mendefinisikan sistem yang dikembangkan



Melakukan setting terhadap scope proyek



Mengembangkan perencanaan proyek, termasuk tugas - tugas, sumber daya, dan perencanaan waktu

2

Analisis

Mengumpulkan persyaratan bisnis untuk sistem

3

Desain

Mendesain arsitektur teknis yang dibutuhkan untuk mendukung sistem



Mendesain model sistem

4

Pengembangan

Membangun arsitektur teknikal



Membangun database dan program

5

Testing

Menuliskan kondisi - kondisi ketika dilakukan testing



Melakukan testing sistem

6

Implementasi

Menuliskan dokumentasi user yang detil



Menyediakan training untuk pengguna sistem

7

Maintenance

Membangun sebuah help desk untuk mendukung pengguna sistem



Menyediakan sebuah lingkungan yang mendukung perubahan sistem


Adapun tiga pilihan utama siapa yang akan membangun sistem dalam perusahaan antara lain :

a. Insourcing

Memilih spesialis IT dalam organisasi untuk mengembangkan sistem.


b. Selfsourcing (Knowledge worker development atau end-user development)

Pengembangan dan dukungan sistem IT yang dilakukan oleh knowledge worker dengan sedikit bantuan atau tidak sama sekali mendapat bantuan dari spesialis IT. Selfsourcing lebih banyak digunakan dalam kebanyakan perusahaan dan menjadi bagian dari konsep keseluruhan dari pengembangan knowledge worker atau end-user computing.


c. Outsourcing

Mendelegasikan pekerjaan yang spesifik kepada pihak ketiga dalam jangka waktu yang telah ditentukan, dengan biaya yang telah ditentukan, dan pada tingkat layanan yang telah ditentukan juga.


2.1 Fase 1 : Perencanaan

Tahapan perencanaan dalam SDLC mencakup menetapkan perencanaan dalam pengembangan sistem informasi. Adapun tiga aktivitas utama yang dilakukan dalam tahapan perencanaan antara lain :

a. Mendefinisikan sistem yang dikembangkan

- Mengidentifikasikan dan memilih sistem mana yang akan dikembangkan.

- Menetapkan sistem mana yang dibutuhkan untuk mendukung tujuan strategis perusahaan.

- Critical Success Factor (CSF) adalah faktor kritikal dalam suksesnya perusahaan. Perusahaan melacak semua sistem yang diajukan dan memprioritaskan berdasarkan dampaknya terhadap bisnis atau CSF untuk menentukan sistem mana yang akan dibangun.


b. Melakukan setting terhadap scope proyek

- Mendefinisikan scope proyek dan membuat sebuah dokumen scope proyek ketika pengembangan sistem.

- Scope proyek mendefinisikan persyaratan sistem tingkat tinggi. Scope sering dikaitkan pada pandangan 10.000 kaki dari sistem atau definisi dasar dari sistem. Dokumen scope proyek adalah sebuah definisi tertulis dari scope proyek dan biasanya tidak lebih dari satu paragraf.


c. Mengembangkan perencanaan proyek

- Mengembangkan perencanaan proyek yang detil dalam pengembangan sistem.

- Perencanaan proyek mendefinisikan pertanyaan bagaimana, kapan, dan siapa dalam pengembangan sistem, termasuk mendefinisikan segala aktivitas yang harus dilakukan, individual atau sumber daya yang akan melakukan aktivitas tersebut, serta waktu yang dibutuhkan untuk melakukan setiap aktivitas

- Perencanaan proyek adalah usaha untuk memastikan ketepatan waktu dalam penyelesaian dan kesuksesan sistem informasi.


Peran Dalam Perencanaan

Satu dari aktivitas yang penting yang dikerjakan oleh knowledge worker selama tahapan perencanaan adalah mendefinisikan sistem mana yang akan dikembangkan. Pengembangan sistem berfokus terhadap penyelesaian suatu masalah atau mengambil keuntungan dalam setiap kesempatan. Sistem baru akan sukses hanya jika sistem tersebut dapat menyelesaikan problem atau mengambil keuntungan dari opportunity yang tepat.

Mengembangkan perencanaan proyek adalah kegiatan lain yang kritis di mana kita akan terlibat secara langsung. Manajer proyek adalah seorang pakar dalam perencanaan dan manajemen proyek, mendefinisikan dan mengembangkan perencanaan proyek, dan melacak perencanaan untuk memastikan milestone utama dari proyek sudah diselesaikan tepat waktu. Kita harus membantu manajer proyek untuk mendefinisikan aktivitas dari setiap fase dalam SDLC. Manajer proyek adalah seorang pakar dalam manajemen proyek dan kita adalah seorang pakar dalam operasi bisnis. Secara bersama – sama akan mengembangkan perencanaan proyek secara detil yang memenuhi kebutuhan setiap orang.


Kunci Menuju Kesuksesan – Mengatur perencanaan Proyek

Monitoring secara terus – menerus dan mengatur perencanaan proyek adalah kunci untuk kesuksesan pengembangan sistem. Perencanaan proyek adalah map yang harus kita ikuti selama pengembangan sistem. Ada banyak alasan mengapa manajer proyek harus secara terus menerus melakukan review dan merevise perencanaan proyek termasuk hari libur karyawan dan izin sakit karyawan, menambah atau membuang aktivitas, dan merubah kerangka waktu. Ketika manajer harus secara terus menerus mengupdate perencanaan proyek, hal ini dianggap sebuah dokumen dan harus diupdate setiap harinya.

Monitoring milestone proyek dengan hati – hati adalah cara yang baik untuk memastikan apakah proyek menuju kesuksesan. Milestone proyek menunjukkan tanggal di mana aktivitas tertentu harus dilakukan. Contohnya, menyelesaikan fase perencanaan adalah sebuah milestone proyek. Jika semua milestone proyek selesai tepat waktu, ini adalah indikasi yang baik bahwa proyek sesuai dengan jadwal dan akan mencapai kesuksesan. Ketika mengatur perencanaan proyek, pastikan untuk melihat scope creep dan feature creep. Scope creep terjadi ketika scope proyek meningkat. Sedangkan feature creep terjadi ketika developer menambahkan fitur tambahan yang bukan bagian dari persyaratan initial. Memonitor scope creep dan feature creep dengan dekat akan membantu memastikan kesuksesan proyek.



2.2 Fase 2 : Analisis


Fase analisis dari siklus hidup sistem pengembangan meliputi end user dan spesialis IT , bekerja bersama untuk berkumpul,mengerti dan mendokumentasikan persyaratan bisnis untuk sistem.

Mengumpulkan persyaratan bisnis – Persyaratan bisnis adalah rumusan set dari permintaan knowledge worker dimana sistem harus bertemu agar menjadi berhasil. Mengumpulkan persyaratan bisnis sama dengan mempertunjukkan sebuah investigasi. Anda harus berbicara kepada setiap orang yang mempunyai klaim dalam menggunakan sistem baru untuk menemukan apa saja yang diperlukan.

Selama sesi Joint Application Development (JFD),pekerja dan spesialis IT bertemu untuk menentukan dan mereview persyaratan bisnis untuk sistem.

Sekali anda menentukan semua persyaratan bisnis,anda memprioritaskan mereka dalam hal kepentingan bisnis dan menempatkan mereka pada dokumen komprehensif formal,requirement definition document.

Knowledge worker menerima requirement definition document untuk pengunduran diri mereka. Pengunduran diri adalah tanda actual knowledge worker yang menunjukkan mereka menerima semua persyaratan bisnis.


Peran Dalam Analisis

Peranan penting yang akan anda mainkan selama fase analisis adalah mempertunjukkan perumusan review dari masing-masing persyaratan bisnis dan menerima analisa dengan mengundurkan diri dalam persyaratan bisnis.

Satu dari alsan paling umum mengapa usaha pengembangan bisnis gagal adalah karena persyaratan bisnis hilang atau secara tidak tepat berkumpul selama fase analisis.


Kunci untuk Sukses – Menemukan Awal Kesalahan

Menemukan kesalahan selama nanalisa adalah semudah merubah dokumen tulisan. Tetapi menemukan kesalahan ini selama fase berikutnya membutuhkan pengembang untuk membangun kembali sistem agar user dapat mengubah password mereka.


2.3 Fase 3 : Desain


Tujuan utama fase desain dari siklus hidup sistem pengembangan adalah untuk memebangun sebuah teknikal blueprint dari bagaimana keinginan sistem akan bekerja. Anda mengambil pembuatan persyaratan bisnis selama fase analisis dan menentukan pendukung teknik arsitektur pada fase desain.

Berikut adalah aktivitas utama yang akan anda tunjukkan selama fase desain :

1. Desain Teknik Arsitektur

Teknik arsitektur menentukan hardware,software dan peralatan telekomunikasi yang diperlukan untuk menjalankan sistem. Kebanyakan sistem berjalan pada jaringan komputer dengan masing-masing pekerja mempunyai kantor dan software aplikasi yang bekerja pada server. Persyaratan telekomunikasi mengelilingi akses ke internet dan kemampuan bagi end user untuk menyambungkan dengan jarak jauh kepada server.

2. Desain Model Sistem

Modeling adalah aktifitas penggambaran representasi grafis dari sebuah desain. Graphical User Interface (GUI) adalah interface kepada suatu sistem informasi. GUI Screen Design adalah kemampuan untuk merancang layar sistem informasi untuk keseluruhan sistem. Anda harus memutuskan banyak hal saat merancang sebuah GUI.

Anda mendasari keputusan anda pada bagaimana dan dimana untuk menunjukkan item menu pada apa saja yang paling mudah digunakan oleh knowledge worker.

Peran Selama Desain

Selama desain,peranan anda berkurang seperti seorang ahli proses bisnis dan meningkat seperti seorang analis kualitas control. Spesialis IT akan mengembangkan beberapa solusi teknikal alternatif. Itu tugas anda untuk menganalisa setiap bagian dan memastikan bahwa solusi yang direkomendasikan adalah yang terbaik bila dipertemukan dengan persyaratan bisnis anda.

Kunci untuk Sukses – Menentukan Kebutuhan Masa Depan

Arsitekur final harus bertemu dengan kebutuhan anda dalam kondisi waktu,biaya,kelayakan teknikal dan fleksibilitas. Satu dari hal yang paling penting untuk diingat selama fase desain adalah bahwa arsitektur final anda tidak hanya harus bertemu kebutuhan sistem tertentu saja tetapi juga bertemu kebutuhan sistem masa depan anda.

2.4 Fase 4 : Pengembangan

Selama fase pengembangan dari siklus hidup pengembangan system, Anda mengambil semua dokumen perancangan detil dari fase perancangan dan mengubahnya menjadi system sesungguhnya. Fase ini memberikan tanda dimana Anda berjalan dari rancangan fisikal menuju penerapan fisikal. Berikut ini adalah dua kegiatan yang akan dilakukan selama fase pengembangan :

1. Membangun arsitektur teknikal

Bagi Anda untuk membangun system, pertama harus dibangun platform di mana system akan beroperasi. Dalam fase pengembangan, Anda membeli dan menerapkan perlengkapan yang diperlukan untuk mendukung arsitektur teknikal yang dirancang pada fase perancangan.

2. Membangun database dan program

Setelah arsitektur teknikal dibangun, Anda memulai dan melengkapi pembuatan dari database yang menyokong dan menulis software yang dibutuhkan oleh system. Tugas-tugas ini biasanya dilakukan oleh spesialis TI, dan mungkin membutuhkan berbulan-bulan atau bahkan bertahun-tahun untuk merancang dan membuat database dan menulis semua software.

Peran Selama Pengembangan

Spesialis TI menyelesaikan kebanyakan dari kegiatan-kegiatan pada fase pengembangan. Peran Anda selama fase ini adalah menegaskan perubahan dalam kebutuhan bisnis dan mengikuti perkembangan dari tugas dalam rencana proyek untuk memastikan penyelesaian system yang tepat waktu. Evaluasi ulang secara terus menerus pada rencana proyek selama fase ini akan membantu Anda untuk menentukan apakah Anda dapat memenuhi jadwal.

Anda tidak dapat mengambil peran pasif selama pengembangan. Sebagai contoh, Anda tetap bertanggungjawab untuk memastikan bahwa database mengandung data yang dibutuhkan untuk mendukung kebutuhan bisnis Anda. Jadi, Anda membutuhkan pengetahuan mengenai database dan proses perancangan database.

Kunci untuk Sukses – Mengambil Keuntungan dari Perubahan Teknologi

Gordon Moore, pendiri dari Intel Corporation, mengamati pada tahun 1965 bahwa berat jenis chip berlipat dua setiap 18 bulan. Pengamatan ini, dikenal sebagai hukum Moore, secara sederhana berarti ukuran memori, kekuatan prosesor, dan seterusnya semua mengikuti pola yang sama dan secara kasar berlipat dua dalam kapasitas setiap 18 bulan. Seperti yang ditetapkan Moore, teknologi berubah dalam langkah cepat yang menakjubkan. Memungkinkan bagi Anda untuk meninjau kembali seluruh rencana project Anda ditengah-tengah proyek karena perubahan dalam teknologi.

Banyak dari contoh system yang didiskusikan dalam chapter ini kecil dan mudah untuk diterapkan. Proyek-proyek ini sangat tepat untuk diskusi dan untuk memberi pengertian awal, namun tidak mengindikasikan proyek real-world. Banyak proyek real-world memiliki ratusan kebutuhan bisnis, membutuhkan bertahun-tahun untuk diselesaikan, dan biaya jutaan dollar. Teknologi berubah dengan cepat dan Anda harus dapat mengambil keuntungan dari segala jenis teknologi baru yang tersedia selama usaha mengembangkan system Anda.

2.5 Fase 5 : Pengujian

Fase pengujian dari siklus hidup pengembangan system membuktikan bahwa system bekerja dan memenuhi semua kebutuhan bisnis yang didefinisikan dalam fase analisis. Pengujian penting. Berikut ini adalah kegiatan utama yang akan Anda temui dalam fase pengujian:

1. Penulisan kondisi pengujian – Anda harus memiliki kondisi pengujian yang detil untuk melaksanakan tes yang mendalam. Kondisi pengujian adalah langkah detil yang harus dilakukan system sepanjang hasil yang diharapkan pada setiap tahap. Penguji akan melaksanakan tiap kondisi pengujian dan membandingkan hasil yang diharapkan dengan hasil sesungguhnya untuk membuktikan system berfungsi dengan benar. Setiap kali hasil sesungguhnya berbeda dari hasil yang diharapkan, sebuah “bug” dihasilkan, dan system kembali pada tahap pengembangan untuk “bug fix”. Usaha pengembangan system khas memiliki ratusan dan ribuan dari kondisi pengujian. Anda harus melakukan dan membuktikan semua kondisi pengujian untuk memastikan system berfungsi dengan benar.

2. Melaksanakan pengujian terhadap system – Anda harus melakukan banyak jenis pengujian berbeda ketika mulai menguji system Anda. Beberapa pengujian yang umum termasuk:

a. Pengujian unit – menguji unit individual atau potongan kode dari system

b. Pengujian sistem – membuktikan bahwa unit atau potongan dari kode yang ditulis untuk system berfungsi dengan benar ketika berintegrasi dengan keseluruhan system

c. Pengujian integrasi – membuktikan bahwa system yang berbeda dapat bekerja bersama

d. Pengujian penerimaan user (UAT) – menentukan apakah system memuaskan kebutuhan bisnis dan memungkinkan knowledge workers untuk melakukan pekerjaan mereka dengan benar.

Peran Selama Pengujian

Spesialis Ti juga melaksanakan banyak kegiatan selama fase pengujian. Keterlibatan Anda masih penting, sejauh Anda adalah ahli pemberian kepastian kualitas. Anda secara langsung terlibat dalam meninjau kondisi pengujian untuk memastikan spesialis TI telah menguji semua fungsionalitas system dan bahwa setiap kondisi pengujian telah dilewati.

Kunci untuk Sukses – Melengkapi Fase Pengujian

Hal pertama yang umumnya dilakukan oleh individu ketika proyek gagal memenuhi jadwal adalah dengan melewatkan fase-fase dalam SDLC, dan fase yang paling sering mereka lewati adalah fase pengujian. Gagal dalam menguji system dapat memastikan adanya error yang tidak ditemukan, dan berpeluang tinggi akan kegagalan system. Sangatlah penting Anda melakukan semua fase dalam SDLC selama setiap proyek. Cobalah untuk tidak mengorbankan waktu pengujian atau system Anda tidak akan bekerja secara benar sepanjang waktu.

2.6 Fase 6 : Implementasi

Selama fase implementasi dalam siklus hidup pengembangan system, kamu mendistribusikan system untuk semua knowledge workers dan mereka mulai menggunakan system untuk melakukan tugas mereka setiap hari. Dua aktivitas utama yang akan dilaksanakan selama fase implementasi :

1. Menulis secara rinci dokumentasi user

Ketika kamu mengginstal system, kamu juga harus menyediakan knowledge worker sebuah dokumentasi user tentang bagaimana menggunakan system. Knowledge worker akan sangat frustasi jika harus menggunakan system tanpa dokumentasi.

2. Menyediakan training untuk pengguna system

Kamu juga harus menyediakan training untuk knowledge worker yang akan menggunakan system ini. Kamu dapat menyediakan beberapa tipe training yang berbeda, dan dua yang paling terkenal adalah online training dan workshop training.Online training dilakukan dengan internet atau CD atau DVD. Knowledge worker dapat melakukan training kapanpun, pada komputernya dan pada ruang mereka. Tipe ini menyenangkan bagi knowledge worker karena mereka dapat mengatur jadwal mereka sendiri untuk melakukan training. Workshop training dilakukan di dalam lingkungan kelas dan diajarkan oleh instructor.

Peran Selama Implementasi

Selama implementasi, kamu harus datang pada saat training atau membantu untuk melaksanakan training. Sistem harus dapat melewati semua test, tetapi jika knowledge worker tidak menggunakan system dengan baik, system akan gagal. Kamu harus memastikan bahwa semua knowledge worker harus mendapatkan training untuk menggunakan system dengan benar.

Kunci Untuk Sukses – Memilih Metode Implementasi Yang Benar

Ketika mengimplementasikan system yang baru, ada emapt metode implemantasi yang dapat dipilih :

· Parallel Implementation :

o menggunakan system lama dan system baru sampai anda benar – benar yakin bahwa system baru dapat berjalan dengan benar.

· Pluge Implementation :

o membuang system yang lama dan segera menggunakan system yang baru.

· Pilot Implementation :

o hanya sekelompok kecil yang menggunakan system yang baru sampai kamu mengetahui system berjalan dengan benar dan menambahkan sisa orang – orang yang ada untuk menggunakan system.

· Phased Implementation :

o Mengimplementasikan system yang baru dalam tahap – tahap (contoh : Peiutang, Utang) sampai kamu yakin bahwa system bekerja dengan benar dan mengimplementasikan tahap – tahap yang sisa dari system yang baru.

2.7 Fase 7 : Maintenance

Merawat system adalah tahap akhir dari langkah pengembangan system. Selama tahap maintenance, kamu memonitor dan mendukung system yang baru untuk memastikan berjalan sesuai dengan tujuan bisnis. Memonitoar secara konstan dan mendukung system yang baru meliputi membuat perubahan (contoh: laporan baru atau mendapatkan informasi) dan meninjau ulang system untuk memastikan bahwa system secara berkelanjutan memindahkan organisasi ke arah tujuan strategisnya. Dua aktivitas utama yang akan dilaksanakan selama tahap maintenance :

1. Membangun help desk untuk mendukung pengguna sistem

Untuk menciptakan lingkungan yang mendukung, kamu butuh untuk menyediakan sebuah cara untuk knowledge worker meminta perubahan. Salah satu cara yang terbaik adalah menciptakan help desk. Help desk adalah kelompok orang yang merespon pertanyaan knowledge worker. Secara khusus, knoeledge worker memiliki nomor telepon help desk, mereka akan menelepon ketika mereka memiliki pertanyaan tentang system.

2. Menyediakan sebuah lingkungan untuk mendukung perubahan system.

Munculnya perubahan dalam lingkungan bisnis, kamu harus beraksi terhadap perubahan ini dengan memperkirakan dampak dalam system. Akan lebih baik jika system berubah untuk memenuhi semua perubahan dalam lingkungan bisnis. Maka, kamu harus memodifikasi system untuk mendukung lingkungan bisnis yang baru.

Peran Selama Maintenance

Selama maintenance, tugas utama kamu adalah memastikan bahwa semua knowledge worker mempunyai support yang mereka butuhkan untuk menggunakan system. Kamu harus bertanggung jawab untuk mengatur help desk atau untuk mengembangkan kebutuhan perubahan user jika mereka membutuhkan perubahan system. Tidak hanya melacak kebutuhan perubahan tetapi juga harus memverifikasi bahwa perubahan yang dibutuhkan system adalah kinerja yang berharga.

Kunci Sukses – Bekerja Bersama

Penting untuk membangun system dengan melibatkan knowledge worker dan IT specialist. Mereka harus bekerjasama karena knowledge worker merupakan tenaga ahli proses bisnis dan analis quality control, dan IT specialist memiliki kemampuan yang tinggi dalam mendesain, mengimplementasi, dan merawat system. Dengan mempunyai knowledge worker dan IT specialist akan mengkombinaksikan keahlian unik mereka ketika melaksanakan aktivitas SDLC.

Selfsourcing and Prototyping

Knowledge worker mendapatkan sebuah tugas aktif dalam mengembangkan dan menggunakan system miliknya untuk mendukung tindakan mereka dalam lingkungan personal dan workgroup. Selfsourcing adalah pengembanagn dan dukungan system TI oleh knowledge worker dengan sedikit atau tanpa bantuan dari IT specialist.

3. Selfsourcing & Prototyping

3.1 Proses Selfsourcing

Kita memiliki ilustrasi proses selfsourcing dan ringkasan tugas utama dalam beberapa tahap selfsoucing. Proses selfsourcing mirip dengan tahap SDLC. Bagaimanapun, kamu perlu ingat bahwa proses selfsourcing meliputi prototyping (model pengembangan). Ini adalah kunci ketika kamu mengembangkan system untuk dirimu sendiri, kamu akan sering melewati proses prototyping.

Gambar Proses Selfsourcing dan Tugas Utama dalam Selfsourcing

Mendukung usaha-usaha selfsourcing terhadap tujuan organisasi.

Ketika pertama kali merencanakan sebuah sistem yang akan dibangun, sebuah organisasi harus mempertimbangkan sistem tersebut terhadap tujuan organisasi. Jika akan membangun suatu sistem yang berlawanan terhadap intuisi dari tujuan organisasi, maka sebaiknya hal tersebut dibuang. Secara jelas, sebuah organisasi jangan membangun sebuah sistem yang mengurangi penjualan atau mengurangi jumlah dari customer. Suatu organisasi harus mempertimbangikan bagaimana menggunakan waktu untuk membangun suatu sistem. Jadi hal yang paling mendasar adalah mempertimbangkan apa yang akan kita bangun berdasarkan ekspetasi atau harapan suatu organisasi.

Menentukan dukungan eksternal yang akan dibutuhkan.

Beberapa project yang bersifat self-sourcing melibatkan dukungan dari para spesialis IT di dalam suatu organisasi. Oleh sebab itu sebaiknya perusahaan atau organisasi mengikutsertakan para spesialis atau tenaga teknologi informasi yang dimiliki pada tahap perencanaan. Salah satu kesempatan yang dimiliki untuk kesuksesan pembangunan suatu sistem adalah ketika para knowledge workers dan spesialis IT bekerja secara bersama-sama.

Penyusunan dokumentasi sistem yang lengkap.

Dokumentasi dalam pembangunan suatu sistem adalah hal yang sangat penting. Ketika suatu perancang sistem dipromosikan atau telah memegang jabatan atau pekerjaan lain, maka orang lain mampu mengerti sistem dengan baik dan mampu membangun atau memperbaiki serta mengadakan perubahan-perubahan terhadap sistem yang dibuat jika dibutuhkan. Untuk itu maka dokumentasi harus dirancang dengan sudut pandang teknikal tetapi mudah dibaca secara operasi manual.

Penyediaan dukungan yang berkesinambungan.

Dalam merancang sistem yang bersifat self-sourcing maka sangat diperlukan penyediaan dukungan serta perawatan yang bersifat internal. Sebagai pemilik atau developer dari sistem, maka sangat diperlukan tanggung jawab untuk memastikan sistem yang berkesinambungan dan fungsi-fungsi yang tepat serta mampu menjawab kebutuhan perubahan bisnis. Dukungan terhadap knowledge workers yang menggunakan sistem juga sangat dibutuhkan. Hal ini penting karena para knowledge workers akan sangat mengerti dan mampu mempelajari sistem yang dibangun. Contohnya, ketika suatu organisasi membangun database customer relationship dengan menggunakan Microsoft Access 2003, maka sangat perlu untuk mempersiapkan perubahan atau meng-convert kepada microsoft access 2005 ketika organisasi tersebut ingin menyesuaikan sesuai perubahan yang ada. Proses pembangunan sistem tidak berhenti pada implementasi, tetapi akna terus berlanjut pada kegiatan harian yaitu support / dukungan dan maintenance / perawatan sistem.

3.1.1 Keuntungan Selfsourcing

1. Meningkatkan penetapan kebutuhan

Di dalam insourcing, knowledge workers dapat memberitahukan apa yang mereka inginkan kepada para spesialis IT. Hal ini menyebabkan peningkatan yang signifikan terhadap pengetahuan dan perolehan segala kebutuhan bisnis, sehingga mampu menghasilkan suatu sistem baru yang sukses.

2. Meningkatkan partisipasi dari knowledge worker dan rasa memiliki

Jika para knowledge worker mengetahui tentang sistem yang ada kerena mereka ikut membangun dan mendukungnya, maka hal tersebut akan menyebabakan partisipasi secara aktif terhadap pengembangan sistem itu dan rasa memiliki yang sangat kuat.

3. Menambah kecepatan dari pengembangan sistem

Dalam banyak kasus pengembangan sistem yang sederhana, penggunaan insourcing sering kali tidak berhasil. Hal ini karena disebabkan oleh “analysis paralysis” yaitu sistem tersebut tidak membutuhkan pendekatan langkah demi langkah dalam pengembangannya. Insourcing sering lebih lambat dibandingkan selfsourcing pada project-project sederhana.

3.1.2 Bahaya potensial dan resiko dari Selfsourcing

1. Tidak memiliki ahli knowledge worker yang cukup dalam mengembangkan sistem

Banyak sistem selfsourcing yang tidak pernah terselesaikan karena kekurangan dari para ahli knowledge workers dengan IT tools untuk mengembangangkan dan membangun sistem yang lengkap. Oleh karena itu jika para knowledge workers ingin memilih dalam mengembangkan sistem, maka mereka harus menyediakan waktu sebagai tanggung jawab yang utama dalam organisasi. Penggunaan waktu yang tidak efisien akan mengurangi pendapatan bagi perusahaan.

2. Kekuarangan fokus organisasi yang menyebabkan privatisasi dari sistem IT.

Banyak project outsourcing yang dikerjakan di luar perencanaan sistem IT dalam suatu organisasi, yang artinya banyak terjadi sistem IT yang bersifat privat sehingga tidak berhubungan dengan sistem lain dan menyebabkan tidak terkontrol serta terjadi duplikasi informasi. Hal ini seperti suatu sistem yang tidak memiliki arti bagi tujuan organisasi dan hanya menimbulkan banyak permasalahan.

3. Kurangnya alternatif analisis dan perancangan yang menyebabkan permasalahan dari sistem yang ada

beberapa knowledge worker langsung melakukan kesimpulan yang terburu-buru terhadap software dan hardware yang akan digunakan tanpa pertimbangan analisa dari segala alternatif yang ada. Jika hal ini terjadi, knowledge workers telah membangun sistem yang memiliki komponen yang tidak efisien.

4. Kekurangan dokumentasi dan dukungan eksternal kepada sistem-sistem yang berumur pendek

ketika knowledge workers membangun suatu sistem, sering kali langsung menyusun dokumentasi tentang bagaimana sistem bekerja dan gagal serta sering kali mereka tidak memperoleh dukungan dari spesialis IT. Seluruh sistem yang ada harus melakukan perubahan setiap saat. Knowledge worker harus menyadari untuk melakukan antisipasi terhadap perubahan-perubahan dari tanggung jawab dan membuat perubahan menjadi lebih mudah jika mereka melakukan dokumentasi dengan baik.

3.2 Prototyping

Prototoyping adalah suatu proses untuk membangun sebuah model yang menggambarkan fitur-fitur dari produk, jasa, atau sistem yang ditawarkan. Sebuah prototype adalah model sederhana akan produk, jasa, atau sistem.

Di dalam pengembangan sistem, prototyping dapat menjadi tool yang sangat berguna. Prototyping adalah suatu proses yang berulang-ulang dalam membangun suatu model berdasarkan kebutuhan dasar bisnis, yang memiliki penilaian dari knowledge workers akan prototype serta mengajukan perubahan, dan pengembangan prototype termasuk saran-saran yang ada. Kebanyakan prototyping yang ada adalah sebuah perubahan atau saran yang dinamis kepada model tersebut sehingga mampu sukses memenuhi requirement atau kebutuhan yang terdapat dalam proposal.

Prototyping dapat digunanakan untuk melakukan berbagai fungsi-fungsi yang terdapat dalam sistem antara lain :

1. Gathering Requirement :

Prototyping adalah tool yang sangat baik dalam mengumpulkan kebutuhan / requirement. Melalui prototyping, knowledge workers mampu menambah requirement lebih termasuk informasi dan proses sebagai revisi dari prototype jika dibutuhkan.

2. Membantu dalam hal menentukan requirement :

Di dalam banyak proyek pengembangan sistem, knowledge worker serting tidak memiliki kepastian akan apa yang mereka butuhkan. Mereka hanya mengetahui sistem yang tidak menjawab kebutuhan mereka. Melalui prototyping, knowledge worker dapat menentukan kebutuhan secara pasti dari sistem yang dibangun.

3. Membuktikan kelayakan suatu sistem

Sering kali sangat sulit dalam menentukan ruang lingkup dari sistem yang diajukan serta sulitnya mengetahui pengimplementasian teknologi pada bagian tertentu. Jika memiliki kendala dalam ketidakpastian tentang pengimplementasian sistem, maka sebaiknya melakukan prototyping dahulu. Prototype dapat membantu kelayakan teknikal dari sistem yang diajukan dan dikenal sebagai proof-of-concept-prototype.

4. Menjual ide-ide dari sistem yang diajukan

Banyak orang tidak ingin melakukan perubahan terhadap teknologi informasi. Mereka berpikir bahwa sistem yang berjalan sudah baik dan tidak perlu membangun dan menggunakan sistem yang baru. Dengan prototyping, kita dapat memastikan bahwa sistem yang baru lebih baik daripada sistem yang sedang berjalan. Karena prototyping relatif cepat, maka tidak diperlukan investasi waktu untuk membangun prototype yang mampu meyakinkan orang bahwa sistem yang diajukan sangat berguna. Prototype yang digunakan untuk meyakinkan orang bahwa sistem yang diajukan berguna dikenal sebagai selling prototype.

3.2.1 Proses Prototyping

Prototyping adalah salah satu alat atau tools dalam pengembangan system. Kebanyakan para spesialis IT menggunakan prostotyping dalam SLDC (System Life Development Cycle) untuk membentuk blueprint dari sistem tersebut. Berdasarkan pelaku prototyping, proses prototyping dapat dibedakan menjadi 4 langkah, yaitu:

1. Identifikasi keperluan dasar (basic requirements)

Pada tahap ini, proses pengumpulan setiap keperluan atau kebutuhan system. Kebutuhan tersebut dapat berupa input dan output informasi yang diperlukan dan juga memungkinkan untuk beberapa proses lainnya seperti proses produksi dari suatu informasi yang mendukung system.

2. Mengembangkan inisial prototype.

Setelah mengetahui setiap kebutuhan dan keperluan dasar, tahap selanjutnya adalah mengembangkan inisial dari prototype tersebut. Inissial prototype dapat berupa user interfase (antar muka user) seperti entry data dan juga dapat berupa report.

3. Mereview Knowledge Worker

Pada tahap ke 3 ini merupakan tahap yang dilakukan secar berulang-ulang. Setelah para knowledge worker menginisiasikan tahap ini, mereka mengevaluasi prototype dan mengajukan saran atau tambahan yang diperlukan. Pada tahap ini sangat penting karena berhubungan dengan resource kualitas dari hasil evaluasi prototyping.

4. Memperbaiki dan menambah prototyping

Langkah akhir dari proses prototyping adalah memperbaiki dan maintance system dari prototyping itu sendiri berdasarkan dari analisa dari setiap masukan- masukan dan saran-saran knowledge worker. Dari masukan dan saran tersebut memungkinkan adanya tambahan keperulan dan kebutuhan baru. Jika terjadi perubahan maka prototyping akan kemudian di test dan analisa kembali pada langkah ke tiga apakah sudah sesuai dan dievaluasi kembali oleh knowledge worker tersebut.


Pada tahap ke tiga dan ke empat merupakan tahap yang berulang secara siklus untuk memperoleh system yang benar-benar sesuai dan sempurna oleh knowledge worker.

Selama selfsourcing, akan lebih baik jika menerapkan system targeted application software package atau application development tool dalam kegiatan mengembangkan system prototyping. Dalam hal ini berarti system akan dikembangkan secara terus menerus sampai system prototyping final.

3.2.2 Keuntungan dari Prototyping

Berikut ada beberapa keuntungan dari system prototyping, antara lain:

· Mempengaruhi keaktivan dari seorang knowledge worker.

Dari tahap ke tiga dan ke empat proses prototyping, source utama merupakan knowledge worker, dimana pada tahap tersebut merupakan tahap yang secara berulang-ulang terjadi dalam pencapaian final prototyping sehingga sesuai dan memperoleh system prototyping yang sempurna.

· Membantu mengatasi ketidaksesuaian antara knowledge worker.

Tahap yang berulang yang melibatkan banyak knowledge worker sehingga memutuskan setiap kebutuhan dari prototyping dan mereview prototype tersebut.

· Memberikan kesempatan berpartisipasi bagi knowledge worker terhadap final system dari prototyping.

Dalam hal ini, knowledge worker sebagai penentu dan pelaku evaluasi dari prototyping sampai dengan final system tercapai.

· Membantu menentukan setiap kemungkinan dalam teknikal prototyping.

· Membantu menjual ide dari system yang diajukan.

· Prototyping melibatkan partisipasi aktif end-user, hal ini dapat meningkatkan moral end-user serta mendukung untuk proyek.

· Prototyping lebih cocok dengan keadaan sebenarnya karena prototype selalu berkembang - karena adanya proses iterasi – hingga menjadi sistem yang dibutuhkan.

· End user bisa mengetahui kebutuhan dan kesesuaian sistem tanpa harus menunggu sampai sistem diimplementasikan.

· Prototype merupakan model aktif, bukan pasif, yang user dapat lihat, sentuh, rasakkan, dan alami.

· Protoyping dapat meningkatkan kreatifitas karena memungkinkan user untuk lebih cepat memberikan feedback, yang akan mampu membawa menuju solusi yang lebih baik.

· Mampu mendeteksi eror lebih dini.

· Prtotyping mampu mempercepat beberapa fase dari life cycle .

Selain keuntungan, pendekatan prototyping ini juga menimbulkan kerugian. Berikut kerugian dari prototyping, antara lain:

· Membuat orang percaya bahwa system final

· Tidak memberikan indikasi performance dalam kondisi operasional.

· Membawa tim proyek mendahului testing dan dokumentasi yang seharusnya baik.

Umumnya kerugian yang terjadi tesebut disebabkan oleh satu hal yaitu pendekatan prototyping mendorong menuju ill-advised karena adanya shortcut melalui life cycle. Tetatpi, kerugian in dapat dihindari dengan mengikuti disiplin-disiplin dibawah ini:

§ Prototyping menggunakan life cycle “ code, implement, and repair” yang digunakan untuk mendominasi sistem informasi. Pengalaman beberapa perusahaan, sistem yabg dikembangkan dalam prototyping dapat menyebabkan masalah yang sama dalam perawatan yang disebabkan oleh “warisan” sistem yang dikembangkan sebelumnya seperti misalnya COBOL

§ Prototyping tidak meniadakan proses analisis sistem.

§ Adanya pendekatan prototyping bukanlah untuk menggantikan secara total desain dengan cara konvensional. Prototyping harusnya melengkapi, bukan menggantikan, metodologi yang lain.

§ Beberapa isu desain tidak dapat ditaruh pada pendekatan prototyping. Isu-isu ini dapat mudah dilupakan oleh para desain bila mereka tidak berhati-hati

§ Prototyping dapat menyebabkan komitmen yang prematur pada desain

§ Saat membuat prototype, cakupan dan kompleksitas sistem dapat secara cepat melebar dari rencana awal, sehingga dapat menimbulkan out of control

§ Prototyping sering menimbulkan performansi yang lebih lambat daripada 3GLs counterparts. Meski demikian, hal ini selanjutnya tidak menjadi masalah lagi

Prototype dapat secara cepat dikembangkan menggunakan berbagai 4GLs dan bahasa pemrograman yang object oriented. Desain dengan prototyping tidak dapat sepenuhnya memenuhi keperluan desain, prototype tidak selalu dapat menempatkan isu performansi yang penting dan konstrain storage. Protoype jarang menggabungkan kontro intenal. Para analis ataupun desainer nasih harus mengspesifikaikan hal ini.

3.3 Outsourcing

Alternatif terakhir dalam mencari sumber daya manusia untuk mengembangkan system adalah dengan memilih employee atau karyawan dari luar organisasi perusahaan, atau kontraktor untuk membangun system tersebut. Dalam suatu perusahaan dapat saja terdiri dari karyawan internal dan karyawan eksternal yaitu dari system outsourcing.

Pengembangan Strategi Partnership

Penelitian Outsourcing terakhir mengidentifikasikan bahwa sumber daya manusia (Human Resource) adalah top outsorcing area untuk banyak perusahaan. 15% dari perusahaan telah disurvei dan membuktikan bahwa telah menerapkan system outsourcing dalam proses pengajian dan 38% lainnya masih mempertimbangkan hal tersebut.

IT outsourcing adalah penyediaan tenaga ahli yang profesional dibidang Tehnologi Informasi untuk mendukung dan memberikan solusi guna meningkatkan kinerja Perusahaan. Sering kali suatu perusahaan mengalami kesulitan untuk menyediakan tenaga IT yang berkompeten dalam mengatasi kendala-kendala IT maupun operasional kantor sehari-hari.

Berikut ada 4 bentuk outsourcing dalam software development dan dipilih salah satu oleh IT Outsorcing.

1. Membeli sodtware yang sudah ada

2. Membeli software yang sudah ada dan membayar untuk modifikasi yang sudah ada.

3. Membeli software yang sudah ada dan membayar untuk modifikasi sesuai dengan keperluan.

4. Oursource perkembangan dari sesuatu yang baru dan system yang unik dari software yang ada.

Outsourcing TI atau pengadaan sarana dan jasa TI oleh pihak ketiga, merupakan kebijakan strategis perusahaan yang berpengaruh terhadap proses bisnis dan bentuk dukungan TI yang akan diperoleh. Melakukan outsourcing, baik seluruh operasional ataupun bagian-bagian tertentu mempunyai prospek untuk menurunkan biaya dengan implementasi operasional yang lebih baik, karena dilakukan oleh pihak ketiga yang fokus bisnisnya memberikan pelayanan TI.

Menurut Volker Mahnke, Mikkel Lucas Overby & Jan Vang (2003) dalam makalahnya di DRUID Summer Conference 2003 menyatakan bahwa tiga pokok utama outsourcing TI untuk memperbaiki SI yaitu meningkatkan kinerja bisnis, menghasilkan pendapatan baru dan yang dapat membantu perusahaan untuk menilai outsourcing. Untuk mencapai tujuan strategis perusahaan dengan pertimbangan mengurangi biaya dan meningkatkan efisiensi sumber daya TI dengan memperbaiki SI yang sesuai dengan bidang bisnis, akan tetapi tujuan eksplorasi komersial tentang aplikasi, operasi, infrastruktur dan mengetahui bagaimana memperkenalkan ke pasar berdasarkan produk dan layanan.

Berdasarkan pertimbangan tersebut tercetus tentang insentif klien dan vendor outsourcing untuk sharing resiko dan rewards yang didapat berdasarkan tipe kontrak, hak putusan, pengukuran kinerja. Senior manajer memerlukan pedoman untuk merencanakan transformasi pengelolahan SI berdasarkan proses system standard dengan sistem core bisnis dengan platform teknologi yang global dan juga memikirkan transfer kepemilikan dan tanggung jawab aset TI dari pelanggan ke vendor outsourcing yang merupakan kritikal untuk sukses. Dari semua yang dilakukan perlu adanya evaluasgi Outsourcing TI dan hubungan struktural, sebagai seorang manajer SI dan bisnis akan selalu ingat kebutuhan untuk kesuksesan, konsisten, kompentensi, kompatibilitas dan kelanjutan dari asset TI organisasi.

3.3.1 Proses Outsourcing

Proses outsourcing kedua – duanya sama dan agak berbeda dari siklus hidup pengembangan system. Perbedaannya adalah pada proses outsourcing kita mengubah terlalu banyak pada tahap perancangan, pengembangan, testing, implementasi, dan maintenance ke organisasi yang lain. Persamaannya adalah organisasi mulai dengan tahap perancangan dan mendefinisikan ruang lingkup project. Outsourcing diperlukan ketika perusahaan memahami dan sadar bahwa mereka membutuhkan system tertentu tetapi tidak dapat dibangun sendiri. Berikut adalah tahap-tahap dalam proses outsourcing.

· Select a target system

Ketika kita telah mengidentifikasikan system yang akan dikembangkan dengan outsourcing, kita masih mempunyai beberapa pertanyaan penting yang harus dijawab. Sebagai contoh: apakah system yang diajukan memanage informasi yang strategic dan sensitive? Jika demikian, kemungkinan kita tidak akan mempertimbangkan outsourcing. Karena kita tidak mau organisasi lain melihat dan mengakses informasi kita yang penting. Kita juga harus mempertimbangkan apakah system cukup kecil untuk diproduksi sendiri? Jika demikian biarlah knowledge worker perusahan yang mengembangkan system dari pada mengoutsource. Apabila system yang diajukan besar dan mensupport kegiatan rutin dan fungsi bisnis yang tidak sensitive, maka kita bisa mengoutsourcenya.

· Establish logical requirement

Pilihan untuk mengoutsource atau tidak, kita tetap harus menjalankan tahap analisis, khususnya aktivitas utama dalam mengumpulkan kebutuhan bisnis untuk system yang diajukan. Ingat bahwa identifikasi kebutuhan bisnis mendorong keseluruhan pengembangan system. Jika kebutuhan bisnis tidak akurat dan lengkap, maka system tidak akan berhasil. Kita harus mengumpulkan kebutuhan bisnis yang akurat dan lengkap. Jika kita memilih outsource, maka bagian dari pengumpulan kebutuhan bisnis akan menjadi “request for proposal”

· Develop a request for proposal

Outsourcing termasuk memberitahukan orang lain apa yang kita mau. Apa yang kita inginkan merupakan kebutuhan logical untuk system yang kita ajukan, dan kita menyampaikan informasi tersebut dengan mengembangkan request for proposal. Request for proposal merupakan dokumen resmi yang mendeskripsikan secara detil kebutuhan logical dari system yang diajukan dan mengundang organisasi outsource untuk mengsubmit tawaran pengembangannya. Harus kita perhatikan bahwa RFP harus berisi elemen-elemen yang disebutkan pada gambar berikut ini. Semua informasi ini sangat penting untuk organisasi kita dan vendor. Untuk organisasi, kemampuan untuk mengembangkan RFP yang lengkap berarti kita telah memahami apa yang kita miliki dan apa yang kita inginkan. Untuk vendor, sebuah RFP yang lengkap memudahkan untuk mengajukan system yang memenuhi persyaratan kita.

haa35863_0609

· Evaluate request for proposal returns and choose a vendor

Aktivitas berikutnya dalam outsourcing adalah mengevaluasi returns dari RFP dan memilih vendor. Ketika kita telah menganalisa pengembalian RFP, maka itulah saatnya kita menrangkingnya dan menentukan vendor yang akan kita gunakan. Biasanya kita menrangking RFP berdasarkan biaya, waktu, dan mekanisme penilaian yang telah kita tentukan. Setelah kita menentukan vendor, maka akan diikuti proses legal/hukum yang panjang.

· Test and accept solution

Testing dan accepting solusi sangat penting. Setelah vendor menginstall system baru, maka terserah kita dan organisasi untuk menguji keseluruhan system sebelum menerimanya. Kita harus mengembangkan rencana pengujian yang detil dan menguji system baru dengan tetap mengoperasikan system lama. (metode pararel) . ketika kita telah menerima sebuah solusi, berarti system berjalan sesuai yang diharapkan dan vendor telah memenuhi kewajibannya.

· Monitor and reevaluate

Sama seperti system yang kita kembangkan dengan menggunakan SDLC, system yang dioutsource memerlukan monitoring dan reevaluasi yang tetap/konstan. Kita harus terus mengevaluasi dan merevisi rencana project untuk memastikan bahwa system dapat memenuhi jadwal yang ditentukan. Pertanyaan penting yang harus dijawab adalah apakah system memenuhi persyaratan dan berapa biaya yang dibutuhkan untuk mengupdate system.

· Offshore outsourcing

Trend yang baru dalam outsourcing untuk sebuah organisasi mengoutsource fungsi IT nya adalah offshore. Offshore outsourcing menggunakan organisasi dari negara yang lain untuk menulis kodenya dan mengembangkan system

3.3.2 Keuntungan Dan Kerugian Outsourcing

Membuat keputusan untuk mengoutsource sangat penting untuk keberhasilan perusahaan.

Keuntungan outsourcing :

Focus on unique core competencies

Dengan mengoutsource usaha pengembangkan system yang mensupport fungsi bisnis yang tidak kritikal, maka organisasi kita dapat focus pada pengembangan system yang mensupport kompetisi utama yang unik dan penting.

Exploit the intellect of another organization

outsourcing memungkinkan organisasi kita utnuk memperoleh capital intelektual dengan membelinya dari perusahaan lain.

Better predict future costs

Ketika kita mengoutsource sebuah fungsi, baik itu pengembangan system maupun fungsi bisnis yanglain, kita harus mengetahui biaya yang dibutuhan.

Acquire leading-edge technology

Outsourcing memungkinkan organisasi kita untuk membeli leading-edge technology tanpa harus membeli ahli teknikal dan mengurangi resiko memilih teknologi yang salah.

Reduce costs

Outsourcing kelihatannya seperti pengurangan biaya untuk organisasi.

Improve performance accountability

Outsourcing meliputi penyerahkan kerja ke organisasi lain pada tingkat layanan tertentu. Organisasikita dapat menggunakan layanan ini sebagai jaminan bahwa mereka mendapatkan apa yang mereka inginkan dari vendor.

Kerugian outsourcing antara lain :

Reduces technical know-how for future innovation

Outsourcing merupakan cara untuk mengembangkan intelektual organisasi lain. Dengan arti organisasi kita tidak akan memiliki keahlian intelektual tersebut.

Reduces degree of control

Outsourcing berarti melepaskan pengendalian.

Increases vulnerability of strategic information

Outsourcing pengembangan system termasuk memberitahukan organisasi lain informasi apa yang kita gunakan dan bagaimana kita menggunakan informasi tersebut. Dengan kata lain,kita memberikan informasi strategi dan rahasia.

Increases dependency on other organizations

Ketika kita memulai outsource, kita mulai tergantung pada organisasi lain untuk menjalankan fungsi bisnis kita.

No comments:

Post a Comment