Thursday 27 December 2012

CMMI - Software Quality Assurance (SQA)

Di dalam framework CMMI, untuk sebuah organisasi yang ingin mendapatkan maturity level 2 disyaratkan untuk memiliki sebuah tim yang dikenal dengan nama SQA atau Software Quality Assurance. Istilah ini terkadang menimbulkan persepsi yang membingungkan dengan istilah Quality Control atau User Acceptance Test yang umumnya sudah berjalan di banyak organisasi IT baik yang sudah mendapatkan sertifikat CMMI atau belum.
Dalam pengertian CMMI, istilah Software Quality Assurance tidak berhubungan secara langsung dengan produk IT yang sedang dikembangkan. Aktifitas SQA tidak secara langsung mencoba untuk melakukan verifikasi atau validasi apakah produk IT atau aplikasi atau software yang dihasilkan telah sesuai dengan requirement atau spesifikasi yang telah ditetapkan.
 

Jadi Apakah aktifitas SQA ?


Aktifitas SQA, jika kita mengacu pada framework CMMI lebih kurang memiliki tujuan untuk melihat bagaimana proses berjalan selama proyek pengembangan produk IT atau aplikasi. SQA bertugas untuk meyakinkan bahwa proyek ini memiliki requirement yang telah disetujui user atau apakah proses testing telah dilaksanakan secara standard dan mendapatkan sign-off dan lain sebagainya berkaitan dengan proses yang berjalan selama proyek berlangsung.

Secara umum, aktifitas SQA melingkupi hal-hal sebagai berikut :
- Secara objektif melakukan analisa apakah proses yang berjalan yang berjalan selama proyek, dokumentasi dari setiap aktifitas dari proyek dan juga hasil-hasil dari proyek telah sesuai dengan standard dan prosedur yang sudah ditetapkan oleh organisasi.
- Melakukan identifikasi dan dokumentasi jika terdapat hal-hal yang tidak sesuai dengan standard atau prosedur proses yang telah ditetapkan oleh organisasi.
- Memberikan feedback kepada tim atau manajer yang terlibat di dalam proyek mengenai hasil yang telah ditemukan selama proses SQA.
- Meyakinkan bahwa semua issue yang telah ditemukan selama proses SQA, telah tercatat dan mendapat tanggapan untuk segera diselesaikan sesuai dengan standard dan prosedur yang telah ditetapkan oleh organisasi.

Intinya proses SQA adalah sebuah aktifitas untuk mendukung agar proyek dapat menghasilkan sebuah produk yang berkualitas yang memantau proses yang berlangsung selama proyek dan memberikan feedback jika terdapat ada issue yang tidak sesuai dengan standard atau prosedur yang berlaku untuk selanjutnya diselesaikan dan ini berlangsung secara reguler selama proyek berlangsung dari awal sampai akhir.

SQA layaknya sebagai POLISI dalam Proyek


Seperti layaknya jika kita melihat Polisi ditengah-tengah lingkungan kita, dia bisa menjadi sesuatu yang menakutkan atau justru menjadi sesuatu yang melindungi dan sangat diharapkan keberadaannya. Pada saat Polisi melihat sesuatu yang tidak sesuai dengan aturan (misalkan melanggar lampu merah), kita akan merasa was-was pada saat kita melakukannya dan Polisi mendekati kita. Sementara itu, orang yang lain akan merasa nyaman dan aman karena Polisi telah memberikan peringatan kepada orang yang melanggar lampu merah sehingga keamanan bagi pengendara yang lain tetap terjaga dan lalu lintas akan menjadi lancar jika semua orang mematuhi aturan yang ada.
Itulah yang dilakukan oleh tim SQA di dalam sebuah sebuah proyek yang dijalankan dengan menggunakan framework CMMI. Tim SQA selalu mengacu kepada standard dan prosedur proses yang telah ditetapkan oleh organisasi untuk menjamin semua proyek berjalan sesuai dengan standard proses yang berkualitas. Dan aktifitas SQA mengacu kepada konsep bahwa, produk yang berkualitas akan dapat dihasilkan oleh proses yang berkualitas.

Produk yang berkualitas akan dihasilkan dari proses yang berkualias


Ingat, bahwa kualitas proyek IT tidak dapat terlihat secara langsung dengan melihat hasil akhir. Pada saat kita membeli sebuah motor, kita dapat melihat bentuk fisik dari motor, mendengarkan bagaimana suara yang dihasilkan oleh mesin motor dan mencoba mengendarai motor tersebut selama beberapa menit. Dengan melakukan aktifitas ini terhadap motor, kita dapat menentukan apakah motor ini telah sesuai dengan keinginan kita dan kita siap untuk membelinya.
Mari kita lihat, pada saat proyek manager IT mengatakan kepada kita, "Pak, proyek telah selesai dan aplikasi ini saya serahkan kepada bapak untuk dipergunakan". Apa yang ada di kepala kita pada saat penyerahan produk IT tersebut kepada kita. Tentu saja, kita akan merasa sulit untuk melihat apakah produk yang diberikan oleh manajer IT tersebut telah sesuai dengan yang kita harapkan. Itulah tantangannya, maka kita sering mendengar bahwa jika kita tahu bahwa proses pengembangan IT tersebut telah berjalan dengan kualitas yang baik, maka produk yang dihasilkan kemungkinan juga berkualitas. Jika seluruh proses requirement telah berjalan sesuai standar, proses pengembangannya berjalan sesuai guidelline sampai akhirnya proses testing dan user acceptance test berlangsung sesuai dengan standar kualitas yang telah ditetapkan, maka pada saat penyerahan produk kita memiliki rasa percaya diri yang tinggi bahwa produk ini telah sesuai dengan keinginan kita.
Sama dengan aktifitas kita dalam berkebun, jika kita selalu memberi pupuk dan merawat kebun sesuai dengan standar dan prosedur yang telah ditetapkan (untuk mencapai sebuah kualitas tertentu), maka kita dapat berharap dan percaya bahwa produk yang dihasilkan akan juga berkualitas.

SQA dan SQC


Secara umum, bagi organisasi IT yang belum menjalankan CMMI, mereka jarang sekali mendengar istilah SQA. Dan pada saat CMMI diperkenalkan, istilah SQA terkadang dipersepsikan sebagai kegiatan testing terhadap produk IT. Padahal SQA lebih terfokus kepada proses pengembangan mulai dari tahap persiapan sampai akhirnya proyek dinyatakan selesai.

Sedangkan proses untuk menguji apakah sebuah produk (aplikasi IT) telah sesuai dengan requirement atau spesifikasi yang disepakati, kita dapat menyebutnya sebagai Quality Control atau Software Quality Control (SQC). Sehari-hari mungkin kita sering dengar juga istilah UAT atau QA, yang lebih kurang sama dengan SQC yaitu melakukan verifikasi dan validasi apakah produk sesuai dengan requirement dan dapat bekerja atau beroperasi dengan baik.

Jika mengacu kepada CMMI, kegiatan SQA berkaitan dengan proses area (proses inti) "PROCESS AND PRODUCT QUALITY ASSURANCE". Dan kegiatan SQC, berkaitan dengan proses area (proses inti) "VERIFICATION" dan "VALIDATION".



--------
Link:
Topik tentang mengenai kehidupan di Singapura: Kehidupan di Singapura 
Topik tentang mengenali teknologi informasi: Mengenali Teknologi Informasi

Monday 24 December 2012

Wiki. ?

Kita sering melihat dan mendengar istilah "wiki" baik di lautan internet maupun dalam proyek yang melibatkan kita di dalamnya. Istilah wiki telah cukup populer saat ini dan begitu banyak pula tool yang telah dikembangkan oleh pelaku IT baik dalam skala yang luas atau skala yang kecil.
 
Wiki menjadi tool yang cukup ampuh pada saat sebuah pekerjaan menuntut kolaborasi yang cukup banyak dalam hal informasi antara orang-orang yang terlibat pada pekerjaan tersebut. Beberapa ilustrasi sederhana dalam keseharian kita, misalnya kegiatan para panitia HUT kemerdekaan dimana banyak orang dan tim yang terlibat dalam urusan menyukseskan acara tersebut. Begitu juga, acara pernikahan, sunatan dan lain sebagainya.

Ada tim konsumsi yang bertanggung jawab dalam urusan makanan. Mereka harus berkolaborasi dengan seksi transportasi, bendahara, seksi perlengkapan dan lain-lain. Pertanyaannya adalah bagaimana agar komunikasi dan informasi yang diperlukan dalam kegiatannta tersebut mengalir dengan baik dan dapat diakses, sehingga semua orang yang terlibat dalam kegiatannya tersebut mengetahui status dari setiap item, mengetahui kesulitan yang sedang dihadapi oleh tim lain, dapat memberikan ide untuk mencari solusi masalah dan lain-lain.

Dalam dunia kerja saat ini, kita sering melihat begitu banyak email yang datang dan keluar dari box email kita untuk membicarakan masalah yang sering berkaitan dengan proyek yang sedang kita jalankan. Tetapi kini, box email kita telah kebanjiran data dan informasi sehingga kita sendiri mengalami kesulitan untuk melakukan track terhadap sebuah status atau topik. Apakah tim testing sudah mendapatkan salinan spesifikasi fungsional dari sistem analis? Apakah spesifikasi yang dimiliki oleh tim testing sama dengan yang dimiliki oleh para programmer?. Yang sering terjadi adalah banyak email penting tang tidak sempat terbaca dan banyak email yang tidak penting yang harus dibaca.

Sebuah Ilustrasi


Mari kita bayangkan, jika semua orang yang terlibat dalam proyek berada dalam satu ruangan dan terdapat whiteboard besar di dalam ruangan yang bisa digunakan secara bersama.

Di whiteboard tersebut sekarang terdapat banyak catatan yang dikelompokkan berdasarkan topik. Mari kita lihat catatan di topik konsumsi. Terdapat catatan jenis masakan yang akan dipersiapkan dan bagaimana proses pengadaannya apakah akan membeli atau memasak sendiri dan termasuk pula biayanya. Di dalam topik yang sama terdapat catatan item yang harus diklarifikasi, yaitu:
- Siapa yang akan mengambil makanan dari restoran atau pasar.
- Kebutuhan akan kompor, gas dan kotak makanan.
- Dan masih terdapat catatan lainnya.

Pada saat seksi transportasi membaca tulisan tersebut, mereka langsung berdiskusi dan akhirnya seseorang menuju ke whiteboard. Dia menambahkan catatan tentang siapa yang skan mengambil makanan dari restoran atau pasar, termasuk nomor polisi kendaraan yang akan digunakan dan juga nomor handphone dari sopir tersebut.

Seksi perlengkapan juga melakukan reaksi yang sama, mereka mendatangi whiteboard dan menulis sebuah topik baru di whiteboard tentang barang yang harus mereka beli yaitu kompor, gas dan kotak makanan. Merinci biayanya di whiteboard dan daftar toko atau rekanan mereka untuk mendapatkan barang tersebut. Mereka meminta uang dari bendahara untuk membeli barang-barang tersebut dan menuliskan hal ini di whiteboard dalam topik kebutuhan uang. Setelah mereka memesan semua perlengkapan barang yang dibutuhkan, tim perlengkapan menambahkan keterangan di bagian konsumsi bahwa barang-barang tersebut akan tersedia pada tanggal tertentu.
 
 

 
Dari ilustrasi di atas, kita melihat bahwa whiteboard disini menjadi sarana utama dalam mengelola seluruh informasi yang mengalir di dalam sebuah kegiatan yang menuntut kolaborasi. Semua orang di dalam tim dapat melihat situasi dari proyek secara transparan karena semua informasi tercatat dalam whiteboard dan dikelola secara baik oleh seluruh anggota tim dari proyek. 

Apakah WIKI Dalam Dunia Teknologi Informasi ? 

 
Wiki yang kini berkembang di dunia teknologi informasi, memiliki peran yang sama dengan whiteboard yang diilustrasikan di atas. Wiki adalah sebuah portal atau sebuah sarana yang digunakan oleh seluruh anggota tim dalam rangka berkolaborasi untuk menjalankan sebuah proyek bersama.
 
Dengan kemajuan teknologi informasi dan jaringan komunikasi data, WIKI menjadi sebuah sarana yang cukup berkembang pesat dan telah banyak pelaku IT mengembangkan tool kolaborasi guna memudahkan pengelolaan informasi. Bayangkan dalam satu hari, setiap anggota tim berkomunikasi hanya dengan menggunakan email dan telpon tanpa memiliki sebuah media bersama untuk mengelola semua informasi tersebut, maka kolaborasi akan berjalan timpang.
 
Dengan adanya WIKI, komunikasi menggunakan email dan telpon akan dapat terkontrol karena semua komunikasi berjalan dan mengalir melaui WIKI. Semua orang akan mudah untuk melihat status terakhir dari sebuah topik, membantu rekannya yang memiliki item yang perlu diselesaikan, brainstorming dan lain sebagainya. 
 
Secara sederhana WIKI menyediakan fasilitas bagi para anggota kolaborasi untuk membuat sebuah topik tertentu dan meng-edit topik tersebut sehingga semua topik menjadi transparan bagi semua orang yang terlibat. Tentu saja WIKI memiliki level akses yang berbeda bagi setiap orang. Ada orang yang diperbolehkan untuk membuat topik baru sementara orang yang lain hanya boleh merubah atau menambahkan item dalam topik tersebut tanpa dapat menambahkan topik baru. Sementara orang lain, hanya diperbolehkan untuk melihat saja.

Dibandingkan dengan cara konvensional menggunakan whiteboard, dengan kelebihan yang dimiliki IT, semua history dari setiap update atau perubahan yang terjadi dapat ter-record dengan baik. Sehingga dengan mudah kita dapat mengetahui siapa saja yang telah ber-kontribusi di dalam WIKI tersebut, termasuk informasi tanggal dan jam.

Lokasi tidak menjadi sebuah kendala dalam teknologi informasi, sehingga sebuah tim yang bekerja dalam wilayah geografi yang berbeda dapat mengambil manfaat dari ketersediaannya fasilitas WIKI dalam proyeknya.

Content Management System


Dalam kapasitas yang jauh lebih besar, WIKI sering menjadi bagian dari Content Management System (CMS). CMS jauh lebih advance karena di dalamnya terdapat pula kemampuan untuk menjaga semua asset yang telah dikerjakan selama proyek. Seluruh dokumentasi, surat, perjanjian dan asset lainnya yang diperlukan atau sebagai sebuah delivery dari project, semuanya dapat dikelola di dalam CMS. Bagi yang tertarik untuk melihat tool Content Management System yang gratis, salah satu software tersebut adalah alfresco.

Alfresco adalah sebuah open source yang dapat menjadi salah satu pilihan untuk mengimplementasikan Content Management System (CMS) atau Enterprise Content Management (ECM). Alfresco memiliki kemampuan dalam hal mengelola dokumen, berkolaborasi, Record Management, Knowledge Management dan termasuk pula kemampuan mengelola image.  
 

Wikipedia

 
Wikipedia adalah sebuah Eksiklopedia gratis yang dikembangkan dengan menggunakan pendekatan WIKI. Sebuah eksiklopedia global dimana semua orang dapat berkonstribusi dengan mengisi atau menambahkan informasi di dalamnya.

Kita dapat menambahkan sebuah topik baru di dalam Wikipedia, kemudian dengan kontrol tertentu, orang lain juga bisa menambahkan informasi yang lain untuk menambah nilai tambah terhadap topik tersebut, sehingga Eksiklopedia ini semakin berkembang dan memiliki informasi yang mungkin sangat kita butuhkan sebagai sebuah buku pengetahuan global.



--------
Link:
Topik tentang mengenai kehidupan di Singapura: Kehidupan di Singapura 
Topik tentang mengenali teknologi informasi: Mengenali Teknologi Informasi
 
 

Saturday 22 December 2012

Apa Itu SWIFT Code ?

Ada sebuah event mengumumkan langkah yang harus ditempuh bagi yang berminat dalam kegiatan tersebut, dan secara sederhana pengumunan yang dimaksud adalah sebagai berikut :
Pembayaran dapat dilakukan melalui transfer a/n XXXXXX dengan nomor rekening XXX-XXX dengan SWIFT Code: BMRIIDJA, Bank Mandiri, cabang XXXXXX
Tidak ada yang salah dalam informasi tersebut tetapi kemudian muncul pertanyaan atau komentar dari salah seorang peminat sebagi berikut “Saya akan ke Bank Mandiri sekarang untuk mentransfer uang sesuai perintah di atas, tetapi saya bingung, apa yang harus saya lakukan terhadap SWIFT Code BMRIIDJA, saya sama sekali tidak mengerti apa makna dari SWIFT Code tersebut ???“
  • Apakah itu kode event yang harus saya cantumkan di berita transaksi ?
  • Apakah itu kode tertentu yang diberikan penyelengara event kepada pihak bank Mandiri, sehingga jika ada transfer dengan berita SWIFT Code BMRIIDJA, Bank Mandiri akan memberikan notifikasi kepada penyelenggara event ?
  • Mungkin terdapat lebih banyak list yang terpendam dibenak si-penanya, sehingga yang bersangkutan masih bingung apa yang harus dia lakukan pada saat melakukan transfer uang.
Berangkat dari kebingungan ini, saya mencoba mengupas sedikit mengenai kode ini.

Bank Identifier Code

SWIFT code identik dengan terminologi “Bank Identifier Code” atau disingkat dengan BIC dalam wacana SWIFT. Seperti yang pernah saya jelaskan sebelumnya, bahwa salah satu peran SWIFT adalah menjadi “kantor pos global” bagi semua bank di dunia dalam mengirimkan dokumen transaksinya dari satu bank ke bank lain. Seperti layaknya dalam kita mengirimkan surat melalui kantor pos, di sampul surat kita akan selalu memberikan identitas lengkap mengenai siapa penerima surat dan siapa pengirim surat tersebut.
Dan sedapat mungkin identitas ini sifatnya unik atau tunggal. Kita tidak mungkin menuliskan bahwa penerima surat adalah “Saudara Eko di Surabaya”, alangkah pusingnya bapak pos pengantar surat meng-identifikasi siapa penerima surat ini sebenarnya. Ada seratus lebih orang yang memiliki nama Eko di Surabaya. Untuk itu, identitas penerima haruslah sebuah identitas yang unik atau tunggal, sehingga bapak pos pengantar surat dapat mengantarkan surat dengan tujuan yang tepat. Identitas pengirim juga harus diupayakan lengkap, sehingga jika terjadi kegagalan dalam pengiriman surat bapak pos akan tahu kemana harus mengembalikan surat tersebut.
Dari ilustrasi diatas, sebagai “kantor pos global bagi semua bank di dunia”, SWIFT telah menetapkan identitas yang unik dan tunggal untuk setiap bank yang bergabung dengan SWIFT. Dengan memberikan identitas yang unik ini SWIFT akan mengetahui secara pasti siapa penerima dan pengirim dari dokumen transaksi keuangan antar bank.
Identitas inilah yang kemudian kita kenal sebagai SWIFT Code atau dalam textbook-nya SWIFT ini lebih dikenal sebagai BIC (Bank Identifier Code). Kalo kita kembali kepada pertanyaan di awal tulisan ini, kita melihat SWIFT code BMRIIDJA. Itu adalah identitas unik yang diberikan oleh SWIFT kepada Bank Mandiri, sehingga seluruh bank di dunia akan tahu kalau ada surat dengan pengirim atau penerima BMRIIDJA, itu maknanya adalah Bank Mandiri.
Jadi kira-kira begini, jika Pak Anda yang ada di New York ingin terlibat dalam event tersebut dan dia adalah nasabah CitiBank di New York, dia bisa mentransfer uangnya dari account dia ke Bank Mandiri. Tetapi, mari kita lihat sebuah skenario dimana, teller CitiBank di New York tidak mengenal Bank Mandiri. Untuk meyakinkan teller-nya CitiBank di New York, kita bisa sedikit ‘high profile’ dengan menyebutkan bahwa Bank Mandiri ini memiliki kode SWIFT BMRIIDJA. Teller Bank akan langsung menyelesaikan transaksi anda dengan cepat karena dia tahu persis kemana dia akan mengirimkan uang tersebut. CitiBank lebih kurang mengirimkan berita sebagai berikut :
Sender: CITIUS33
Receiver: BMRIIDJA
Berita :
:32A:111116IDR10000000,
:52A:Pak Anda
New York
:59:PT.XXXXX
Jakarta

Itulah kira-kira dokumen yang akan dikirim oleh CitiBank New York (CITIUS33) kepada Bank Mandiri di Jakarta (BMRIIDJA), yang isinya berupa transfer uang sejumlah IDR10,000,000 dari Tuan Anda di New York kepada PT.XXXXX di Jakarta.

Apa Saja Komponen SWIFT Code atau BIC

Kode SWIFT secara standar memiliki 3 komponen dengan total huruf sebanyak 8.
  • 4 huruf pertama menunjukkan kode Bank yang bersangkutan. Kode ini diusulkan oleh pihak bank kepada SWIFT. Dalam cerita kita, 4 huruf pertama ini adalah BMRI. Itu artinya Bank Mandiri mengusulkan kepada SWIFT 4 huruf pertama yang akan menjadi kode SWIFT-nya. SWIFT akan melakukan klarifikasi apakah kode tersebut sudah terpakai atau belum
  • 2 huruf berikutnya adalah kode negara. Ini tentu saja kode ISO yang sudah ditetapkan secara internasional. Untuk cerita kita ini, 2 huruf berikutnya adalah ID, yang artinya Indonesia.
  • 2 huruf berikutnya adalah kode lokasi, ini biasanya ditetapkan oleh otoritas negara yang bersangkutan. Untuk Indonesia, JA sudah ditetapkan sebagai kode lokasi buat Jakarta. Untuk US, kode lokasi 33 bermakna New York.

Summary

Kalau kita kembali ke topik awal dari tulisan ini, saya bisa berkomentar bahwa jika event tersebut hanya bersifat nasional kode SWIFT tersebut tidak terlalu penting, dengan alasan :
  • Semua teller bank di Indonesia, akan mengetahui Bank Mandiri tanpa perlu menyebutkan kode SWIFT nya.
  • “Domestic payment” seperti tulisan saya sebelumnya, masih belum menggunakan SWIFT sebagai ‘kantor pos” untuk mengirimkan dokumen transaksi yang bersifat nasional.
Kode SWIFT itu, akan sangat membantu jika memang event itu berskala internasional dan dimungkinkan ada transfer masuk dari bank di luar negeri.

Terima kasih
Mudah-mudahan tulisan ini dapat memberi manfaat …



--------
Link:
Topik tentang mengenai kehidupan di Singapura: Kehidupan di Singapura 
Topik tentang mengenali teknologi informasi: Mengenali Teknologi Informasi

Friday 21 December 2012

SWIFT Standard Sebagai Media Komunikasi Antar Bank

Secara mudah SWIFT standard adalah sebuah infrastruktur, konsep atau sistem yang memungkinkan seluruh bank di dunia dapat bertransaksi dengan menggunakan bahasa dan cara yang sama. Kata kuncinya ‘satu bahasa’ untuk semua bank di seluruh dunia.
Mari kita membuat cerita sederhana untuk menggambarkan ‘apa itu SWIFT standard’. Mr. Andi pergi ke bank nasional di kota jakarta untuk mengirimkan sejumlah uang $1000 (seribu dolar Amerika) kepada Mr. Anda yang tinggal di New York. Setelah Mr. Andi menyelesaikan transaksinya dan meninggalkan bank, kira-kira apa yang selajutnya akan dilakukan oleh pihak bank agar uang tersebut sampai kepada Mr. Anda.
Dengan menggunakan sebuah sistem tertentu, bank ini akan menyiapkan sebuah dokumen atau surat yang lebih kurang berisi sebagai berikut :
:32A:111026USD1000,
:52K:Mr. Andi
Jalan Sehat Sejahtera No. 123
Jakarta, Indonesia
:59:Mr. Anda
123 Hill Street
New York, USA

Setelah dokumen di atas selesai dibuat, maka dengan menggunakan suatu sistem dan infratruktur yang sangat aman, pihak bank agar mengirimkan dokumen tersebut ke bank dimana Mr. Anda menjadi nasabah.
Nah, hal yang cukup menarik dari surat atau dokumen tersebut adalah, seluruh bank di dunia akan memiliki pengertian yang sama dalam menerima dan menterjemahkan dokumen tersebut. Seluruh bank di dunia akan tahu bahwa makna dari item ‘:30A:’ adalah tanggal sebanyak 6 digit (yaitu 111026=26 Oct 2011), diikuti dengan mata uang (yaitu USD=US Dolar) dan diakhiri dengan nominal uang.
Kemudian makna dari item “:52K:” adalah nama dan alamat pengirim uang dan yang terakhir item “:59:” berarti nama dan alamat si penerima uang. Percayalah pada saya, bahwa seluruh bank di dunia sangat mengerti bahasa tersebut dan inilah yang saya maksud dengan “SWIFT standard”. Artinya sebuah ‘bahasa yang standard’ yang diciptakan oleh sebuah ‘komunitas’ global yang bernama SWIFT.

Macam-Macam SWIFT dokumen

Dalam cerita di atas, dokumen atau surat tersebut dikenal sebagai dokument “103″ dan dalam dokument ‘SWIFT standard, dokumen “103″ dikenal sebagai dokumen “Customer Transfer”.
Lantas, apakah SWIFT hanya melakukan standarisasi terhadap dokument “103″ ? Ternyata jawabannya adalah tidak. Ada ratusan standard dokumen yang sudah ditetapkan dan dipublikasikan oleh SWIFT kepada semua bank di dunia. Ada ratusan dokumen telah di standarisasi oleh SWIFT dan setiap dokumen memiliki nama berupa 3 digit angka, misal dokumen “103″, “300″, “700″ dan sebagainya.
Setiap dokumen memiliki tujuan bisnis tertentu, seperti cerita di atas, dokument “103″ digunakan oleh bank jika ada seorang nasabah ingin mengirimkan uang kepada seseorang yang menjadi nasabah di bank lain. Atau dokument “700″, yang digunakan bank jika ada seorang nasabah ingin membuka “LC” buat transaksi eksport-import barang dengan rekanan bisnisnya di negara lain.

Lantas, Siapakah SWIFT ?

Secara harfiah SWIFT adalah “Society Worldwide Inter-bank Financial Telecomunication”. Inilah adalah sebuah komunitas dunia dan secara struktural para pimpinan organisasi ini adalah perwakilan bank-bank di dunia. Komunitas yang dibentuk di Eropa dan berkantor pusat di Belgia ini, berusaha untuk membangun sarana telekomunikasi sehingga seluruh transaksi antar bank di dunia ini dapat terjadi dengan mudah, aman dan murah.
Gerakan ini dimulai di Eropa sekitar tahun 1970-an dengan keanggotaan beberapa bank dari beberapa negara di Eropa. Dan Organisasi ini berkembang cukup pesat dan cepat sehingga kini hampir seluruh negara di bumi ini rela bergabung dan bersama-sama membangun ‘komunitas’ ini menjadi komunitas yang kuat. Perlu dicatat, bahwa organisasi ini bukan memiliki badan hukum sebagai “Profit Organization”. Organisasi ini adalah sebuah ‘komunitas’ seperti layaknya sebuah ‘koperasi’, yang kira-kira punya makna “dari kita, untuk kita dan oleh kita”.

Apa sih Service atau Layanan yang diberikan oleh SWIFT ?

Walaupun sebagai komunitas bank, SWIFT merekrut banyak profesional IT di dalam organisasi mereka. Para ahli IT ini, membangun infrastruktur yang canggih agar komunikasi antar bank dapat terjadi.
SWIFT membangun server yang cukup besar dan saling back-up. Semua bank di dunia memiliki koneksi yang sangat aman (artinya sulit sekali untuk di-hack) dalam berkomuniasi dengan server ini. Begitu banyak prosedur yang harus ditempuh bank dan memakan waktu bulanan untuk akhirnya bisa tersambung dengan komunitas ini. Sampai saat ini, seluruh bank di dunia sangat percaya akan keamanan jaringan ini. Kalau anda sering bertransaksi dengan bank di luar negeri, maka dapat dipastikan transaksi anda mengalir lewat jaringan ini.
Disamping membangun infrastruktur, SWIFT juga selalu meriview dan meninjau kebutuhan transaksi antar bank dan memperbaiki atau menambah standard dokumen sehingga semua transaksi antar bank dapat terjadi lewat jaringan ini.
Mereka juga memiliki komunitas yang kuat dan selalu ada pertemuan baik di tingkat negara, regional atau dunia.

Semoga bermanfaat.



--------
Link:
Topik tentang mengenai kehidupan di Singapura: Kehidupan di Singapura 
Topik tentang mengenali teknologi informasi: Mengenali Teknologi Informasi

Thursday 20 December 2012

Membangun Kualitas IT dengan CMMI

Saat kita membeli sebuah meja baru, kita dapat mengamati dan menilai secara kasat mata mutu dari meja tersebut, apakah terdapat defect yang sangat mengganggu dan juga dapat menilai apakah design serta hasil akhir dari meja yang kita amati sesuai dengan keinginan kita.

Mari kita bayangkan saat membeli sebuah aplikasi atau pada saat penyedia IT menyampaikan hasil pengembangannya kepada kita. Apa yang harus kita lakukan untuk melihat apakah aplikasi tersebut benar-benar telah sesuai dengan keinginan kita, dapatkah kita melihat defect yang terdapat pada aplikasi tersebut secara kasat mata, karena memang aplikasi tidak berbentuk sebuah fisik. Pertanyaan yang muncul adalah, bagaimana kita bisa meyakinkan bahwa kualitas aplikasi yang kita dapatkan telah sesuai dengan harapan kita ?

Di sisi pengembang IT, kita sering melihat para programmer yang mengeluh karena design yang sering berubah-ubah dan penambahan fungsi baru yang tidak terdokumentasi dengan baik sehigga programmer terlalu sering untuk melakukan 'rework' karena tidak adanya kontrol yang baik terhadap dokumentasi design dan fungsi antara pihak pengembang IT dan pihak End-User. Ini dapat mengakibatkan kualitas program yang rendah, keterlambatan dan juga memunculkan biaya baru. Ini adalah sebuah gejala dari tidak adanya proses standar dan baku dalam organisasi IT.

Fenomena Pengembangan Aplikasi


Mari kita lihat beberapa permyataan yang cukup sering kita dengar dalam menjalankan proyek pengembangan aplikasi.
  • Seorang manajer pengembangan aplikasi, "Yang penting aplikasinya diimplementasikan terlebih dahulu. Kesalahan atau defect adalah hal yang biasa dan kita bisa perbaiki di versi berikutnya. Itu lebih baik daripada kita menunda sehingga jadwal implementasi menjadi terlambat".
  • Seorang manajer proyek, "Kunci dari keberhasilan saya adalah schedule. Jika saya tidak dapat menyelesaikan pekerjaan saya tepat waktu, artinya saya telah gagal menjalankan proyek ini."
Itu adalah beberapa pernyataan yang sering menurunkan tingkat kualitas aplikasi yang sedang kita kembangkan. Disisi lain, Deming dan Humprey mengatakan bahwa "Kualitas sebuah produk sangat ditentukan oleh kualitas dari proses yang digunakan mulai dari perencanaan, design, pengembangan hingga akhirnya perawatan".

Jika kita mampu menjalan sebuah proses yang berkualitas, maka secara umum kita akan menghasilkan produk yang berkualitas. Deming dan Humpey mengembangkan sebuah framework yang kita kenal dengan nama Capability Maturity Model (CMM). Dan kini framework ini telah berkembang menjadi Capability Maturity Model Integration (CMMI).

Apa itu CMMI


Mungkin kita sering mendengar bahwa organisasi IT menyatakan bahwa mereka telah menjalankan CMMI level 3 dan sementara di organisasi yang lain telah mendapatkan CMMI level 4. Dan kita juga mungkin melihat ada organisasi yang sedang memulai untuk mengimplementasikan CMMI di dalam proses pengembangan produk IT.

CMMI adalah sebuah model yang terstruktur untuk menggambarkan level dari proses secara menyeluruh pada sebuah organisasi. CMMI direpresentasikan atau digambarkan dalam 2 bentuk yaitu
  • Proses digambarkan sebagai Continous Representation untuk menunjukkan Capability Level
  • Proses digambarkan sebagai Staged Representation untuk menunjukkan Maturity Level.
CMMI dapat memberikan gambaran bagaimana kualitas semua proses yang dijalankan berdasarkan representasi 'Continous' dan ' Staged'. Kita juga dapat membandingkan organisasi yang telah memiliki dan menjalankan proses yang terstruktur berdasarkan Capability Level dan Maturity Level.

Proses Inti Dalam CMMI


Trdapat beberapa proses inti yang menjadi acuan dalam pelaksaan CMMI bagi sebuah organisasi. Di bawah ini adalah proses inti yang dimiliki oleh CMMI.

Process Management
  • Organizational Process Focus
  • Organizational Process Definition
  • Organizational Training
  • Organizational Process Performance
  • Organizational Innovation and Deployment


  • Project Management
  • Project Planning
  • Project Monitoring and Control
  • Supplier Agreement Management
  • Risk Management
  • Intergrated Teaming
  • Integrated Supplier Management
  • Quantitative Project Management


  • Engineering
  • Requirement Management
  • Requirement Development
  • Technical Solution
  • Product Integration
  • Verification
  • Validation


  • Support
  • Configuration Management
  • Process and Product Quality Assurance
  • Measurement and Analysis
  • Decision Analysis and Resolution
  • Organizational Environment for Integration
  • Causal Analysis and Resolution


  • Continous Representation atau Capability Level


    Capability Level adalah sebuah model untuk menggambarkan bagaimana setiap proses inti berjalan di dalam sebuah organisasi. CMMI memiliki 6 level untuk setiap proses inti:
    • Level 0:   Incomplete
    • Level 1:   Performed
    • Level 2:   Managed
    • Level 3:   Defined
    • Level 4:   Quantitatively Managed
    • Level 5:   Optimizing

    Setiap organisasi tentu bisa memiliki satu atau dua proses inti yang menurut mereka sangat penting dan berada pada level 4 atau 5, sementara di organisasi berbeda dapat memiliki level berbeda-beda untuk setiap proses inti.

    CMMI memiliki panduan dan tim yang dapat menilai atau mereview untuk melihat capability level untuk setiap proses inti di dalam sebuah organisasi. Secara singkat, penjelasan capability level adalah sebagai berikut.

    Capability Level 0: Incomplete
    Sebuah proses area dapat dikategorikan berada pada level ini, jika proses tersebut memang tidak dimiliki oleh organisasi yang bersangkutan atau berjalan secara partial.

    Capability Level 1: Performed
    Proses area tersebut sudah menjadi bagian dari sesuatu yang wajib dalam menjalankan kegiatan. Walaupun masih terdapat kekurangan dalam pelaksanaannya baik disisi kualitas maupun schedule. Prinsipnya proses sudah berjalan dan menjadi sesuatu yang wajib sebagai titik awal.

    Capability Level 2: Managed
    Sebuah proses berada pada level ini, jika proses ini selalu direncanakan, dilakukan, dimonitor dan berjalan pada setiap aktifitas pengembangan. Ini berarti bahwa, organisasi ini selalu menjalankan proses ini di setiap proyek pengembangannya. Terdapat fungsi perencanaan dan kontrol.

    Capability Level 3: Defined
    Sebuah proses berada pada level ini, jika proses itu didefinikan secara menyeluruh di dalam sebuah organisasi. Pada level 2 ("Managed"), sangat dimungkinkan proyek A dan B menjalankan proses requirement analysis, tetapi mereka melakukannya dengan cara yang berbeda. Sehingga team di proyek A, sangat sulit untuk memahami proses dan dokumentasi dari requirement analysis di proyek B. Pada level 3 ("Defined"), semua proses telah didefinisikan secara baku sehingga semua orang di dalam organisasi ini memiliki cara yang sama untuk melakukan sebuah proses tertentu.

    Capability Level 4: Quantitatively Managed
    Di level ini, sebuah proses akan dimonitor  menggunakan pendekatan kuantitatif untuk mengukur apakah sebuah proyek benar-benar menjalankan proses secara tepat.

    Capability Level 5: Optimizing
    Sebuah proses berapa pada level ini di dalam sebuah organisasi, jika terdapat sebuah aktifitas atau tim yang fokus untum mempelajari atau mereview. Ini adalah sebuah pengembangan dari level 4.

    Melalui proses review dan analisa dengan metode tertentu, sebuah organisasi IT dapat memiliki Continous Representation atau Capability Level untuk semua proses inti yang telah didefinisikan oleh CMMI. Kita dapat merepresentasikan melalui sebuah grafik atau menggunakan tabel. Mari kita liat contoh berikut :
    • Requirement Management (REQM): level 3
    • Project Planning (PP): level 3
    • Project Monitoring and Control (PMC): level 2
    • Supplier Agreement Management (SAM): level 2

     

    Staged Representation atau Maturity Level


    Jika kita mendengar sebuah organisasi telah menjalankan CMMI level 3, ini menunjukkan bahwa organisasi ini berkaitan dengan "Staged Representation" atau "Maturity Level". Artinya organisasi ini telah mendapatkan sertifikat Maturity Level 3 dalam implementasi CMMI.

    Pada Continous Representation atau Capability Level, kita melihat satu persatu proses inti yang ada dan mencoba untuk mengkaji dan mereview sampai sejauh mana implementasi proses inti tersebut di dalam organisasi.

    CMMI juga dikenal dengan satu model dengan 2 representasi. Sekarang kita melihat representasi kedua dari CMMI yang sering disebut sebagai "Staged Representation" dan menggunakan "Maturity Level" sebagai tolak ukurnya. Dalam Maturity Level, kita melihat sejauh mana organisasi telah menjalankan seluruh proses inti yang terdapat pada CMMI. Maturity Level akan melihat semua proses tersebut untuk menggambarkan "Staged Representasi".

    Terdapat 5 Maturity Level dalam CMMI
  • Level 1:   Initial
  • Level 2:   Managed
  • Level 3:   Defined
  • Level 4:   Quantitatively Managed
  • Level 5:   Optimizing

  • Secara sederhana, makna dari level tersebut adalah sebagai berikut :

    Maturity Level 1: Initial
    Secara umum, organisasi yang berapa pada level 1 adalah organisasi yang belum menjalankan CMMI. Tidak terdapatnya proses yang standar dalam pengembangan IT, banyak perubahan yang bersifat ad-hoc (begitu terdapat defect, langsung di coba diperbaiki tanpa melihat penyebab utama secara menyeleruh) dan sangat sedikit kontrol. Organisasi semacam ini umumnya sangat tergantung terhadap 'orang', tidak tergantung kepada 'sistem'. Jika terdapat satu orang yang 'cerdas', dia akan menangani semuanya sebagai 'hero' dan pada saat 'orang' ini tidak ada, maka proyek akan bergoyang.

    Maturity Level 2: Managed
    Organisasi ini telah memiliki beberapa proses yang sering digunakan salam setiap proyek pengembangan, tetapi tidak terdapat keseragaman secara menyeluruh. Proses sudah mulai berjalan secara konsisten, tetapi tidak menyeluruh di semua lini organisasi.

    Maturity Level 3: Defined
    Ini adalah level yang paling umum disasar oleh hampir seluruh organisasi pada saat mereka mengimplementasikan CMMI. Pada level ini, semua lini organisasi menjalankan proses yang sudah didefinisikan pada level organisasi dan semua tim paham bagaimana proses seharusnya berjalan.

    Maturity Level 4: Quantitatively Managed
    Pada level ini, organisasi seudah semakin advance. Mereka mulai menerapkan konsep kuantifikasi pada setiap proses,  selalu diawasi dan dikontrol.

    Maturity Level 5: Optimizing
    Ini adalah level puncak dalam CMMI, dimana innovasi dan optimasi proses senantiasa dipantau dan dianalisa.

    Mapping Proses Inti dan Maturity Level(Staged Representation)


    Disamping penjelasan sederhana diatas, CMMI juga memiliki mapping antara Maturity Level dan Proses Inti yang harus terdapat pada level tersebut. Mapping tersebut adalah sebagai berikut :

    Maturity Level 2:
  • Project Planning
  • Project Monitoring and Control
  • Supplier Agreement Management
  • Requirement Management
  • Configuration Management
  • Process & Product Quality Assurance
  • Measurement and Analysis


  • Maturity Level 3:
  • Organizational Process Focus
  • Organizational Process Definition
  • Organizational Training
  • Integrated Project Management
  • Risk Management
  • Requirement Development
  • Technical Solution
  • Product Integration.
  • Verification
  • Validation
  • Decision Analysis and Resolution


  • Maturity Level 4:
  • Organizational Process Performance
  • Quantitative Project Management


  • Maturity Level 5:
  • Organizational Innovation and Deployment
  • Causal Analysis and Resolution.


  • Penutup

    CMMI adalah sebuah model dengan menggunakan 2 macam representasi untuk menunjukkan bagaimana sebuah organisasi me-manage semua proses dalam setiap proyek pengembangan untuk mencapai produk IT yang berkualitas.


    --------
    Link:
    Topik tentang mengenai kehidupan di Singapura: Kehidupan di Singapura 
    Topik tentang mengenali teknologi informasi: Mengenali Teknologi Informasi


    Semoga Bermanfaat.
    Tampines (Singapore)

    Catatan Pendidikan Menengah (SMP) atau Secondary School di Singapura

    Perjalanan pendidikan atau education journey yang akan dilalui oleh lulusan SD atau Primary School akan berlanjut ke jenjang berikutnya yang...