Foto oleh Christina Morillo dari Pexels
Aplikasi sering kali perlu ditingkatkan atau diintegrasikan dengan sistem baru yang digunakan pengguna. Seringkali diperlukan untuk memberikan pengujian tambahan terhadap perangkat lunak atau peningkatan versi. Selama fase pemeliharaan, kesalahan atau cacat mungkin ada, yang memerlukan perbaikan selama pengujian tambahan perangkat lunak. Pemantauan kinerja perangkat lunak juga disertakan selama fase pemeliharaan.
Proses Maintenance pada Software Development Life Cycle mencakup semua aktivitas setelah deployment atau penginstalan software yang dilakukan untuk menjaga agar sistem tetap beroperasi dengan optimal. Seperti yang telah kami sebutkan sebelumnya, perangkat lunak seperti aplikasi seringkali memiliki kesalahan desain dan sistem. Dua bentuk utama dari kegiatan maintenance adalah Adaptive Maintenance dan Corrective Maintenance, selain itu juga ada Perfective Maintenance dan Preventive Maintenance, Mari kita bahasa satu per satu.
- Corrective Maintenance
Secara umum, kita pasti sepakat bahwa untuk sebuah sistem besar seperti aplikasi, menghilangkan semua kesalahan (bug/error) sebelum deployment sangat sulit dan seringkali kesalahan (bug/error) akan ditemukan setelah sistem dipasang dan berjalan beberapa lama. Ketika kesalahan ini bug/error) terdeteksi, mereka harus dihilangkan. Kegiatan pemeliharaan yang terkait dengan perbaikan kesalahan termasuk dalam pemeliharaan korektif.
2. Adaptive Maintenance
Menghilangkan bug merupakan salah satu kegiatan maintenance yang dapat dilakukan oleh Klien bersama Vendor pengembang software untuk menjaga sistem pada kondisi optimal ketika digunakan oleh pengguna. Pemeliharaan juga diperlukan karena perubahan lingkungan atau persyaratan sistem, seperti update software pada sistem operasi tertentu (Android – iOS). Seringkali setelah sistem diinstal dan pengguna memiliki kesempatan untuk bekerja dengannya selama beberapa waktu, persyaratan yang tidak diidentifikasi selama fase analisis kebutuhan akan terungkap. Hal ini terjadi, karena pengalaman dengan perangkat lunak membantu pengguna untuk menentukan kebutuhan dengan lebih tepat. Mungkin juga ada perubahan dalam data input, lingkungan sistem, dan format output. Semua ini memerlukan modifikasi perangkat lunak. Kegiatan pemeliharaan yang terkait dengan modifikasi tersebut termasuk dalam pemeliharaan adaptif.
3. Perfective Maintenance
Perfective Maintenance berfokus pada evolusi persyaratan dan fitur yang ada di sistem Anda. Saat pengguna berinteraksi dengan aplikasi Anda, mereka mungkin memperhatikan hal-hal yang tidak Anda lakukan atau menyarankan fitur baru yang mereka inginkan sebagai bagian dari perangkat lunak, yang dapat menjadi proyek atau penyempurnaan di masa mendatang. Pemeliharaan perangkat lunak yang sempurna mengambil alih beberapa pekerjaan, baik menambahkan fitur yang dapat meningkatkan pengalaman pengguna dan menghapus fitur yang tidak efektif dan fungsional. Ini dapat mencakup fitur yang tidak digunakan atau yang tidak membantu Anda mencapai tujuan akhir.
4. Preventive Maintenance
Preventive Maintenance membantu membuat perubahan dan adaptasi pada perangkat lunak Anda sehingga dapat bekerja untuk jangka waktu yang lebih lama. Fokus dari jenis pemeliharaan adalah untuk mencegah kerusakan perangkat lunak Anda karena terus beradaptasi dan berubah. Layanan ini dapat mencakup pengoptimalan kode dan pembaruan dokumentasi sesuai kebutuhan.
Pemeliharaan perangkat lunak preventif membantu mengurangi risiko yang terkait dengan pengoperasian perangkat lunak untuk waktu yang lama, membantunya menjadi lebih stabil, dapat dipahami, dan dapat dipelihara.
Pekerjaan pemeliharaan didasarkan pada perangkat lunak yang ada, dibandingkan dengan pekerjaan pengembangan, yang menciptakan perangkat lunak baru. Akibatnya, pemeliharaan diselesaikan dengan memahami perangkat lunak yang ada dan menghabiskan sebagian besar waktu mereka untuk mencoba memahami perangkat lunak yang harus mereka modifikasi. Memahami perangkat lunak tidak hanya melibatkan pemahaman kode, tetapi juga dokumen terkait. Selama modifikasi perangkat lunak, efek dari perubahan harus dipahami dengan jelas oleh pengelola karena memperkenalkan efek samping yang tidak diinginkan dalam sistem selama modifikasi lebih mudah.
Tips Maintenance dalam SDLC?
Untuk menguji apakah aspek-aspek dalam sistem yang tidak seharusnya dimodifikasi beroperasi seperti sebelum modifikasi, dilakukan pengujian regresi. Pengujian regresi melibatkan pelaksanaan kasus uji lama untuk menguji bahwa tidak ada kesalahan baru yang diperkenalkan. Dengan demikian, pemeliharaan melibatkan pemahaman perangkat lunak yang ada (kode dan dokumen terkait), memahami efek perubahan, melakukan perubahan – baik terhadap kode maupun dokumen, menguji bagian baru (perubahan), dan mengatur ulang bagian lama yang tidak diubah. .
Karena seringkali selama pengembangan, kebutuhan pengelola tidak diperhatikan, hanya sedikit dokumen pendukung yang dibuat selama pengembangan untuk membantu pengelola. Kompleksitas tugas pemeliharaan digabungkan dengan pengabaian masalah pemeliharaan selama pengembangan yang menjadikan pemeliharaan sebagai aktivitas yang paling hemat biaya dalam masa pakai produk perangkat lunak.