Sasaran Strategis berdasarkan resiko penentuan resiko kritis dan
Sasaran Strategis berdasarkan resiko penentuan resiko kritis dan kajian impact Dalam Pengembangan Software
Tujuan Dapat memilih sasaran strategis dari analisa resiko Memahami tahapan analisis risiko dalam pra implementasi software Mengenal risiko yang mungkin terjadi dalam pengembangan software Memahami cara pengendalian risiko yang mungkin terjadi dalam proses pengembangan software
Deskripsi RM pada Pengembangan Software Manajemen resiko adalah rangkaian langkah-langkah yang membantu suatu perangkat lunak/Software untuk memahami dan mengatur ketidak pastian (Roger S. Pressman)
What is Risk Analysis? • Risk Analysis is a process that helps you identify and manage potential problems that could undermine key business initiatives or projects. • Risk Analysis is defined as the sequence of processes of risk management planning, analysis of risks, identification and controlling risk on a project. • To carry out a Risk Analysis: 1. First must identify the possible threats that you face 2. Estimate the likelihood that these threats will materialize
Penyebab Kegagalan Rekayasa/ pengembangan Software Perencanaan yang tidak realistik, terlalu optimis dalam perhitungan. sistem pemantauan kerja yang tidak berjalan dengan seharusnya. Perubahan kebutuhan. Resiko-resiko lainnya
When you're planning projects, to help you anticipate and neutralize possible problems. Ketika Anda merencanakan proyek, untuk membantu Anda mengantisipasi dan menetralisir masalah yang mungkin terjadi. When you're deciding whether or not to move forward with a project. Ketika Anda memutuskan apakah akan melanjutkan proyek atau tidak. When you're improving safety and managing potential risks in the workplace. Ketika Anda meningkatkan keselamatan dan mengelola risiko potensial di tempat kerja. When you're preparing for events such as equipment or technology failure, theft, staff sickness, or natural disasters. Saat Anda bersiap untuk kejadian-kejadian seperti kegagalan peralatan atau teknologi, pencurian, kesehatan staf, atau bencana alam When you're planning for changes in your environment, such as new competitors coming into the market, or changes to government policy. Saat Anda merencanakan perubahan di lingkungan Anda, seperti pesaing baru yang masuk ke pasar, atau perubahan kebijakan pemerintah. When to use Risk Analaysis
Analisis risiko sering kali terlewat dalam pengembangan software Risiko seharusnya bisa diprediksi dan bisa dihindari, jika dilakukan analisis dan manajemen yang tepat karena adanya anggapan bahwa risiko hanya dapat dideteksi pada saat software telah selesai dikerjakan Pengerjaaan software bisa lebih terarah dan terhindar dari kendala-kendala yang telah diprediksi sebelumnya
Pressman A risk is potential problem – I might happen, it might not. Risiko adalah masalah yang potensial untuk terjadi dan juga potensial untuk tidak terjadi.
Sommerville In safety critical system, the risk are hazards that can result in accident; in security critical system, are vulnerabilities that can lead to a successful attack system. Risiko merupakan segala sesuatu yang dapat menyebabkan kerusakan atau kecelakaan pada sistem, baik dalam sebuah sistem yang telah dianggap aman atau dalam sebuah konteks keamanan sistem.
Risk Analysis Steps 01 The Efforts to minimize the consequences of risk in terms of cost, quality, and schedule Risk Identification 02 Risk Handling Risk Classification 04 Risk Decomposition 03 Everything is done before the project has started, meaning that the risk analysis should be carried out at the time of preimplementation, not postimplementation as most practitioners think
Risk Analysis Steps Risk Identicifation • 01 Risk Identification 02 • Risk Classification • Risk Handling 04 • Risk Decomposition 03 The process of determining risks that could potentially prevent the program, enterprise, or investment from achieving its objectives. It includes documenting and communicating the concern. Tahapan paling awal untuk mengetahui resiko-resiko apa yang akan kita dapatkan yang kemudian dapat menimbulkan kerugian Cara: pengumpulan data/mencari informasi yang berhubungan dengan resiko yang akan dihadaoi, pembuatan diagram dan melakukan pendataan yang sistematis untuk kemudahan analisis dan pengambilan keputusan terhadap resiok. Contoh: Pak Irfan mendirikan pabrik roti maka dia harus mengumpulkan data-data resiko yang berdampak pada kerugian pada pabrik roti seperti pencurian, kebakaran, kebangkrutan, konsumen yang keracunan, kerusakan pada mesin pembuat roti, karyawan yang sakit, kecelakaan kerja , dll. Sehingga dapat dianalisa lebih lanjut mengenai terjadinya resiko, tingkat keseringan terjadinya resiko dan besarnya kerugian jika terjadi resiko
Risk Identification Cont’ • Risk identification is the critical first step of the risk management process depicted in Figure • The objective of risk identification is the early and continuous identification of events that, if they occur, will have negative impacts on the project's ability to achieve performance or capability outcome goals. They may come from within the project or from external sources
Risk Analysis Steps 01 Risk Classification Risk Identification 02 Risk Handling Risk Classification 04 Risk Decomposition 03 • Grouping of different risks according to their estimated cost or likely impact, likelihood of occurrence, countermeasures required, etc. Credit risk, or example, is classified according to the likelihood of the collection of accounts receivable • Pengelompokan risiko yang berbeda sesuai dengan perkiraan biaya atau dampak yang mungkin terjadi, kemungkinan terjadinya, penanggulangan yang diperlukan, dll. Risiko kredit, atau contohnya, diklasifikasikan menurut kemungkinan pengumpulan piutang usaha.
Risk Analysis Steps 01 Risk Decompotition-Definition Risk Identification 02 Risk Handling Risk Classification 04 Risk Decompotition 03 • Proses penentuan dari klasifikasi risiko, apakah risiko yang akan/sudah terjadi dapat dihilangkan/tidak.
Jenis Dekomposisi Resiko 1. Risiko sistematik/Systematic Risk adalah risiko yang tidak dapat dihilangkan dengan melakukan diversifikasi, karena fluktuasi risiko ini dipengaruhi oleh faktor-faktor makro yang dapat mempengaruhi pasar secara keseluruhan. Misalnya adanya perubahan tingkat suku bunga, kurs valas, kebijakan pemerintah 2. Risiko tidak sistematik/Unsystematic Risk adalah risiko yang dapat dihilangkan dengan melakukan diversifikasi, karena risiko ini bersifat khas hanya ada dalam suatu perusahaan atau industri tertentu, maka disebut juga unique risk. Misalnya struktur modal, struktur assets, tingkat likuiditas, tingkat keuntungan. Risiko ini juga disebut diversiable risk (risiko yang dapat dihilangkan/dikurangi). • risk diversification/Diversifikasi Risiko yaitu penanaman modal dari berbagai jenis investasi dengan tujuan untuk mengurangi kemungkinan risiko yang akan dihadapi.
Risk Analysis Steps 01 Risk Handling-Definition Risk Identification 02 Risk Handling Risk Classification 04 Risk Decomposition 03 • Risk Handling (now called Risk Mitigation) is: 1. the process that identifies, evaluates, selects, and implements options in order to set risk at acceptable levels given program constraints and objectives. This includes the specifics on what should be done, when it should be accomplished, who is responsible, and associated cost and schedule. 2. Describe Procedures to Determine and Evaluate Various Risk-Handling Options 3. Identify Tools to Assist In Implementing the Risk-Handling Process 4. Provide Guidance on The Use Of The Various Handling Options For Specific Risks 5. Identify Reporting Requirements
Risk Handling Cont’ • The most appropriate strategy is selected from these mitigation options: 1. Risk Avoidance 2. Rick Controlling 3. Risk Transfer/Sharing 4. Risk Assumption
• Sangat banyak pengembang software yang mengabaikan tahapan analisis risiko. Dengan mengangap bahwa sebuah proyek software akan selalu berjalan baik saja, segala risiko kemudian diabaikan. • Padahal risiko yang terjadi pada umumnya akan menjadi bumerang bagi pengembang software itu sendiri, karena secara umum, pihak pelanggan tidak mau dipersalahkan jika sebuah risiko tejadi dalam proses pengembangan software.
Metodologi Spiral • Model spiral adalah model proses software yang evolusioner yang merangkai sifat iteratif dari prototipe dengan cara kontrol dan aspek sistematis dari model sekuensial linier • Gabungan dari Model prototyping dan model Waterfall • Permasalahan pada linear model atau waterfall adalah : 1. Penanganan perubahan pada saat proses sedang berlangsung menjadi lebih sulit. 2. Semua kebutuhan sudah terdefenisi sejak awal. 3. Software yang diberikan adalah versi terakhir dari setiap tahap, perubahan dalam proses biasanya tidak dilakukan. 4. Blocking state • Permasalahan pada model Prototyping adalah : 1. Pelanggan yang melihat working version kemungkinan tidak menyadari bahwa mungkin prototype dibuat terburu-buru dengan rancangan yang disusun tidak terstruktur. 2. Pembuatan kadang membuat implementasi sembarang karena ingin working version bekerja lebih cepat.
Methodology Spiral Barry Boehm A Spiral Model of Software Development & Enhancement (1988)
Tahapan model spiral 1. Tahap Liason: pada tahap ini membangun komunikasi yang efektif di antara pengembangan software (System analist) dan calon pelanggan/calon pengguna/calon pemakai. Tujuannya adalah agar dapat memuaskan pelanggan dengan memperbaiki dan mengembangkan software sesuai dengan kebutuhan, kepentingan dan keinginannya 2. Tahap Planing (perencanaan): pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek. Hasilnya adalah dokumen spesifikasi kebutuhan sistem dan bisnis. 3. Tahap Analisis Risiko: mendefinisikan risiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen. (risiko proyek, risiko teknik dan risiko bisnis) 4. Tahap Rekayasa (Engineering): pembuatan prototipe atau pembangunan satu atau lebih representasi dari aplikasi tersebut (Menguji, coding dan mengembangkan software; Menginstal software; Membuat prototipe; Mendesain dokumen; Meringkas suatu pengujian software; Membuat laporan atas kekurangan dari software agar segera diperbaiki 5. Tahap Konstruksi dan Pelepasan (release): pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan dukungan tambahan untuk keberhasilan proyek. 6. Tahap Evaluasi: Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
Penggunaan Model Spiral 1. Ketika memiliki sebuah proyek dengan risiko sedang hingga tinggi 2. Komitmen proyek jangka panjang karena potensi perubahan pada prioritas ekonomi dalam perubahan waktu 3. Lini produk baru yang harus dirilis secara bertahap untuk mendapatkan feedback pelanggan dengan cukup 4. Ketika penciptaan prototipe berlaku 5. Perubahan signifikan yang diharapkan dalam produk selama siklus pengembangan 6. Persyaratan yang kompleks dan memerlukan suatu evaluasi
Karakteristik Model Spiral 1. Menentukan artefak secara bersamaan: setiap hal yang dihasilkan oleh orang-orang yang terlibat dalam proses pengembangan perangkat lunak dan harus didefinisikan dari awal. 2. Esensial tugas model spiral: 1) mempertimbangkan tujuan kritis dan kendala stakeholders; 2) menguraikan dan mengevaluasi alternatif 2 untuk mencapai tujuan; 3) mengidentifikasi dan mengatasi risiko pada solusi alternative; 4) persetujuan dan review stakeholder untuk melanjutkan berdasarkan kepuasan dalam tujuan kritis dan kendalanya. 3. Risiko ditentukan berdasarkan usaha: upaya dialokasikan u/ proyek harus ditentukan berdasarkan tingkat keparahan risiko yang terkait dengan komponen tersebut 4. Risiko ditentukan dengan tingkat detail: Mengatasi potensi risiko harus menentukan seberapa banyak perhatian terhadap rincian proyek yang sedang dikerjakan 5. Menggunakan The Anchor Point Milestones: a) Life Cycle Objectives (LCO): Untuk melihat apakah pendekatan teknis suatu proyek cukup untuk dilanjutkan ke pengembangan berikutnya. b) Life Cycle Architecture (LCA): Untuk memeriksa apakah pendekatan optimal yang telah ditetapkan dan segala risiko utama telah direncanakan diperhitungkan sebelumnya. C) Initial Operational Capability (IOC): Untuk memeriksa bahwa persiapan yang ada telah memadai untuk memuaskan stakeholders sebelum diluncurkan 6. Fokus terhadap Sistem dan Siklus Hidup: Melihat pentingnya sistem secara keseluruhan dan urusan jangka panjang yang mencakup seluruh siklus hidup
Strong: sistem dapat meminimalisir resiko melalui mekanisme yang baik Sangat mempertimbangkan risiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar. Strong dan Weakness: Spiral Method Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik. Weakness: sistem ini tergantung pada siapa yang mengatur/mengontrolnya Waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang demikian juga biaya yang besar. Sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah metode ini cukup handal untuk diterapkan. Meyakinkan konsumen (khusunya dalam situasi kontrak) bahwa pendekatan evolusioner bisa dikontrol.
Karakteristik Resiko pada Pengembangan Software Uncertainty/Ketidakpastian : tidak ada risiko yang 100% pasti muncul. Loss/Kehilangan/kerugian : risiko berimbas pada kehilangan.
Resiko proyek : hal-hal yang mempengaruhi tahap proyek yang berefek pada perencanaan proyek. Contoh: Kekurangan sumber daya Kategori Risiko pada Pengembangan Software Resiko teknikal : hal-hal yang mempengaruhi tahap actual yang berefek pada kualitas dan waktu pembuatan perangkat lunak. Contoh: Personil tidak terlatih ditahap tersebut Resiko bisnis : hal-hal yang mempengaruhi keniginan perusahaan untuk membuat software yang berefek pada nilai jual produk Contoh: Software ternyata tidak diperlukan lagi
Prioritas Resiko pada model Spiral Catastropik (luar biasa), contoh : penurunan kualitas yang luar biasa, biaya yang tidak terkontrol Critical (kritis), contoh : tidak tepat waktu, biaya di luar perkiraan Marginal (ringan), contoh : penjadwalan yang terlambat Negligible (tidak berarti), contoh : penggunaan waktu proyek tidak optimal
Strategi terhadap risiko Strategi Reaktif • Bereaksi saat risiko terjadi (mayoritas pengembang menganut ini) • Strategi buruk karena solusi dipikirkan saat terjadi risiko. Hal ini bisa berakibat fatal bahkan bisa menghancurkan sistem keseluruhan Strategi Proaktif • Sedia payung sebelum hujan • Pengembang telah mempersiapkan diri dalam menghadapi risiko • Implementasi sederhana nya klausul Force Majeur dalam perjanjian pengerjaan software dengan pihak pelanggan. • Force Majeur berisikan pasal mengenai apa yang harus dilakukan jika terjadi bencana di luar kuasa manusia spt bencana alam, kegagalan listrik atau kebangkrutan perusahaan.
Secara ekstrem sesungguhnya proses dan tahapan yang ada dalam analisis risiko seharusnya diterapkan di setiap proses pengembangan software. Strategi Risiko Karena setiap proses mengandung risiko yang berbeda dengan level kepastian risiko yang berbeda pula. Oleh karena itu, analsis risiko selayaknya selalu berjalan bersamaan di setiap tahapan rekayasa software.
Sumber Risiko Alam (nature) Biasanya dihubungkan dengan lokasi di mana organisasi berada Manusia (human) Sengaja (tingkah laku iseng para cracker, perbuatan pegawai internal/pesaing yang kecewa) Tidak disengaja (kesalahan operasional dari dalam organisasi spt kesalahan proses input, keteledoran) Lingkungan (environment) Lingkungan secara fisik dari organisasi. contoh ruang server yang terbuka tidak rapih, berdebu, tombol power yang bisa disentuh tanpa sengaja
Identifikasi Risiko pada pengembangan software Sommerville Pressman General Description • Risk Identification is identifying potential risk that might arised • Tahapan awal mengenal risiko yang mungkin terjadi dalam sebuah proyek pengembangan software • Risk Identification is a systematic attempt to specify threats to the project plan (estimates, schedule, resource loading, etc. ) • Sebuah usaha yang sistematis untuk menjelaskan ancaman yang mungkin terjadi dalam pengembangan software. • Tahapan awal dalam analisis risiko yang secara sistematis mengumpulkan sebanyak mungkin ancaman yang dapat terjadi dan menjadikannya sebuah kumpulan risiko pada sistem di pengembangan software.
Langkah-langkah Idenifikasi Risiko Pemahaman karakterisktik sistem Pembuatan daftar risiko Dokumentasi
Pemahaman Karakteristik Sistem Karakter organisasi Lingkungan Kompleksitas • Tiap organisasi memiliki sistem birokrasi yang berbeda serta faktor pengaruh personal yang berbeda. • Hal ini merupakan faktor nonteknis yang sering diabaikan, tetapi menjadi risiko tinggi menentukan keberhasilan proyek • Lingkungan sekitar bisa memicu kegagalan, bisa berupa faktor demografis, geografis, maupun faktor lingkungan organisasi tempat software dibuat. • Demografis: contohnya jumlah penduduk dan angka pertumbuhan penduduk di kota, bauran umur populasi, etnis dan pasar lain, kelompok pendidikan, pola rumah tangga, pergeseran geografis dan populasi. • Kompleksitas sering diabaikan, karena tingkat kepercayaan diri yang terlalu tinggi dari pengembang itu sendiri yang berakibat terjadinya hal-hal fatal dalam proses pengembangan software seperti jadwal tertunda, biaya bengkak, dll
Tips • Telah menjadi rahasia umum, bahwa karakter organisasi sangat berpotensi untuk menghambat kelancaran sebuah proyek pengembangan software. • Karenanya, pengembang sebaiknya dan seharusnya juga mempelajari ilmu di bidang manajemen seperti perilaku organisasi (organizational behavior) agar dapat memahami karakter organisasi secara lebih baik sehingga dapat mengatasi hambatan tersebut.
Pembuatan Daftar Risiko 01 02 03 Dari daftar yang disusun, selanjutnya disorting berdasarkan tingkat fatalitas serta probabilitas terjadinya risiko tersebut. Pada akhirnya nanti, akan terbentuk sebuah daftar risiko yang benar-benar potensial dalam pengembanan software. Tentu saja, penyusunan daftar risiko juga harus melibatkan calon pengguna maupun pelanggan, sehingga daftar risiko yang disusun benar-benar valid dan dapat dihindari dalam proses selanjutnya
Dokumentasi Risiko Melakukan penulisan atas segala daftar risiko yang telah dibuat dalam pembuatan/pengembangan software Penulisan maksudnya bukan hanya dokumentasi tertulis yang disimpan dengan rapi dalam map/folder. Tetapi, dokumentasi yang dijabarkan dalam sebuah prosedur kerja yang berarti bahwa dalam prosedur pengerjaan software nantinya benar-benar memperhitungkan segala jenis risiko yang telah ada di dalam daftar tesebut.
Ringkasan Analisis risiko yang tepat, menjadikan pengembangan software lebih terarah dan terhindar dari berbagai kendala Risiko adalah hal yang berpotensi negatif yang sifatnya bisa terjadi atau bisa tidak Tahapan analisis risiko: identifikasi, klasifikasi, dekomposisi, dan pengendalian Karakter risiko: ketidakpastian (Uncertainly) dan kerugian (Loss) Strategi terhadap risiko: reaktif dan proaktif Tiga jenis risiko pada pengembangan software: Resiko proyek, resiko teknikal dan resiko bisnis Tiga sumber resiko: nature, human, environment Identifikasi risiko: pemahaman karakteristik, pembuatan daftar, dan dokumentasi
Pertanyaan 1. Jika saudara mendapatkan proyek pengembangan software sebuah situs web untuk pemerintahan daerah yang fokus pada potensi pariwisata, dapatkah saudara menyebutkan risiko apa yang akan dihadapi pada saat tahapan awal dilakukan? 2. Apakah risiko yang dihadapi oleh pengembang software juga harus dihadapi bersama-sama oleh pengguna? Mengapa? 3. Apa yang mungkin terjadi jika sebuah tim pengembang software mengabaikan tahapan analisis risiko?
See you next week 再�
- Slides: 39