apa itu sdlc

Apa Itu SDLC? Mari Kupas Tuntas Semuanya di Sini

Apa Itu SDLC – Ketika saya sedang menjalani proses interview dengan bidang kerjaan yang saya geluti. Saya sering mendapatkan pertanyaan-pertanyaan yang sama.

Salah satu pertanyaan yang paling sering adalah :

“Apa itu SDLC? Dan Sejauh apa pemahaman anda tentang Sofware Development Life Cycle?”

Pertanyaan ini sebenarnya penting. Karena ini menyangkut seberapa jauh kompetensi seseorang dalam sebuah siklus pengembangan sebuah software.

Mari kita berbicara tentang siklus. Bukan tentang kemampuan coding. Karena pada faktanya, masih banyak programmer yang jago ngoding, namun belum memahami siklus pengembangan sebuah software dengan baik.

Apa Itu SDLC?

(SDLC) Software Development Life Cycle merupakan sebuah siklus yang digunakan oleh perusahaan software untuk mendesain, mendevelop, lalu mengetest sebuah software.

SDLC ini bertujuan untuk menghasilkan software berkualitas yang memenuhi ekspektasi pelanggan dan selesai sesuai dengan waktu dan biaya yang sudah ditentukan sebelumnya.

apa itu sdlc
siklus software development life cycle

Tools Untuk SDLC

Ada banyak sekali tools yang bisa digunakan untuk proses (SDLC) Software Development Life Cycle. Namun yang paling sering digunakan adalah tools berikut ini :

1. Jira

Jira merupakan sebuah tracking system tool yang dapat digunakan untuk mentracking Bug/Issue/Task/Project yang sedang dikerjakan.

Fitur-fitur yang dimiliki oleh Jira diantaranya adalah :

  • Planning pekerjaan melalui version and release.
  • Tracking dan report pada task, due date, dan effort.
  • Tracking status ticket dari awal sampai selesai melalui customizable workflow.
  • Integration dengan version control systems (GIT) sehingga setiap perubahan code dapat dilacak di dalam setiap ticket, version dan project.

2. Confluence

Confluence merupakan sebuah online tool yang digunakan untuk menyimpan dan berbagi informasi.

Template yang disediakan oleh Confluence ini berguna untuk :

  • Mendokumentasikan requirements management.
  • Alat untuk mengambil keputusan.
  • Mencatat hasil meeting.
  • Mendokumentasikan How-to dan artikel Troubleshooting.
  • Mendokumentasikan Retrospectives.
  • Sebagai Project Tracking dan Reports.

Confluence juga memiliki kemungkinan untuk di integrasikan dengan Jira.

3. Github

Github berguna sebagai version control system sebuah project.

Tahap-Tahap SDLC

Pada umumnya, (SDLC) Software Development Life Cycle terdiri dari tahap-tahap berikut :

1. Planning and Requirement Analysis

Requirement Analysis merupakan tahap paling penting dan mendasar dari sebuah SDLC.

Tahap ini dilakukan oleh seorang project manager dengan masukan dari stakeholder, tim bisnis, tim data, dan pihak lainnya yang terkait dengan project tersebut.

Nah dari data yang terkumpul nantinya akan digunakan untuk merencanakan project dasar dan untuk melakukan studi kelayakan project dari segi ekonomi, operasional, dan teknisnya.

Setelah Requirement Analysis selesai dilakukan, maka tahap selanjutnya adalah Planning.

Planning merupakan proses untuk mengidentifikasi segala resiko yang mungkin terjadi selama pengembangan project maupun hasil akhir project tersebut.

Tahapan ini memberikan gambaran yang lebih jelas tentang scope seluruh project serta mengantisipasi issueissue yang kemungkinan bakal terjadi.

2. Defining Requirements

Setelah Requirement Analysis selesai dilakukan, langkah selanjutnya adalah mendefinisikan dan mendokumentasikan persyaratan project dengan jelas lalu meminta persetujuan dari stakeholder.

Proses ini dilakukan melalui dokumen SRS (Software Requirement Specification) yang memuat semua persyaratan project yang akan dirancang dan dikembangkan selama project life cycle.

3. Designing the Product Architecture

Dokumen SRS tersebut merupakan referensi bagi software architect untuk menentukan arcthitecture manakah yang akan digunakan untuk mengembangkan project tersebut.

Berdasarkan persyaratan yang ditentukan dalam SRS, biasanya terdapat lebih dari satu pendekatan desain untuk product architecture yang diusulkan.

Nantinya desain tersebut didokumentasikan ke dalam DDS (Design Document Specification).

Dokumen DDS ini di review oleh stakeholder dengan menggunakan berbagai parameter seperti resiko, ketahanan project, modularitas desain, anggaran dan waktu. Lalu pendekatan desain yang terbaik selanjutnya akan dipilih.

4. Building or Developing the Product

Pada tahap ini, pengembangan yang sebenarnya dimulai. Pemrograman code yang dihasilkan harus mengacu pada DDS.

Jika dalam proses desainnya dilakukan secara rinci dan rapi maka pemrograman code dapat dilakukan dengan lancar.

Para Developer harus mengikuti pedoman coding dan menggunakan kompiler, interpreter, debugger, dan lain sebagainya yang sudah ditentukan.

5. Testing the Product

Tahapan ini biasanya merupakan himpunan bagian dari semua tahapan dalam model SDLC modern.

Tahap ini mengacu pada pengujian project di mana bugs akan dilacak, dilaporkan, diperbaiki, dan diuji ulang. Sampai project mencapai standar kualitas yang sudah ditentukan di dalam SRS.

6. Deployment in the Market and Maintenance

Setelah project diuji dan siap untuk digunakan, maka project tersebut akan dirilis secara resmi ke pasar.

Kadang project deployment tersebut terjadi secara bertahap sesuai dengan strategi bisnis yang digunakan.

Biasanya project akan dirilis di segment terbatas terlebih dahulu untuk diuji secara UAT (User Acceptance Test).

Lalu setelah mendapat feedback maka project dapat dirilis sebagaimana adanya atau dengan peningkatan yang disarankan.

Proses maintenance juga perlu dilakukan setelah project tersebut dirilis. Hal ini guna memastikan project dapat selalu berjalan dengan baik dan sesuai dengan kebutuhan pasar.

Model-Model SDLC

Ada berbagai macam model SDLC (Software Development Life Cycle) yang bisa digunakan untuk pengembangan sebuah software.

Setiap model SDLC memiliki karakter tersendiri untuk memastikan keberhasilan dalam pengembangan software.

Berikut ini adalah model SDLC yang paling sering digunakan :

1. Waterfall Model

apa itu sdlc
SDLC Waterfall Model

Waterfall merupakan model pengembangan perangkat lunak paling tua, dan paling banyak dipakai.

Dalam pendekatan ini, seluruh proses software development dibagi menjadi beberapa tahap dan harus berurutan. Tidak boleh loncat-loncat.

Dalam model SDLC ini, hasil dari satu tahap akan bertindak sebagai input untuk tahap berikutnya.

2. Prototype Model

apa itu sdlc
SDLC Prototype Model

Model prototype merupakan model pengembangan software yang memungkinkan para usernya untuk memiliki gambaran awal tentang project yang akan dikembangkan dengan melakukan pengujian awal.

Selanjutnya user tersebut dapat memberikan feedback yang sangat berharga untuk membantu developer memahami apa sebenarnya yang diharapkan dari produk yang sedang dikembangkan tersebut.

Model prototype ini memberikan fasilitas bagi developer dan user untuk saling terkait dan berinteraksi.

3. Rapid Application Development (RAD) Model

apa itu sdlc
SDLC Rapid Application Development Model

Dari namanya saja sudah jelas bahwa model ini bertujuan mempersingkat waktu yang diperlukan dalam sebuah SDLC.

Dalam Rapid Application Development, modul fungsional dikembangkan secara paralel sebagai prototype dan terintegrasi untuk membuat produk dengan waktu perilisan yang lebih singkat.

Karena tidak ada rincian planning yang detail maka hal ini akan memudahkan untuk melakukan perubahan pada saat development sedang berjalan.

4. Spiral Model

jenis jenis sdlc
SDLC Spiral Model

Model Spiral merupakan model pengembangan software yang evolusioner yang memadukan sifat iteratif dengan sifat sistematis.

Model SDLC ini memiliki penekanan yang tinggi pada analisis resiko yang akan di hadapi yang bertujuan untuk meningkatkan tingkat keberhasilan pada saat pengembangan suatu sistem.

5. Agile Model

jenis jenis sdlc
SDLC Agile Model

Model Agile merupakan model pengembangan jangka pendek yang memerlukan adaptasi cepat dalam setiap perubahan yang terjadi.

Dalam Agile Model terdapat beberapa point penting diantaranya sebagai berikut:

  1. Komunikasi lebih penting daripada proses dan tool.
  2. Software yang berfungsi lebih penting daripada dokumentasi yang lengkap.
  3. Kolaborasi dengan klien lebih penting daripada negoisasi kontrak.
  4. Sikap tanggap lebih penting daripada mengikuti rencana/plan.

Kesimpulan

Jadi sampai sini sudah jelas kan apa itu SDLC. Beberapa kesimpulan lainnya yang dapat saya rangkum adalah :

  1. SDLC merupakan proses sistematis untuk membangun software yang memastikan kualitas dan kebenaran software yang dibangun.
  2. Proses SDLC menyediakan framework untuk standar pengerjaan dan pencapaian hasil.
  3. Anggota tim senior melakukan tahap analisis kebutuhan.
  4. Tahap Studi Kelayakan mencakup segala sesuatu yang harus dirancang dan dikembangkan selama siklus SDLC.
  5. Pada tahap Desain, dokumen DDS (Design Document Specification) disiapkan sesuai dengan SRS (Software Requirement Specification).
  6. Pada tahap coding, developer mulai membangun seluruh sistem dengan menulis code menggunakan bahasa pemrograman yang dipilih
  7. Testing adalah fase berikutnya yang dilakukan untuk memverifikasi bahwa seluruh aplikasi berfungsi sesuai dengan kebutuhan pelanggan.
  8. Instalasi dan deployment dimulai saat tahap testing software berakhir, dan tidak ada bug atau kesalahan yang tersisa di sistem.
  9. Perbaikan bug dan peningkatan berada di tahap maintenance.
  10. SDLC terdiri dari rencana terperinci yang menjelaskan cara merencanakan, membangun, dan memelihara software.

Tinggalkan komentar