BAB II PENGEMBANGAN DAN PENGADAAN
2.3. Kebijakan, Standar, dan Prosedur Pengembangan dan Pengadaan
2.3.1. Kebijakan, Standar, dan Prosedur Pengembangan
2.3.1.1. Tahap Inisiasi dan Perencanaan
Tahap inisiasi terdiri dari langkah-langkah antara lain:
a. penyusunan proposal yang berisi identifikasi kebutuhan pengguna untuk menambah, menyempurnakan, atau memperbaiki suatu sistem, tujuan dan manfaat yang diharapkan, serta bagaimana sistem yang akan dikembangkan dapat mendukung strategi bisnis Bank;
b. evaluasi oleh manajemen;
c. persetujuan prinsip pengembangan sistem baru atau perubahan sistem;
d. studi kelayakan proyek, yang antara lain berupa pertimbangan bisnis Bank, kebutuhan fungsional, rencana waktu pelaksanaan proyek, faktor-faktor yang mempengaruhi proyek serta analisis biaya dan manfaat;
e. persetujuan manajemen atas dokumen studi kelayakan; dan f. penandatanganan dokumen studi kelayakan oleh semua pihak
terkait.
Setelah persetujuan pengembangan diperoleh pada tahap inisiasi, Bank melakukan perencanaan untuk identifikasi lebih rinci atas aktivitas yang spesifik dan sumber daya yang dibutuhkan untuk menyelesaikan proyek. Tahap perencanaan ini menghasilkan suatu
rencana proyek yang harus menjadi acuan dalam pelaksanaan proyek dan harus dikinikan sesuai perkembangan proyek.
2.3.1.2. Tahap Pendefinisian Kebutuhan Pengguna
Berdasarkan dokumen studi kelayakan yang telah disetujui secara tertulis oleh manajemen, manajer proyek dapat membentuk tim untuk menyusun definisi kebutuhan pengguna secara detail sebagai dasar dimulainya pengembangan sistem aplikasi.
Tahap pendefinisian kebutuhan pengguna terdiri dari:
a. pengumpulan kebutuhan yang merupakan proses pengumpulan informasi, baik dengan melalui metode wawancara maupun melalui riset atau melalui pengisian format dokumen atau formulir tertentu, mengenai tujuan pengembangan sistem, output yang diinginkan, kemampuan sistem dalam mengakomodasi kebutuhan proses bisnis dan mekanisme kerja sistem, serta prosedur penggunaan sistem;
b. analisis kebutuhan yang merupakan proses pemahaman permasalahan dan kebutuhan untuk menentukan solusi yang dapat dikembangkan. Pada tahap ini, ditentukan perkiraan umum dari waktu dan biaya pengembangan dari tiap kebutuhan dan kesesuaiannya dengan ketentuan peraturan perundang-undangan. Hasil analisis kebutuhan digunakan untuk menghasilkan alur proses bisnis, antara lain: business process flow, use cases modeling dan data flow diagrams, yang dapat memperjelas pemahaman mengenai kebutuhan dan solusinya, baik bagi pengguna maupun pengembang sistem;
c. spesifikasi kebutuhan yang merupakan proses untuk mendeskripsikan fungsional sistem yang akan dikembangkan, spesifikasi proses atau prosedur dan sistem yang ada saat ini, baik dari segi perangkat lunak maupun perangkat keras pendukung serta desain Pangkalan Data (Database). Spesifikasi kebutuhan harus lengkap, komprehensif, dapat diuji, konsisten, jelas, dan merinci kebutuhan input, proses, dan output yang dibutuhkan; dan
d. pengelolaan kebutuhan (requirements management) yang merupakan proses untuk mengidentifikasi, mengendalikan, dan menyimpan setiap perubahan terhadap kebutuhan pada saat
pengembangan berjalan, yang dilakukan oleh tim proyek.
2.3.1.3. Tahap Perancangan Sistem
Tahap ini mengonversikan kebutuhan informasi, fungsi, dan infrastruktur yang teridentifikasi selama tahap inisiasi dan perencanaan menjadi spesifikasi rancangan atau desain yang menjadi dasar pengembangan sistem.
Pada tahap desain diperlukan suatu standar pengendalian aplikasi yang mencakup kebijakan dan prosedur terkait dengan aktivitas pengguna dan pengendalian terintegrasi dalam sistem yang akan dikembangkan. Tahap ini diperlukan untuk meningkatkan keamanan, integritas, dan keandalan sistem dengan memastikan informasi input, proses, dan output yang terotorisasi, akurat, lengkap dan aman. Bank perlu memperhatikan kesesuaian rancangan dengan arsitektur TI yang sudah dimiliki agar integrasi dan keberlangsungan antar sistem dapat terjaga.
2.3.1.4. Tahap Pemrograman
Dalam tahap ini dilakukan konversi spesifikasi desain menjadi program yang dapat dijalankan. Bank harus membuat kebijakan, standar, dan prosedur pemrograman. Selain itu, Bank harus mengkinikan rencana migrasi, implementasi, pelatihan pengguna akhir dan operator, serta dokumen manual pemeliharaan.
a. Standar Pemrograman
Dalam standar pemrograman dijelaskan antara lain mengenai tanggung jawab programmer sistem. Manajer proyek harus memahami secara keseluruhan mengenai proses pemrograman untuk memastikan tanggung jawab programmer telah sesuai, antara lain:
1) membatasi akses terhadap data, program, utilitas, dan sistem di luar tanggung jawab programmer. Pengendalian pengelolaan library dapat digunakan untuk mengelola akses tersebut; dan
2) pengendalian versi merupakan metode yang secara sistematis menyimpan kronologis dari salinan program yang disempurnakan serta menjadi salah satu dokumentasi dalam penyelenggaraan pengembangan.
b. Dokumentasi
1) Bank harus mengelola dan memelihara dokumen yang detail untuk setiap sistem baik yang dikembangkan sendiri maupun produk atau perangkat lunak yang dibeli atau dikembangkan pihak lain yaitu mencakup:
a) deskripsi detail mengenai aplikasi;
b) dokumentasi pemrograman berupa kode sumber, dokumen yang dapat diunduh, dan tampilan dari sistem yang dikembangkan;
c) standar format berbagai aspek yang digunakan terkait dengan sistem seperti Pangkalan Data (Database), format tampilan, dan informasi;
d) standar penamaan; dan
e) pedoman bagi operator dan pedoman untuk pengguna akhir dalam menjalankan fungsi pada sistem secara rinci, komprehensif, dan jelas.
2) Dokumentasi harus dapat mengidentifikasikan standarisasi pengembangan, seperti narasi sistem, alur sistem, pengkodean khusus sistem, dan pengendalian intern dalam dokumen aplikasi itu sendiri.
3) Dalam hal produk atau perangkat lunak dibeli atau dikembangkan oleh pihak lain, manajemen harus memastikan kaji ulang telah dilakukan sebelumnya baik secara intern maupun oleh pihak independen bahwa dokumentasi produk atau perangkat lunak telah sesuai dengan standar minimal dokumentasi Bank.
2.3.1.5. Tahap Uji Coba
Bank harus melaksanakan beberapa rangkaian uji coba untuk memastikan keakuratan dan berfungsinya sistem sesuai kebutuhan pengguna serta hubungan sistem tersebut dengan sistem lain yang telah digunakan oleh Bank. Seluruh koreksi dan modifikasi yang dilakukan selama uji coba harus didokumentasikan untuk menjaga integritas keseluruhan dokumentasi program. Bank harus melengkapi pedoman bagi pengguna dan pengelola serta menyiapkan rencana implementasi dan pelatihan. Uji coba yang dapat dilakukan oleh Bank antara lain:
a. unit test, yaitu uji coba yang dilakukan oleh pengembang atas fungsional setiap unit atau sub modul dari sistem yang telah selesai dikembangkan;
b. system integration test (SIT), yaitu pengujian yang dilakukan oleh pengembang terhadap keseluruhan fungsional sistem setelah diintegrasikan menjadi satu kesatuan yang utuh;
c. stress test, yaitu uji ketahanan yang dilakukan oleh pengembang terhadap kemampuan sistem dalam menangani proses atau transaksi dalam skala atau jumlah yang besar; dan
d. user acceptance test (UAT), yaitu uji coba akhir yang dilakukan oleh pengguna akhir terhadap sistem yang telah selesai dikembangkan dalam rangka menguji fungsionalitas keseluruhan sistem, apakah telah sesuai dengan kebutuhan pengguna pada tahapan pendefinisian kebutuhan pengguna sebelum memutuskan implementasi dapat dilakukan.
UAT oleh pengguna akhir ini hanya dapat dilakukan setelah pihak pengembang memberikan berita acara atas hasil pengujian SIT. Pada tahap ini audit intern dapat ikut melakukan pengujian dengan tetap menjaga tingkat independensi apabila audit intern perlu meyakini ketersediaan, kecukupan dan efektivitas pengendalian yang ada pada sistem.
Jika hasil uji coba menunjukkan bahwa sistem telah sesuai dengan kebutuhan pengguna dan standar pengamanan Bank maka harus dibuat suatu berita acara UAT yang disetujui pengguna.
2.3.1.6. Tahap Implementasi
Pada tahapan implementasi, Bank harus melakukan antara lain pemberitahuan jadwal implementasi, instalasi sistem yang telah disetujui ke dalam lingkungan operasional, dan pelatihan pada pengguna.
Hal-hal lainnya yang harus diperhatikan antara lain:
a. pengecekan integritas program berupa pengendalian yang memadai terhadap konversi dari kode sumber ke object code yang akan diimplementasikan;
b. migrasi data dari sistem lama ke sistem baru;
sistem baru;
d. kemungkinan diberlakukannya parallel run antara sistem yang lama dengan yang baru, sampai dipastikan bahwa data pada sistem yang baru telah akurat dan andal;
e. Bank harus memastikan integritas data berupa keakuratan dan keandalan dari Pangkalan Data (Database) termasuk data yang tersimpan di dalamnya;
f. perbaikan data dan referensi secara langsung (patching data) pada saat implementasi harus dihindari karena dapat mempengaruhi integritas data pada Pangkalan Data (Database) di server produksi;
g. pengaturan penyimpanan kode sumber dan Pangkalan Data (Database) dari sistem lama;
h. antisipasi adanya kelemahan sistem operasi, sistem yang dikembangkan, Pangkalan Data (Database) dan jaringan, termasuk ancaman dari pihak yang tidak berwenang seperti virus, trojan horse, worms, spyware, Denial-of-Service (DoS), wardriving, spoofing dan logic bomb, dengan menguji dan menerapkan pengendalian pengamanan atas sistem yang akan diimplementasikan.
2.3.1.7. Tahap Kaji Ulang Pascaimplementasi
Manajemen harus melakukan kaji ulang pascaimplementasi pada akhir proyek untuk mengetahui bahwa seluruh aktivitas dalam proyek telah dilaksanakan dan tujuan proyek telah tercapai. Manajemen harus menganalisis efektivitas aktivitas manajemen proyek dengan membandingkan antara lain rencana dan realisasi biaya, manfaat yang diperoleh, dan ketepatan jadwal proyek. Hasil analisis harus didokumentasikan dan dilaporkan kepada manajemen.
2.3.1.8. Tahap Pemeliharaan
Bank harus menetapkan metodologi pemeliharaan yang sesuai dengan karakteristik dan risiko tiap proyek dari sistem yang ada. Pemeliharaan dilaksanakan sebagai jaminan bagi pengguna agar dapat terus menjalankan sistem yang dikembangkan sesuai dengan kebutuhan fungsional dan operasional kerja terkini. Tahap pemeliharaan memperhatikan aspek antara lain:
a. Library
Untuk menjamin ketersediaan program yang digunakan, Bank harus memiliki library untuk menyimpan program. Selain itu, Bank juga perlu menyimpan informasi dan/atau dokumen berupa data dan program yang berhubungan dengan server atau mesin produksi yang berasal dari pengembangan dan/atau pengujian.
b. Konversi
Dalam hal terjadi merger, konsolidasi, atau akuisisi Bank yang memerlukan pengintegrasian sistem yang digunakan oleh Bank yang terlibat dalam merger, konsolidasi, atau akuisisi maka perlu dilakukan proses konversi. Dalam proses ini dilakukan modifikasi atau perubahan besar pada sistem yang ada dan pengembangan sistem baru apabila diperlukan. Dalam proses konversi ini, proses yang terstruktur seperti manajemen proyek dan siklus pengembangan sistem tetap harus diterapkan.
Mengingat kompleksitas sistem di masing-masing Bank yang terlibat merger, konsolidasi, atau akuisisi, diperlukan analisis secara komprehensif terhadap dampak konversi pada kegiatan operasional Bank khususnya pemrosesan transaksi. Agar proses konversi berlangsung secara efektif, Bank perlu mengantisipasi peningkatan permintaan untuk balancing, reconcilement, exception handling, dukungan pengguna dan nasabah, penyelesaian masalah, keterhubungan jaringan, dan sistem administrasi.
c. Pemeliharaan Dokumentasi
Standar dokumentasi harus mengidentifikasikan dokumen utama dan dokumen detail yang telah disetujui dan sesuai format yang dibutuhkan. Dokumentasi tersebut harus berisi semua perubahan yang terjadi pada sistem baik dari perangkat lunak, perangkat keras, dan jaringan, serta konfigurasi sesuai dengan standar yang ditentukan.
Dokumentasi terkait sistem hanya dapat diakses oleh personel Bank yang berhak dan/atau memiliki kewenangan untuk mengadministrasikan dokumentasi tersebut. Bank harus memiliki lokasi penyimpanan khusus dokumentasi baik yang berupa hardcopy maupun softcopy, termasuk lokasi yang akan
digunakan untuk kondisi darurat.
2.3.1.9. Tahap Pemusnahan (Disposal)
Setiap perangkat lunak hasil pengembangan yang sudah tidak digunakan lagi dalam kegiatan operasional dan berdasarkan pertimbangan manajemen diyakini tidak akan diperlukan dan tidak akan dipelihara lagi maka perangkat lunak tersebut akan memasuki tahap terakhir yaitu tahap pemusnahan (disposal). Hal ini dilakukan untuk memastikan sistem yang paling akurat dan terkini yang digunakan dalam kegiatan operasional serta menghindari penyalahgunaan oleh pihak tidak berwenang.