Section Artikel
SDLC (System Development Life Cycle) merupakan sebuah istilah untuk menyebut proses sekaligus alur kerja dari pembuatan dan pengubahan sistem perangkat lunak. Biasanya istilah ini dapat kita temukan dalam proses pengembangan suatu aplikasi/website di suatu perusahaan.
SDLC ini pertama kali disebutkan oleh Geoffrey Elliott dalam buku Global Business Information Technology pada tahun 1960-an. Semenjak itu, SDLC semakin banyak diadopsi oleh berbagai perusahaan teknologi, khususnya dalam pengembangan hardware dan software.
SDLC menjadi penting bukan tanpa sebab. Salah satu kegunaan dari SDLC yaitu untuk mencapai output produk yang berkualitas. SDLC juga diterapkan dengan tujuan untuk menghemat sumber daya klien sehingga tercipta efisiensi anggaran dan waktu kerja. Maka dari itu, berbagai macam SDLC yang berbeda dikembangkan guna memenuhi kebutuhan yang berbeda pula.
Ada beberapa keuntungan apabila kita melakukan pengembangan dengan berpedoman pada kerangka SDLC. Keuntungan tersebut antara lain:
Berikut merupakan beberapa tahapan dalam membangun SDLC yang baik. Tahapan ini terdiri dari:
SDLC yang baik selalu dimulai dengan membuat perencanaan matang. Tahapan ini berguna untuk memetakan kebutuhan dan tujuan dari produk yang akan dikembangkan. Kebutuhan dan tujuan produk ini ditentukan setelah melakukan analisis pada target pengguna.
Tentu kita tidak ingin produk yang sudah susah payah kita kembangkan gagal dan/atau tidak diterima pengguna karena merasa tidak dibutuhkan, bukan? Karena alasan tersebut, tahap ini merupakan tahap krusial yang berperan dalam kelancaran tahap-tahap berikutnya
Setelah semua pemetaan dilakukan analisis, maka proses design bisa dimulai. Proses ini berguna untuk menjawab pertanyaan “Bagaimana kita akan mengerjakannya?”.
Maka dari itu, dalam proses ini dilakukan proses pemetaan terhadap segala macam kebutuhan yang perlu disiapkan seperti sumber daya dan estimasi waktu yang diperlukan. Pemetaan ini kemudian dianalisis untuk menyusun perencanaan, yang mencakup daftar komponen, langkah kerja, serta pembagian tanggung jawab dari setiap stakeholder.
Setelah semua kebutuhan telah terencana dan didesain sesuai kebutuhan, maka akan dilakukan eksekusi pengerjaan pengembangan produk. Pengembangan ini tentu saja akan mengacu pada segala persiapan yang telah disusun dalam dua langkah sebelumnya guna mencapai efisiensi kerja. Dalam praktiknya, proses ini mengacu pada pembagian tugas yang harus memenuhi target dan batas waktu tertentu sesuai jadwal yang telah ditentukan.
Setelah produk tersebut jadi/mendekati perilisan, maka harus dilakukan testing terhadap produk sebelum versi final dirilis. Tahap ini mencakup identifikasi dan pembetulan terhadap bug system yang mungkin muncul dalam tahap ujicoba awal.
Dalam tahap ini, pengembang juga berusaha untuk mendengarkan review dari pengguna yang mengikuti test produk dan melakukan penambahan/pengurangan/penyesuaian fitur sesuai permintaan.
Setelah yakin semua persyaratan system telah sesuai spesifikasi dan bug system telah tereliminasi dalam test, maka produk siap diluncurkan ke pasar. Dalam tahap deploy, produk harus sudah siap dibeli dan digunakan oleh pengguna.
Dalam tahap ini, hardware/software jadi yang sudah diluncurkan akan dipantau secara berkala oleh tim pemeliharaan sistem. Mereka bertanggung jawab terhadap pembetulan terhadap bug yang mungkin muncul. Tahap ini juga memungkinkan tim pemeliharaan untuk melakukan pembaruan sistem serta peningkatan fungsi dari fitur/perangkat yang sudah ada.
Ada beberapa model SDLC yang biasa dipakai di perusahaan. Berikut merupakan lima di antaranya:
Model ini merupakan salah satu model paling awal dari SDLC. Dalam model ini, anda dituntut untuk bekerja dari satu tahap ke tahap lainnya secara berurutan. Model SDLC ini cocok diterapkan pada proyek berskala kecil dengan target yang mudah tercapai, namun sebaiknya dihindari untuk proyek besar karena sifatnya yang tidak fleksibel pada perubahan.
Model kerja ini merupakan pengembangan dari model Waterfall, yang memungkinkan penggunanya untuk melewati tahap – tahap yang tidak diperlukan/menukar langkah kerja. Namun tidak semua langkah kerja dapat ditukar (Contoh: kita harus menyelesaikan tahap design sebelum masuk ke tahap implement).
Model SDLC yang satu ini merupakan salah satu yang paling sering dipakai dalam perusahaan teknologi terkini, dikarenakan kecepatan dan fleksibilitas langkah kerja yang ditawarkan. Namun, bukan berarti model ini sempurna, Kelemahan dari model AGILE yaitu membutuhkan adaptasi yang cepat dari pengembang saat menyelesaikan perubahan yang diperlukan.
Model ini tergolong baru dibandingkan model SDLC lainnya. Dalam model ini, kita hanya memerlukan prototype (purwarupa) produk untuk dipresentasikan terhadao calon pengguna. Nantinya, input dari pengguna inilah yang akan digunakan sebagai acuan dalam mengembangkan produk, sehingga produk yang ada akan sesuai dengan kebutuhan pelanggan.
Model SDLC terakhir adalah RAD (Rapid Application Development). Model ini sangat cocok untuk pengembangan dalam jangka waktu relatif singkat (60-90 hari). Perkembangan cepat ini dicapai berkat alur kerja yang linier dan pendekatan pembangunan yang berbasis komponen.