Tuesday, October 31, 2023

Impact Analysis




Analisis dampak (impact analysis) dalam konteks evolusi perangkat lunak adalah proses untuk mengevaluasi dan memahami dampak dari perubahan yang akan dilakukan pada perangkat lunak. Hal ini bertujuan untuk memahami konsekuensi dari perubahan tersebut terhadap komponen atau sistem perangkat lunak yang ada. Analisis dampak menjadi sangat penting dalam manajemen evolusi perangkat lunak, karena perubahan yang tidak dikelola dengan baik dapat mengakibatkan masalah, ketidakstabilan, atau ketidakcocokan dalam sistem perangkat lunak.

Contoh studi kasus analisis dampak dalam evolusi perangkat lunak bisa seperti berikut:

Kasus: Perubahan Fitur pada Aplikasi Perbankan Online

Misalkan sebuah bank memiliki aplikasi perbankan online yang digunakan oleh nasabahnya. Bank tersebut ingin menambahkan fitur baru yang memungkinkan nasabah untuk mentransfer dana antar rekening dengan metode baru yang lebih aman.

  • Identifikasi Perubahan: Langkah pertama dalam analisis dampak adalah mengidentifikasi perubahan yang akan dilakukan. Dalam kasus ini, perubahan adalah penambahan fitur transfer dana baru.
  • Analisis Dampak pada Komponen: Selanjutnya, kita perlu memahami bagaimana perubahan ini akan memengaruhi komponen perangkat lunak yang ada. Ini melibatkan peninjauan terhadap komponen yang relevan dalam sistem, seperti modul keamanan, modul transaksi, dan antarmuka pengguna.
  • Dampak pada Fungsionalitas yang Ada: Perubahan ini mungkin mempengaruhi fungsionalitas yang sudah ada. Sebagai contoh, apakah perubahan ini akan memengaruhi proses login atau sistem otorisasi nasabah?
  • Dampak pada Kinerja: Perubahan juga dapat mempengaruhi kinerja aplikasi. Misalnya, apakah penambahan fitur ini akan memperlambat waktu respon sistem?
  • Dampak pada Keamanan: Dalam kasus aplikasi perbankan, keamanan adalah hal yang sangat penting. Perubahan fitur harus dievaluasi dari sudut pandang keamanan. Apakah ada risiko keamanan tambahan yang timbul akibat perubahan ini?
  • Dampak pada Pengujian: Perubahan ini juga akan memengaruhi pengujian perangkat lunak. Tes harus disesuaikan dengan perubahan fitur baru, dan pengujian keamanan tambahan mungkin diperlukan.
  • Dampak pada Dokumentasi: Dokumentasi perangkat lunak perlu diperbarui untuk mencerminkan perubahan fitur. Ini termasuk dokumentasi pengguna, dokumentasi pengembang, dan dokumentasi keamanan.
  • Perencanaan Implementasi: Setelah semua dampak dinilai, langkah selanjutnya adalah merencanakan implementasi perubahan. Ini termasuk menetapkan waktu implementasi, mengoordinasikan dengan tim pengembang, dan memastikan bahwa nasabah dan staf bank diberi tahu tentang perubahan ini.

Dengan melakukan analisis dampak yang cermat, bank dapat memastikan bahwa perubahan fitur baru pada aplikasi perbankan online berjalan lancar tanpa mengganggu fungsionalitas, kinerja, atau keamanan sistem yang ada. Hal ini juga membantu mengelola risiko yang terkait dengan perubahan perangkat lunak dalam lingkungan produksi.



Impact Analysis Process


Starting Impact Set (Kumpulan Dampak Awal) adalah kumpulan item atau elemen perangkat lunak yang mungkin terpengaruh oleh sebuah perubahan yang akan diterapkan pada sistem perangkat lunak. Kumpulan dampak awal ini digunakan dalam analisis dampak perubahan perangkat lunak untuk mengidentifikasi dan memahami potensi dampak perubahan sebelum perubahan tersebut benar-benar diterapkan.

Kumpulan dampak awal mencakup berbagai komponen perangkat lunak, seperti modul, fungsi, komponen, atau item lain yang memiliki ketergantungan terhadap perubahan yang diusulkan. Tujuan dari pembentukan kumpulan dampak awal adalah untuk melakukan prediksi awal tentang bagian-bagian perangkat lunak yang perlu diperhatikan dan diuji dengan lebih cermat ketika perubahan diterapkan.

Proses pembentukan kumpulan dampak awal melibatkan analisis terhadap elemen-elemen yang mungkin terpengaruh oleh perubahan, identifikasi ketergantungan, serta pemahaman tentang bagaimana perubahan tersebut dapat merambat ke berbagai komponen sistem. Dengan memahami kumpulan dampak awal, tim pengembang perangkat lunak dapat mempersiapkan rencana yang lebih baik untuk mengelola perubahan, mengurangi risiko, dan memastikan bahwa semua komponen yang perlu diperbarui atau diuji telah diidentifikasi.

Contoh:

Misalkan Anda bekerja pada proyek pengembangan perangkat lunak yang melibatkan peningkatan fitur pada sebuah aplikasi e-commerce. Anda memulai dengan membentuk kumpulan dampak awal yang mencakup komponen seperti modul keranjang belanja, modul pembayaran, antarmuka pengguna, dan modul pencarian produk. Anda tahu bahwa perubahan pada fitur pembayaran mungkin akan memengaruhi komponen ini dan karenanya harus diperhatikan selama proses pengembangan dan pengujian.

Dengan memiliki kumpulan dampak awal, tim pengembang dapat lebih fokus dalam merencanakan dan mengelola perubahan tersebut, mengurangi risiko kesalahan, dan memastikan bahwa perubahan tersebut tidak mengganggu fungsionalitas atau kinerja keseluruhan dari aplikasi e-commerce yang ada.


Candidate Impact Set (Kumpulan Dampak Calon) adalah sekelompok item atau elemen perangkat lunak yang dipertimbangkan sebagai calon potensial yang mungkin terpengaruh oleh sebuah perubahan yang akan diterapkan pada sistem perangkat lunak. Kumpulan dampak calon digunakan dalam analisis dampak perubahan perangkat lunak sebagai langkah awal untuk mengidentifikasi komponen atau elemen yang kemungkinan terpengaruh oleh perubahan tersebut.

Kumpulan dampak calon membantu tim pengembang perangkat lunak untuk lebih cepat dan efisien mempersempit daftar elemen yang harus diperiksa secara lebih mendalam dalam analisis dampak. Ini membantu dalam perencanaan perubahan, pengujian, dan manajemen risiko, karena elemen-elemen yang termasuk dalam kumpulan dampak calon mungkin memerlukan perhatian lebih lanjut.

Proses pembentukan kumpulan dampak calon melibatkan evaluasi awal terhadap elemen-elemen perangkat lunak yang memiliki potensi ketergantungan terhadap perubahan yang diusulkan. Setelah identifikasi calon dampak, analisis dampak yang lebih mendalam dapat dilakukan untuk memahami dampak aktual perubahan pada elemen-elemen ini.

Contoh:

Misalkan Anda bekerja pada proyek perangkat lunak yang mengembangkan aplikasi manajemen proyek, dan tim pengembang ingin menambahkan fitur "pengingat tenggat waktu" ke dalam aplikasi. Anda mulai dengan membentuk kumpulan dampak calon yang mencakup modul tugas, antarmuka pengguna, modul notifikasi, dan modul penyimpanan data proyek.

Setelah membentuk kumpulan dampak calon, Anda melanjutkan dengan melakukan analisis dampak lebih mendalam untuk memahami secara spesifik bagaimana perubahan ini akan memengaruhi komponen-komponen dalam kumpulan dampak calon. Misalnya, Anda mungkin menemukan bahwa perubahan ini akan memerlukan penyesuaian dalam modul notifikasi untuk mengirimkan pengingat tenggat waktu kepada pengguna.

Dengan demikian, kumpulan dampak calon memungkinkan Anda untuk mengidentifikasi dengan cepat area-area yang perlu diperhatikan dalam perubahan perangkat lunak dan membantu dalam perencanaan dan pengelolaan perubahan tersebut.


Discover Impact Set (Kumpulan Dampak yang Ditemukan) adalah istilah yang digunakan dalam konteks analisis dampak perubahan perangkat lunak. Kumpulan ini merujuk pada kumpulan elemen atau item perangkat lunak yang telah diidentifikasi dan dipahami dengan lebih mendalam dalam analisis dampak setelah perubahan perangkat lunak diterapkan. Dengan kata lain, kumpulan dampak yang ditemukan adalah hasil nyata dari dampak yang muncul setelah perubahan tersebut dijalankan atau diimplementasikan.

Ketika tim pengembang menerapkan perubahan pada perangkat lunak, dampak yang sebenarnya dari perubahan tersebut dapat berbeda dari yang diperkirakan pada tahap awal (kumpulan dampak awal atau kumpulan dampak calon). Discover Impact Set membantu dalam memastikan bahwa semua dampak nyata telah diidentifikasi dan dikelola dengan baik setelah perubahan tersebut menjadi bagian dari sistem.

Proses identifikasi Discover Impact Set melibatkan pemantauan, pengujian, dan evaluasi dampak yang sebenarnya pada komponen-komponen yang terkait dengan perubahan. Hal ini memungkinkan tim pengembang untuk mengidentifikasi perubahan apa yang diperlukan, apa yang bekerja dengan baik, dan apa yang memerlukan perbaikan lebih lanjut.

Contoh:

Misalkan Anda bekerja pada tim pengembangan aplikasi perbankan online, dan tim Anda baru saja mengimplementasikan perubahan yang memungkinkan nasabah untuk mengubah kata sandi mereka secara mandiri melalui antarmuka pengguna. Pada tahap awal, Anda telah membentuk kumpulan dampak awal yang mencakup modul otentikasi dan modul keamanan.

Setelah perubahan tersebut dijalankan, Anda mulai memonitor sistem untuk mengidentifikasi dampak yang sebenarnya. Anda mungkin menemukan bahwa implementasi baru ini telah memengaruhi waktu respons sistem saat banyak nasabah mencoba mengganti kata sandi secara bersamaan. Kemudian, Anda mendokumentasikan temuan ini sebagai bagian dari Discover Impact Set.

Actual Impact Set (Kumpulan Dampak Sebenarnya) adalah sekelompok item atau elemen perangkat lunak yang benar-benar terpengaruh oleh sebuah perubahan yang telah diterapkan pada sistem perangkat lunak. Kumpulan dampak sebenarnya adalah hasil konkret dari perubahan yang telah diimplementasikan, dan ini mencakup semua komponen, modul, atau elemen yang terpengaruh secara nyata oleh perubahan tersebut.

Kumpulan dampak sebenarnya merupakan bagian penting dalam analisis dampak perubahan perangkat lunak, karena ini adalah gambaran faktual tentang bagaimana perubahan tersebut memengaruhi sistem secara keseluruhan. Dalam banyak kasus, kumpulan dampak sebenarnya dapat berbeda dari kumpulan dampak awal atau kumpulan dampak calon yang diprediksi pada tahap awal analisis dampak, karena dampak sebenarnya sering kali lebih spesifik dan akurat.
Proses identifikasi Actual Impact Set melibatkan pemantauan dan pengujian dampak yang muncul setelah perubahan dijalankan. Ini memungkinkan tim pengembang untuk memahami secara tepat bagaimana perubahan memengaruhi komponen perangkat lunak, fungsionalitas, kinerja, dan interaksi antara elemen-elemen sistem.

Contoh:
Misalkan Anda bekerja pada proyek pengembangan perangkat lunak untuk toko online, dan tim Anda baru saja mengimplementasikan perubahan yang mengoptimalkan algoritma rekomendasi produk kepada pelanggan. Pada tahap awal, Anda telah membentuk kumpulan dampak awal yang mencakup modul rekomendasi produk, basis data produk, dan antarmuka pengguna.

Setelah perubahan tersebut dijalankan, Anda melakukan pemantauan dan pengujian, dan Anda menemukan bahwa perubahan ini telah mempercepat waktu pemuatan halaman produk dan telah meningkatkan konversi penjualan secara signifikan. Anda juga menemukan bahwa waktu pemrosesan di server basis data produk meningkat. Kumpulan dampak yang ditemukan ini kemudian menjadi bagian dari Actual Impact Set.

False Positive Impact Set (Kumpulan Dampak Positif Salah) adalah istilah yang digunakan dalam analisis dampak perubahan perangkat lunak untuk merujuk pada elemen atau item perangkat lunak yang telah disalahartikan atau diprediksi sebagai terpengaruh oleh perubahan, tetapi pada kenyataannya tidak terpengaruh sama sekali. Dalam konteks analisis dampak, ini adalah dampak yang tidak terjadi atau tidak benar-benar relevan dengan perubahan yang diterapkan.

Kumpulan dampak positif salah biasanya muncul ketika terdapat kesalahan dalam pemahaman atau penilaian terhadap bagaimana perubahan tersebut akan memengaruhi sistem. Hal ini dapat mengakibatkan pengalokasian sumber daya yang tidak perlu untuk mengelola elemen-elemen yang sebenarnya tidak terpengaruh oleh perubahan tersebut.

Penting untuk mengidentifikasi kumpulan dampak positif salah dan mengklarifikasi bahwa elemen-elemen ini sebenarnya tidak memerlukan perhatian atau tindakan lebih lanjut. Dengan demikian, tim pengembang dapat fokus pada elemen-elemen yang benar-benar terpengaruh oleh perubahan dan mengurangi risiko pengalokasian sumber daya yang tidak diperlukan.

Contoh:

Misalkan Anda sedang mengembangkan perangkat lunak untuk sebuah situs web berita dan ingin mengganti desain tampilan beranda. Pada tahap awal, Anda memprediksi bahwa perubahan tersebut akan memengaruhi modul tampilan berita, modul navigasi, dan modul penilaian pengguna.

Namun, setelah perubahan tersebut diimplementasikan dan diuji, Anda menemukan bahwa modul navigasi dan modul penilaian pengguna berfungsi dengan baik tanpa perlu perubahan. Ini berarti bahwa prediksi awal Anda tentang dampak perubahan pada modul ini adalah salah, dan mereka termasuk dalam False Positive Impact Set. Kumpulan dampak ini tidak memerlukan tindakan lebih lanjut, dan sumber daya dapat dialokasikan dengan lebih efisien pada elemen-elemen yang benar-benar terpengaruh oleh perubahan desain tampilan beranda.


Dependency Based Impact Analysis

Dependency-Based Impact Analysis (Analisis Dampak Berdasarkan Ketergantungan) adalah metode analisis dampak yang digunakan dalam pengembangan perangkat lunak untuk mengidentifikasi dan memahami dampak dari perubahan yang akan diterapkan pada sistem perangkat lunak. Pendekatan ini berfokus pada identifikasi ketergantungan antara komponen atau modul perangkat lunak, dan bagaimana perubahan pada satu komponen dapat memengaruhi komponen lain dalam sistem.

Proses analisis dampak berdasarkan ketergantungan melibatkan langkah-langkah berikut:

  1. Identifikasi Ketergantungan: Tim pengembang mengidentifikasi dan mendokumentasikan ketergantungan antara berbagai komponen perangkat lunak dalam sistem. Ini termasuk ketergantungan fungsional, ketergantungan data, ketergantungan antarmuka, dan sebagainya. Informasi ini dapat disimpan dalam bentuk peta ketergantungan (dependency map).

  2. Identifikasi Perubahan: Selanjutnya, tim mengidentifikasi perubahan yang akan diterapkan pada sistem perangkat lunak. Perubahan ini bisa berupa perbaikan bug, peningkatan fitur, atau perubahan lainnya.

  3. Analisis Dampak: Tim melakukan analisis untuk memahami dampak potensial dari perubahan tersebut berdasarkan ketergantungan yang telah diidentifikasi. Ini melibatkan memahami bagaimana perubahan pada satu komponen dapat merambat ke komponen lain yang terkait. Ini membantu dalam menentukan elemen-elemen yang perlu diperbarui, diuji ulang, atau diperbaiki sebagai hasil dari perubahan.

  4. Penentuan Prioritas: Setelah analisis dampak selesai, tim dapat menentukan prioritas tindakan yang perlu diambil. Ini membantu dalam mengalokasikan sumber daya dengan bijak untuk mengatasi dampak perubahan dengan efisien.

Keuntungan dari pendekatan analisis dampak berdasarkan ketergantungan adalah memungkinkan tim pengembang untuk lebih akurat mengidentifikasi elemen-elemen yang perlu diperhatikan dan memahami bagaimana perubahan pada satu komponen dapat memengaruhi komponen lainnya. Hal ini juga membantu mengurangi risiko kesalahan, meminimalkan dampak yang tidak diinginkan, dan meningkatkan manajemen perubahan dalam pengembangan perangkat lunak.

Contoh:

Misalkan Anda bekerja pada proyek pengembangan perangkat lunak untuk aplikasi manajemen inventaris. Anda telah mengidentifikasi ketergantungan antara modul manajemen stok, modul pelaporan, dan modul pemesanan. Kemudian, Anda merencanakan untuk mengimplementasikan perubahan pada modul manajemen stok.

Dengan analisis dampak berdasarkan ketergantungan, Anda dapat memahami bahwa perubahan ini mungkin memengaruhi modul pelaporan, karena data stok akan digunakan dalam laporan. Anda juga dapat memahami bahwa modul pemesanan mungkin tidak terpengaruh.

Ripple Effect

Ripple Effect (Efek Gelombang) adalah istilah yang digunakan dalam pengembangan perangkat lunak untuk menggambarkan dampak perubahan pada satu komponen atau bagian dari perangkat lunak yang merambat atau memengaruhi komponen atau bagian lain dalam sistem. Ketika perubahan diterapkan pada satu bagian dari sistem, efek gelombang menyebabkan perubahan tersebut merambat dan memengaruhi bagian lain yang memiliki ketergantungan atau keterkaitan dengan komponen yang mengalami perubahan.



Contoh:

Misalkan Anda bekerja pada tim pengembangan perangkat lunak untuk aplikasi e-commerce. Aplikasi ini memiliki berbagai modul, termasuk modul keranjang belanja, modul pembayaran, dan modul pelaporan.

  1. Perubahan pada Modul Keranjang Belanja: Anda memutuskan untuk mengoptimalkan dan memperbarui modul keranjang belanja untuk meningkatkan kinerjanya. Namun, perubahan ini tidak hanya memengaruhi modul keranjang belanja itu sendiri. Dalam proses ini, terjadi efek gelombang yang memengaruhi:

  2. Modul Pembayaran: Karena modul keranjang belanja diperbarui, proses komunikasi dengan modul pembayaran mungkin perlu disesuaikan atau dioptimalkan untuk mencocokkan perubahan pada keranjang belanja.

  3. Modul Pelaporan: Perubahan pada keranjang belanja juga dapat memengaruhi modul pelaporan. Sebagai contoh, mungkin diperlukan pembaruan dalam laporan yang mencantumkan detail keranjang belanja nasabah.

Dengan demikian, perubahan pada satu komponen (modul keranjang belanja) menyebabkan efek gelombang yang memengaruhi komponen lain yang terkait dengannya. Efek gelombang ini dapat menyebar ke berbagai bagian dari sistem perangkat lunak dan mempengaruhi cara berbagai komponen saling berinteraksi.

Latihan

Buatlam Impact Analysis dari aplikasi Penerimaan Siswa Baru.



Absensi




Final Project EPL 2023

  Monitoring Form  Monitoring Tugas Hasil Monitoring