MANAJEMEN PROYEK PERANGKAT LUNAK (4) - System Development Life Cycle (SDLC)
Assalamualaikum wr. wb.
Pada bagian ke-4, saya akan membahas memngenai SDLC - Software Development Life Cycle.
Apa itu SDLC?
SDLC merupakan sebuah rangkaian kegiatan pengembangan perangkat lunak / sistem berbentuk siklus perangkat lunak dari awal hingga akhir pengembangan.
SDLC digunakan dalam pengembangan perangkat lunak agar setiap tahapan pengembangan menjadi terstruktur, jelas dan mengurangi risiko kegagalan pengembangan.
SDLC secara umum terdiri dari tahapan / fase sebagai berikut:
1. Planning
Identifikasi masalah, peluang, dan hal yang berkaitan dengan apa yang akan kita buat. Client memberikan permasalahan dan developer mencatatnya.
Developer merancang perangkat lunak yang sesuai dengan hasil analisis dan membuat rumusan detail mengenai pembangunan perangkat lunak.
4. Implementation
Developer membangun perangkat lunak dengan mengimplementasikan rancangan untuk di realisasikan menjadi perangkat lunak.
5. Testing & Integration
Developer & Client (atau user yang dipilih) menguji perangkat lunak dan memastikan semua fungsi program telah berjalan sesuai yang diharapkan. terdapat pengujian tingkat Unit dan tingkat Keseluruhan sistem.
Developer melakukan Integrasi unit/bagian perangkat lunak yang lolos pengujian ke dalam bentuk perangkat lunak yang siap di pakai user.
- Model Air terjun (Waterfall)
- Agile
- Prototyping
- Incremental
- Spiral
- V model
- Rapid Application Development (RAD)
- ASD
- DevOps
- DSDM
- FDD
- RAD
- XP
- Kanban
- Identifikasi masalah
- definisikan batasan proyek
- koordinasi pembagian tanggung jawab dengan stakeholder
- buat struktur organisasi
- buat dokumentasi untuk semua rencana
- definisikan daftar risiko, dan asumsi proyek
- pembagian tim proyek & lokasi kerja
- review proyek
- Buat rencana proyek beserta sumber daya, keuangan, kualitas, dan risiko nya. Hal ini dipengaruhi oleh Project management Triangle.
- melakukan review fase-2
- menghubungi supplier
- membuat rencana pengadaan, komunikasi, dan rencana penerimaan.
- Membangun sistem. Didalamnya dilakukan 9 manajemen proyek
- Manajemen Risiko
- Manajemen Isu
- Manajemen Pengadaan
- Manajemen Penerimaan
- Manajemen Komunikasi
- Manajemen Perubahan
- Manajemen Kualitas
- Manajemen Biaya
- Manajemen Waktu
- Kontrol & pemantauan sistem
- Review fase-3
- Sistem yang telah jadi diserahkan pada pelanggan
- Kontak dengan supplier diakhiri
- Pembubaran tim proyek & menyerahkan laporannya pada stakeholder
- Post-implementation review
- Sesi evaluasi.
Contoh 2 Metodologi Pengembangan Perangkat Lunak:
Waterfall:
- Waterfall (Model Air Terjun) merupakan SDLC tradisional, yang menjadi metodologi umum dalam pengembangan PL karena tahapan yang jelas. Tahap pengembangan di waterfall itulah yang sering kita lihat sebagai tahapan SDLC, terdiri dari perencanaan, analisis, implementasi, testing, dan pemeliharaan. Hal ini membuat semua proyek dengan waterfall dapat diperkirakan.
- Waterfall adalah pengembangan PL prediktif. Artinya, perlu perencanaan yang matang serta analisis yang baik secara mendalam sebelum masuk ke tahap coding / implementasi.
- Waterfall dikatakan lebih aman karena berorientasi pada rencana, sehingga jika perencanaan nya baik, maka waterfall akan lancar hingga akhir. Kemudian, pemisahan tahap membuat pekerjaan terpisah dan tidak bersamaan. Jadi, Penguji PL bekerja setelah Pengembang PL selesai membuat PL secara keseluruhan, dan setiap tahap selalu diakhiri dengan laporan detail menuju tahap selanjutnya.
- User dapat menggunakan PL pada tahap testing (jika ada beta testing) dan setelah PL rilis.
- Dokumentasi PL harus mendetail dan dapat digunakan untuk melatif seluruh tim dalam meningkatkan kualitas PL.
- Kesalahan saat pengujian PL (kesalahan persyaratan / ada perubahan besar) akan membuat pengembangan PL di-reset dari awal kembali.
Agile:
- Agile adalah pengembangan PL yang menyatukan pengembangan dan pengujian bergantian secara iteratif sepanjang siklus pengembangan PL, tidak seperti Waterfall yang memisahkannya secara jelas.
- Agile adalah pengembangan PL adaptif, dimana tidak terdapat perancanaan yang sangat detail. Pengembangan fitur dilakukan secara dinamis dan tugas tim menyesuaikan. PL akan sering diuji setiap iterasi dan perilisian update, agar meminimalkan risiko kegagalan yang besar di masa yang akan datang.
- Agile dipengaruhi interaksi pelanggan & feedback. Agile dikhaskan memliki dokumentasi terbuka dan minimal, serta tim yang bekerja di lokasi geografis yang sama.
- Proses untuk 1 iterasi sangat singkat (2-4 minggu), Sehingga jika proyek kecil bisa diperkirakan penyelesaiannya, maka proyek besar akan sulit diperkirakan.
- User dapat menggunakan PL pada tiap Sprint. Jika tim memiliki kontak yang baik dengna user, maka Fitur baru mungkin bisa digunakan lebih cepat.
Komentar
Posting Komentar