sesi 2 understanding application characteristics from functionality to performance

33
Sesi 2 Understanding Application Characteristics: From Functionality to Performance

Upload: gule-mariam

Post on 31-Jul-2015

33 views

Category:

Documents


5 download

DESCRIPTION

Core Application Migration 2012 ERP & CBSSesi 2 Understanding Application Characteristics From Functionality to Performance(case study in Indonesia)Sharing Vision (tm)

TRANSCRIPT

Page 1: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Sesi 2 Understanding Application Characteristics:

From Functionality to Performance

Page 2: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 2 of 32

Karakteristik Aplikasi

“Hal yang sangat penting untuk dievaluasi secara obyektif dalam menentukan perlu tidaknya migrasi adalah apakah aplikasi memiliki

karakteristik (functional dan non functional) yang masih

dalam batas yang diterima bisnis atau tidak ?”

Page 3: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 3 of 32

Core vs Non-Core

“Pastikan fungsi yang diinginkan pada Core Application betul-betul fungsi Core.“

“Faktor non-fungsional pada Core Application yang berpengaruh pada cost (development dan operasional)

menyebabkan tidak ekonomis untuk memasukkan fungsi

Non-Core dalam Core Application.”

Page 4: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 4 of 32

Karakteristik Aplikasi

Fungsional

Non-Fungsional

Reliability

Speed

Availability

Extensibility

Maintainability

Fungsi Utama

Fungsi Pendukung

Performance

Security

User Friendliness

Manageability

Optimal Usage of Resources

Scalability

Karakteristik Aplikasi

Page 5: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 5 of 32

Apa yang dapat pengguna lakukan pada aplikasi?

Bagaimana perilaku (behavior) aplikasi pada saat terjadi hal tertentu?

Proses otomatis apa yang dapat dilakukan aplikasi?

Laporan seperti apa yang dapat diolah aplikasi dari data yang ada?

Apa yang dapat dilakukan aplikasi untuk mengefisienkan proses bisnis?

Bagaimana pengguna dapat menggunakan aplikasi?

Fungsional

Sumber: Sharing VisionTM, 2012

Fungsional aplikasi apa yang bisa dilakukan oleh aplikasi untuk memenuhi kebutuhan bisnis atau peran aplikasi dalam

mendukung atau memungkinkan proses bisnis dilaksanakan.

Page 6: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 6 of 32

Fungsi utama adalah fungsi aplikasi dalam menyokong fungsi bisnis utama perusahaan. Dalam kasus ekstrimnya,

bisnis utama tidak dapat berjalan tanpa adanya fungsi-

fungsi utama dalam aplikasi.

Fungsi pendukung adalah fungsi yang harus ada untuk

mendukung fungsi utama aplikasi

Fungsional: Fungsi Utama dan Fungsi Pendukung

Page 7: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 7 of 32

Fungsional: Cara Mengevaluasi Fungsionalitas

Dinilai dari hal yang bisa dipenuhi dari kebutuhan fungsi aplikasi yang

kita butuhkan. Kebutuhan fungsi bisa dilihat dari kebutuhan para user bisnis (berdasarkan dokumen atau interview) dan best practices untuk perusahaan serupa, maupun kebutuhan strategic dari

top managemen.

Contoh parameter: Pemenuhan fungsionalitas opsional (yang mandatory biasanya menjadi go

atau no-go filter).

Page 8: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 8 of 32

Kode

Menu Nama Menu

Kesesuaian Catatan Ketidaksesuaian

Sesuai Tidak

AB018 Laporan Transaksi Pinjaman x -

M_02D Pemelihataan Data Kredit x -

M_01A Pemeliharaan Data Debet x -

ST085 Setoran Tunai x Tidak ada data

TE097 Penyerahan Ke Teller x Belum ada kebijakan tertulis transaksi teller ke teller.

TE098 Penerimaan Dari Teller x Belum ada kebijakan tertulis transaksi teller ke teller.

KO053 Laporan Transaksi x Masih bisa digunakan

Fungsional: Contoh Checklist Fungsional Aplikasi

Sumber: Sharing Vision Experiences, 2011

Page 9: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 9 of 32

Non-Fungsional

Sumber: Sharing Vision Experience

Karakteristik non-fungsional meliputi:

Performance

Security (CIA)

User Friendliness

Manageability

Page 10: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 10 of 32

Performance meliputi:

Reliability

Speed

Optimal Use of Resource

Scalability

Availability

Non Fungsional (1): Performance

Page 11: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 11 of 32

Performance (1): Reliability

Reliability adalah kemampuan dari aplikasi untuk selalu bekerja dengan baik dan tepat setiap kali aplikasi

digunakan oleh user

Reliability terkait erat dengan bug dan defect dalam aplikasi. Suatu

aplikasi core yang baik harus dipastikan memiliki karakteristik

zero-bug (atau paling tidak mendekati zero-bug), sehingga dapat

dikatakan sangat Reliable

Page 12: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 12 of 32

Performance (1): Contoh Kasus Reliability

Sumber: Mark Minasi, “Software Conspiracy”

Vernon Kidd meninggal akibat over-dosis radiasi sinar X. Hasil penyidikan menemukan indikasi bahwa: hal ini terjadi karena adanya kesalahan pada software yang menyebabkan mesin tidak merespon kalibrasi data.

Puluhan tentara Amerika meninggal dikarenakan

software kendali rudal Patriot berhenti bekerja dengan baik setelah digunakan selama 14 jam.

European Ariane 5 meledak 40 detik setelah take-0ff karena

kesalahan pada software

Page 13: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 13 of 32

Performance (1): Contoh Kasus Reliability

Sharing Vision Experience

Sebuah perusahaan di Indonesia tidak bisa mendeteksi

beberapa nomor kuitansi yang loncat karena

kesalahan manajemen pengadaan software.

Bunga untuk nasabah sebuah bank di Indonesia

pernah berubah nilainya menjadi lebih besar untuk beberapa bulan.

Page 14: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 14 of 32

Performance (2): Speed

Speed: kecepatan aplikasi melakukan operasi/proses

• Berapa transaksi yang dapat didukung oleh aplikasi pada setiap detik (transaction per second)?

• Berapa lama proses batch dilaksanakan oleh aplikasi?

Kecepatan dari aplikasi juga tergantung pada kemampuan hardware

Page 15: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 15 of 32

Kasus 1: Waktu EOD (End of Day):

Salah satu bank di indonesia pernah mengalami End of Day (EOD)

sekitar 12 jam, dibandingkan dengan EOD normal sekitar 4-6 jam.

Sehingga menyebabkan keterlambatan pembukaan bank.

Kasus 2: Respon Time:

Pernah terjadi sebuah perusahaan, waktu respon cetak laporan sekitar 30 menit per-satu kali cetak.

Performance (2): Contoh Kasus Speed

Page 16: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 16 of 32

Performance (3): Optimal Use of Resource

Kemampuan aplikasi dalam menggunakan resource (CPU,

Memory, Network, Disk) secara optimal untuk memaksimalkan

kemampuan resource

• Dukungan aplikasi terhadap arsitektur CPU multi-core

• Aplikasi menerapkan buffering / caching untuk mengurangi waktu pengambilan data dari disk/network

• Memberikan petunjuk/manual bagi operator dalam mendukung optimalisasi penggunaan resource aplikasi

Page 17: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 17 of 32

Performance (4): Scalability

Aplikasi dinyatakan memiliki scalability baik jika tambahan beban selalu dapat diatasi dengan penambahan hardware/resource

Aplikasi yang tidak memiliki scalability baik dapat mengalami penurunan performance jika beban bertambah (misalnya menjadi tidak Reliable, ataupun Speed berkurang)

Scalability: Kemampuan aplikasi untuk dapat bekerja dengan baik dan cepat dengan tambahan

beban (volume data maupun akses secara bersamaan / concurrent

access)

Page 18: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 18 of 32

Availability yaitu memastikan user aplikasi dapat mengakses aplikasi

“pada setiap saat aplikasi dibutuhkan”.

Performance (5): Availability

Contoh:

Sistem billing telco dengan availability minimal 99.99% dalam 30

hari maksimal mengalami unavailable selama :

(1 – 99,99%) x 30 hari x 24 jam/hari x 60 menit/jam = 4.32 menit

Sumber: Sharing VisionTM

Page 19: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 19 of 32

Performance (5): Konsep Availability

Availability (A) = A1 x A2 x A3 x A4 x A5 ... An

Software Hardware Human Process

Availability aplikasi terdiri dari rangkaian komponen pendukung sistem

aplikasi yang mempengaruhi satu sama lain. Availability total

akan lebih kecil dari availability terkecil dari “komponen

pembentuk sistem dan proses secara keseluruhan”

Interface

Sumber: Sharing VisionTM

Page 20: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 20 of 32

Tentukan Performance Requirement

Uji atau evaluasi performance terhadap requirement

Hasil uji atau evaluasi

Bagaimana Mengukur Performance?

Kenyataannya pengujian atau evaluasi performance tidak sederhana. Ada banyak pendekatan

yang bisa dilakukan. Misalnya :

Jika kita bisa menemukan satu kondisi dimana requirement performance tidak terpenuhi, maka berarti aplikasi tersebut tidak memenuhi kriteria minimal yang

dibutuhkan perusahaan

Page 21: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 21 of 32

Keamanan dari aplikasi untuk memastikan bahwa seluruh proses yang dilakukan di dalam aplikasi

aman

Non-Fungsional (2): Security

Sumber: Sharing VisionTM, 2012

Hanya user yang mempunyai hak yang dapat mengakses informasi

Informasi terjaga, yaitu tidak dapat berubah secara tidak benar (misalnya: diubah oleh pihak yang tidak berwenang)

Security menjaga dari ancaman terhadap ketersediaan sistem bagi user

Confidentiality

Integrity

Availability

Page 22: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 22 of 32

Ada setidaknya dua cara yang bisa dilakukan untuk menilai Application Security : 1) Meminta vendor untuk menjelaskan aspek-aspek application securitynya,

dari sisi proses design nya, arsitektur maupun solusi-solusi security yang digunakan, dan apa yang telah dilakukannya untuk menghindari major software security vulnerabilities sesuai best practices

2) Adanya pihak auditor independen yang terpercaya yang telah mengaudit Application Security dari aplikasi tersebut

Cara yang kedua relatif lebih kuat dan untuk Bank, hal

tersebut adalah mandatory (berdasar PBI MRTI

09/15/2007)

Security: Penilaian Security

Page 23: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 23 of 32

Security: Contoh Kasus (1)

“Kebobolan lewat aplikasi ATM”

Di suatu bank di Indonesia aplikasi ATM telah dibobol sehingga seorang nasabah yang tidak memiliki ATM, uangnya terkuras habis melewati ATM orang lain.

Sumber: Sharing VisionTM

Page 24: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 24 of 32

Security: Contoh Kasus (2)

Banyak kasus voucher telekomunikasi bisa diisi ulang oleh orang yang tidak berwenang

“Isi ulang ilegal voucher telekomunikasi”

Sumber: Sharing VisionTM

Page 25: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 25 of 32

Non-Fungsional (3): User Friendliness

Sumber: Organizational Requirements Engineering

User Friendliness artinya aplikasi dapat digunakan oleh user dengan mudah dan nyaman.

Biasanya dinilai dari : • jenis user interface (preferensi: web) • perintah bisa diakses bukan hanya dengan mouse namun

juga dengan shortcut-shortcut • auto-completion • konsistensi tampilan • Mudah dibaca • Simpel

Page 26: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 26 of 32

User Friendliness: Contoh Kasus

Perubahan antarmuka aplikasi TUI (Textual User Interface) ke GUI (Graphical User Interface) dan dari GUI ke:

• GUI + touch • GUI + touch + voice • GUI + touch + voice + gesture

Page 27: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 27 of 32

Manageability meliputi:

• Extensibility

• Maintainability

Non Fungsional (4): Manageability

Page 28: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Manageability (1): Extensibility

http://en.wikipedia.org/wiki/Extensibility

Contoh:

• Aplikasi menggunakan arsitektur SOA, menyediakan Web Service untuk semua fungsi utama

aplikasi, sehingga dapat dengan mudah diintegrasikan dengan aplikasi eksternal

untuk otomatisasi proses bisnis

• Aplikasi menyediakan kapabilitas custom reporting, sehingga setiap report dapat dengan

mudah disesuaikan dengan perubahan kebutuhan

• Aplikasi dirancang dengan arsitektur yang sangat modular dan dengan base module/framework yang baik, sehingga penambahan fungsi dapat dilakukan dengan mudah, tanpa mengubah source code yang ada

Extensibility adalah kapabilitas dan kemudahan aplikasi untuk disesuaikan dengan perubahan atau penambahan kebutuhan bisnis terhadap

aplikasi atau dengan kata lain kapabilitas dan kemudahan untuk

mengubah/menambah aspek fungsional dari aplikasi

Page 29: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 29 of 32

Adanya tools atau cara untuk :

• Menambah fungsi

• Merubah fungsi

• Mengintegrasikan dengan sistem lain

• Menginterkoneksikan dengan sistem lain

Manageability (1): Cara Mengevaluasi Extensibility

Page 30: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 30 of 32

Manageability (2): Maintainability

Sumber: Wikipedia

Dalam operasional suatu aplikasi, akan selalu

terdapat permasalahan menyangkut

aplikasi, baik bersumber dari aplikasi, infrastruktur (jaringan, server, dsb) dan kesalahan user. Maintainability aplikasi terkait dengan kemudahan: 1. Memonitor komponen aplikasi 2. Mencari dan mengisolasi akar masalah 3. Memperbaiki akar masalah pada aplikasi

Page 31: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 31 of 32

Ketersediaan tools atau cara untuk :

• Memonitor komponen aplikasi

• Mencari dan mengisolasi akar masalah

• Memperbaiki akar masalah pada aplikasi

Manageability (2): Cara Mengevaluasi Maintainability

Page 32: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 32 of 32

Aplikasi dapat ditinjau karakteristiknya dari dua sisi utama yaitu fungsional dan non-fungsional.

Untuk penentuan kebutuhan migrasi atau tidak, bisa dilakukan uji karakteristik aplikasi.

Karakteristik aplikasi juga diperlukan untuk memilih solusi core application yang paling tepat bagi perusahaan bila telah diputuskan bahwa migrasi core application feasible. Hal ini akan dibahas lebih lanjut pada sesi berikutnya.

Penutup

Page 33: Sesi 2 Understanding Application Characteristics From Functionality to Performance

Understanding Application Characteristics : From Functionality to Performance 33 of 32

Merci bien

Arigatoo

Matur Nuwun

Hatur Nuhun

Matur se Kelangkong

Syukron

Kheili Mamnun

Danke

Terima Kasih