andry natawijaya
andry natawijaya apa yang kutulis, tetap tertulis

yang enteng-enteng aja...

Selanjutnya

Tutup

Digital Pilihan

Mencegah Terjadinya "Error" pada Pengembangan Aplikasi

11 Juni 2018   19:19 Diperbarui: 11 Juni 2018   19:41 489 1 0
Mencegah Terjadinya "Error" pada Pengembangan Aplikasi
Ilustrasi: channelfutures.com

Rasanya tentu menyebalkan jika pada saat menggunakan suatu aplikasi ternyata aplikasi tersebut mengalami malfungsi atau istilah lainnya error. Terlebih aplikasi tersebut digunakan pada saat benar-benar dibutuhkan.

Error merupakan hal menyebalkan baik bagi pengguna (user) maupun bagi pengembangnya (developer). User pasti akan merasa dirugikan karena kepentingan mereka terganggu akibat error pada aplikasi, sedangkan bagi developer adanya error merupakan hal yang mencerminkan kualitas kerja mereka masih perlu ditingkatkan.

Sistem aplikasi dengan fitur optimal dengan servis serba canggih memang sudah menjadi tuntutan sebagai dampak dari pesatnya perkembangan teknologi informasi. Padahal secanggih apapun sebuah sistem aplikasi tidak akan sempurna seluruhnya, hal tersebut tidak dapat dipungkiri, bahkan oleh perusahaan berbasis teknologi informasi seperti Microsoft, Apple atau IBM.

Aplikasi-aplikasi yang mereka kembangkan dan pasarkan senantiasa melalui serangkaian proses, dan juga terus disempurnakan agar aplikasi tersebut menjadi lebih optimal fungsinya. Namun bagaimana pun hasilnya pasti ada keterbatasan.

Jika kita amati berbagai aplikasi yang beredar biasanya telah mengalami penyesuaian atau up date maupun up grade versi. Tujuannya adalah memperbaiki kekurangan dan meningkatkan fungsi aplikasi itu.

Ilustrasi: barrywise.com
Ilustrasi: barrywise.com

Mungkin saja pada versi sebelumnya ada beberapa fitur dengan banyak keterbatasan, maka untuk meningkatkan fungsinya, keterbatasan tersebut diperbaiki pada versi terbaru.

Agar suatu aplikasi dapat berfungsi dengan baik dengan sedikit mungkin adanya error, memang tidak dapat dilakukan secara sembarangan, melainkan diperlukan rangkaian proses pengembangan (development) secara tersruktur dan terarah.

Manajemen Proyek

Proses development aplikasi perlu dikerjakan secara komprehensif agar ruang lingkup aplikasi dapat memenuhi kebutuhan user, sehingga proses pengerjaannya sebaiknya dilakukan oleh kelompok kerja atau dalam sebuah manajemen proyek.

Manajemen proyek merupakan kelompok kerja dengan beranggotakan praktisi teknologi informasi, perwakilan dari unit bisnis sebagai pihak dengan kepentingan memasarkan aplikasi dan juga perwakilan user. Tugas dari manajemen proyek adalah membuat blue print aplikasi dengan kesesuaian spesifikasi serta menetapkan target dari setiap tahapan proses. 

Manajemen proyek juga bertanggung jawab agar development aplikasi dilakukan memenuhi persyaratan aplikasi tersebut dapat digunakan dan telah mengakomodasi kebutuhan pengguna.

Apabila selama proses pengembangan dan pengadaan terjadi perubahan, antara lain: perubahan user requirement atau perubahan teknologi pendukung maka proses perubahan harus dirancang, dijalankan, dan didokumentasikan dengan baik.

Ilustrasi: dyson.cornell.edu
Ilustrasi: dyson.cornell.edu
1. Inisiasi dan Perencanaan

Pada tahap ini manajemen proyek melakukan penyusunan rencana kerja proyek development aplikasi dengan menguraikan latar belakang, tujuan dan cakupan serta menetapkan rencana dan pelaksanaan proyek. Tahapan ini menjadi penting karena akan menentukan arah pelaksanaan proyek dan berpengaruh terhadap hasil akhir aplikasi.

 Penjelasan dan informasi mengenai proyek harus dideskripsikan dengan lengkap dan jelas mengenai kegunaan, tujuan dan target penyelesaian proyek. Informasi penting lainnya adalah mengenai ruang lingkup, batasan proyek, hubungan proyek dengan aplikasi lainnya. Juga harus mencerminkan risiko, biaya development dan batasan dari aplikasi agar tidak tumpang tindih satu sama lain.  

2. Pendefinisian Kebutuhan Pengguna (User Requirement)

Tentunya user selaku pihak pemakai aplikasi memiliki ekspektasi terhadap aplikasi, fungsi dan fiturnya dapat memenuhi kebutuhan mereka. Maka agar aplikasi yang dikembangkan dapat sesuai dengan kebutuhan user, manajemen proyek perlu mengetahui secara pasti kebutuhan dari pengguna.

Tujuan utama dari tahap ini adalah memahami dan mendokumentasikan ruang Iingkup pekerjaan dengan menyusun spesifikasi kebutuhan sesuai dengan bisnis proses. Spesifikasi tersebut kemudian dituangkan menjadi format fungsional aplikasi dan menjadi dasar bagi tahap desain program.

Untuk itu sebaiknya proses ini dilakukan berdasarkan diskusi dan riset bersama dengan pihak yang dapat dianggap mewakili user. Manajemen juga perlu memahami proses bisnis yang dilakukan oleh user, sehingga aplikasi yang dikembangkan dapat menunjang dan berfungsi secara optimal bagi user serta menghasilkan alur proses dengan mencakup business process flow, use cases modeling dan data flow diagrams.

3. Perancangan Aplikasi

Setelah user requirement terakomodasi dengan lengkap maka seluruh kebutuhan informasi, fungsi, dan infrastruktur dikonversi sebagai rancangan atau desain sebagai patokan untuk melakukan pengembangan aplikasi. Manajemen proyek perlu melakukan review strategi pengembangan dan desain aplikasi sesuai kebutuhan user.

Ilustrasi: pinsdaddy.com
Ilustrasi: pinsdaddy.com
Penyusunan rancangan aplikasi harus memperhatikan hal-hal seperti konfigurasi sistem, ketersediaan dan kapasitas alat bantu dan teknik pelaksanaan, bentuk dokumentasi, rancangan tampilan pada layar, struktur data dan kode program. Hal tersebut merupakan komponen dalam sebuah aplikasi dan tak dapat dipisahkan.

Komponen tersebut berhubungan satu sama lain, sehingga perlu dirancang dengan memperhatikan fungsi dan kesesuaiannya, juga untuk meningkatkan keamanan, integritas, dan keandalan sistem dengan memastikan informasi input, proses, dan output yang terotorisasi, akurat, lengkap dan aman.

4. Pemrograman

Pada tahap ini berdasarkan rancangan aplikasi dilakukan penulisan program, menyusun paket dan melakukan unit test, serta dokumentasi source code. Sehingga aplikasi dapat dikembangkan dengan dokumentasi dan pelaksanaan unit test yang lengkap dan jelas.

Proses tersebut harus diketahui oleh manajemen proyek kemudian, sehingga tugas dan tanggung jawab programmer dapat dibatasi dalam hal akses, data dan program untuk kepentingan sekuritisasi data. Rekam jejak terkait dengan salinan program juga merupakan hal penting dalam proses ini.

5. Uji Coba dan Implementasi

Merupakan rangkaian pelaksanaan untuk memastikan aplikasi dapat berfungsi dengan baik dan sesuai ekspektasi dari user. Dalam hal pelaksanaan uji coba diperlukan adanya skenario tes yang dapat mencakup berbagai kondisi sehingga dapat menguji kapasitas aplikasi.

Skenario tes tersebut disusun dengan mencakup kondisi positif atau normal serta kondisi negatif, melalui rangkaian tes ini diharapkan error atau kekurangan aplikasi dapat teridentifikasi dan dilakukan perbaikan. Untuk menjaga objektivitas dan validitas, maka pihak pelaksana tes dilakukan oleh Quality Assurance (QA) sebagai unit terpisah dari programmer.

Ilustrasi: techrepublic.com
Ilustrasi: techrepublic.com
Ketelitian QA menjadi faktor penting dalam proses pengujian aplikasi, karena QA menjadi petugas untuk menjaga dan memastikan kualitas serta fungsi aplikasi telah memenuhi kualifikasi agar dapat diuji langsung oleh user.

Hasil tes tersebut kemudian didokumentasikan untuk mencatat dan memantau penyelesaian atas error yang ditemukan. QA juga melakukan pengamatan secara menyeluruh atas kapasitas dan kekurangan aplikasi.

Jika hasil test telah dianggap memenuhi persyaratan maka dilakukan proses User Acceptance Test (UAT) sebagai uji coba akhir dengan melibatkan user untuk menguji dan memastikan aplikasi telah selesai dikembangkan, apakah telah sesuai dengan kebutuhan user pada tahapan pendefinisian kebutuhan pengguna sebelum memutuskan implementasi dapat dilakukan. Kemudian rencanakan instalasi program dan mempersiapkan user manual serta sosialisasi agar aplikasi dapat digunakan secara optimal.

7. Post Implementation Review (PIR)

Merupakan proses untuk mengkaji ulang setelah aplikasi dirilis kepada user. Kemungkinan terjadinya error tentu masih dapat ditemukan, sehingga melalui PIR berbagai kekurangan pada aplikasi dapat segera ditindaklanjuti, sehingga kualitas dan fungsi dari aplikasi dapat lebih ditingkatkan lagi. PIR dapat dilakukan secara periodik dan seluruh temuan didokumentasikan serta disampaikan kepada manajemen proyek untuk menjadi dasar pengembangan selanjutnya.

***

Setiap tahapan proses yang dilakukan oleh manajemen proyek membutuhkan adanya dokumentasi secara jelas dan lengkap, sehingga seluruh kegiatan dapat dipertanggungjawabkan dan mencerminkan sikap profesional dari manajemen proyek. Hal tersebut dapat menumbuhkan rasa percaya dari user dan di sisi lain reputasi manajemen proyek selaku pihak pengadaan aplikasi dapat semakin meningkat.

Ilustrasi: sas.com
Ilustrasi: sas.com
Dengan tercapainya tujuan dari penggunaan suatu aplikasi untuk menunjang aktivitas dari user senantiasa berkembang. Kepuasan atas penggunaan aplikasi tentunya dapat dijadikan sebagai tolok ukur dari keberhasilan proses pengembangan aplikasi yang telah dilakukan manajemen proyek.

Proses perencanaan dan pengujian secara matang dapat meminimalisasi berbagai risiko atau kerugian yang disebabkan adanya kesalahan (error), kecurangan (fraud), manipulasi data, penyalahgunaan aplikasi, atau ketidaktepatan fungsi layanan yang dikembangkan.