Skip to main content

Analisa dan Manajemen Risiko dalam Proyek Software - Tinjauan Sekilas

Apa itu?
Analisis dan manajemen risiko dalam proyek software adalah serangkaian tahap yang membantu tim software memahami dan mengelola ketidakpastian. Akan ada banyak masalah yang berpotensi mengganggu proyek software. Risiko adalah potensi masalah — yang artinya, bisa saja terjadi, tetapi bisa juga tidak terjadi. Tetapi, terlepas dari terjadi atau tidak, dal ini adalah ide yang sangat bagus untuk mengidentifikasinya, menilai probabilitas ke-terjadi-annya, memperkirakan dampaknya, dan membuat rencana kontinjensi jika masalahnya benar-benar terjadi.
Siapa yang melakukan pekerjaan ini?
Setiap orang yang terlibat dalam proses software — manajer, software engineer, dan stakeholder lainnya — seharusnya berpartisipasi dalam analisis dan manajemen risiko.
Mengapa pekerjaan ini penting?
Pertimbangkan moto yang digunakan dalam pramuka: "Bersiaplah." Proyek software adalah pekerjaan yang sulit. Banyak hal yang bisa saja salah, dan terus terang saja, memang banyak yang salah. Karena alasan inilah hal ini perlu dipersiapkan — memahami risiko dan mengambil tindakan proaktif untuk menghindari atau mengelolanya — adalah elemen kunci manajemen proyek software yang baik.
Apa saja langkah-langkahnya?
Mengenali apa yang bisa salah adalah langkah pertama, yang disebut "identifikasi risiko." Selanjutnya, setiap risiko dianalisis untuk menentukan kemungkinan bahwa itu akan terjadi dan kerusakan yang akan ditimbulkannnya jika itu terjadi. Setelah informasi ini ditetapkan, risiko diberi peringkat, berdasarkan probabilitas dan dampaknya. Dan akhirnya, suatu rencana dibuat untuk mengelola risiko-risiko yang memiliki probabilitas tinggi dan dampak yang tinggi.
Apa produk/hasil dari pekerjaan ini?
Rencana mitigasi, pemantauan, dan manajemen risiko (Risk mitigation, monitoring, and managent - RMMM) atau menghasilkan serangkaian lembaran-lembaran informasi risiko.
Bagaimanakita memastikan bahwa kita telah melakukannya dengan benar?
Risiko yang dianalisis dan dikelola harus berasal dari studi menyeluruh tentang orang-orang, produk, proses, dan proyek. RMMM harus ditinjau kembali ketika proyek berlanjut untuk memastikan bahwa risiko selalu diperbarui. Rencana continjensi untuk manajemen risiko haruslah realistis.


Strategi Menghadapi Risiko: Pendekatan Reaktif vs Proaktif

Pendekatan Reaktif
Pendekatan strategi risiko reaktif seringkali disebut secara bercanda sebagai "sekolah manajemen risiko ala Indiana Jones". Dalam film-film yang mengusung namanya, Indiana Jones, ketika dihadapkan dengan kesulitan yang luar biasa, akan selalu berkata, "Jangan khawatir, aku akan memikirkan sesuatu!" Sambil tidak pernah meng-khawatirkan tentang masalah sampai benar-benar terjadi, Indy akan bereaksi dengan cara yang heroik.

Sayangnya, kebanyakan manajer proyek software bukanlah Indiana Jones dan anggota tim proyek software bukanlah sahabat karibnya. Namun, sebagian besar tim software hanya mengandalkan strategi risiko reaktif.

Paling-paling, strategi reaktif memantau proyek untuk kemungkinan risiko. Sumber daya disisihkan untuk berurusan dengan risiko-risiko tersebut, jika risiko menjadi masalah nyata. Secara umum, tim software tidak melakukan apa pun tentang risiko sampai terjadi kesalahan. Kemudian, tim langsung bertindak dalam upaya untuk memperbaiki masalah tersebut dengan cepat. Pendekatan ini sering disebut dengan mode pemadam kebakaran. Ketika ini gagal, "manajemen krisis" akan mengambil alih dan proyek ini dalam bahaya yang nyata.

Pendekatan proaktif
Strategi yang jauh lebih cerdas untuk manajemen risiko adalah pendekatan proaktif. Strategi proaktif dimulai jauh sebelum pekerjaan teknis dimulai. Risiko-risiko potensial diidentifikasi, probabilitas dan dampaknya dinilai, dan diperingkat berdasarkan tingkat penting-nya. Kemudian, tim software menetapkan rencana untuk mengelola risiko tersebut. Tujuan utama adalah untuk menghindari risiko, tetapi karena tidak semua risiko dapat dihindari, tim bekerja untuk mengembangkan rencana kontinjensi yang akan memungkinkannya untuk merespons secara terkendali dan efektif.


Pendekatan strategi risiko reaktif:

  • Tim proyek bereaksi terhadap resiko bila resiko itu muncul.
  • Mitigasi – rencana untuk sumber daya tambahan sebagai bentuk antisipasi.
  • Memperbaiki kegagalan, sumber daya ditemukan dan diimplementasikan ketika resiko terjadi.
  • Manajemen krisis, kegagalan tidak merespon untuk diterapkan untuk sumber daya dan proyek dalam bahaya.

Pendekatan strategi proactive:

  • Analisa resiko secara formal dijalankan.
  • Melakukan perbaikan terhadap akar masalah dari resiko, hal ini dapat menggunakan konsep TQM dan analisis SQA, serta memeriksa sumber dari resiko.

--o0o--

Referensi: 
Software Engineering - A Practitioner's Approach - Roger S. Pressman / Bruce R. Maxim

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at