Coding.ID Blog

coding_id

Apa itu SDLC?

Bagi penggiat IT, maupun sedang mengampu kuliah ataupun sedang didunia kerja pasti istilah SDLC ini pernah kalian dengar, namun apakah kalian tahu apa itu SDLC? Mengapa SDLC ini kerap muncul jika pada dunia IT? Apa jenis SDLC yang sering digunakan saat ini? Sabar.. disini akan kami bahas tentang SDLC nih!

SDLC atau Software Development Life Cycle jika diartikan dalam bahasa Indonesia adalah “Siklus Hidup Pengembangan Perangkat Lunak”, well kalau diartikan secara harfiah mungkin masih terdengar “asing” untuk kita, jadi SDLC merupakan sebuah proses untuk mendefinisikan tahapan-tahapan yang akan dilakukan dalam pengembangan software, tahapan SDLC mulai dari awal software tersebut direncanakan dan dibentuk hingga diberhentikan.

Memang penting menggunakan SDLC?

Yup!, SDLC cukup penting digunakan saat mengembangkan sebuah produk atau software. Dengan adanya tahapan yang dijabarkan dari awal hingga akhir dari produk, maka menggunakan SDLC ini menjadikan pengembangan lebih sistematis dan disiplin, dengan begitu juga dapat menghasilkan produk yang berkualitas tinggi.

Apa aja sih tahapan SDLC?

Dari tadi membahas tahapan-tahapan tetapi masih tidak terbayang bagaimana tahapan kan? baik, umumnya tahapan SDLC dipecah menjadi enam tahap, yaitu

  1. Analisis kebutuhan produk

Pada fase ini seluruh informasi terkait kebutuhan dari produk, ekspektasi produk, dsb yang merupakan Requirement dari customer dikumpulkan lalu dianalisis. Pada tahap ini juga Bisnis Analis dan Projek Manajer melakukan meeting dengan customer yang ingin membuat produk atau software. Analisis dibutuhkan agar terhindar dari ambiguitas terhadap requirement yang ada, jika seluruh kebutuhan sudah disepakati dan dipahami dengan kedua belah pihak, maka dibentuklah sebuah dokumen SRS (Software Requirement Specification) Dokumen ini wajib di review oleh Customer dan dipahami oleh developer.

  1. Desain

Setelah dokumen SRS rampung, maka dari dokumen tersebut dibuatkan desain produk. Apakah desain yang kalian bayangkan hanya desain berbentuk UI atau tampilan dari produk? Oh tidak semudah itu kawan. Desain yang dimaksud adalah seluruh desain yang dibutuhkan pada sebuah software, mulai dari desain sistem, desain database, hingga desain dari UI atau User Interface yang akan dibuatkan dan tentunya seluruh desain tersebut mengacu pada dokumen SRS.

  1. Implementasi (Coding)

Tahap ini merupakan tahap favorit para developer, karena pada tahap ini dilakukan implementasi dari desain yang sudah dibuatkan pada tahap sebelumnya, tentunya implementasi menggunakan coding. Hasil dari tahap ini merupakan produk atau software yang siap ditest oleh tester

  1. Testing

Pada tahap ini, setelah developer mengatakan “Yak, siap ditest”, maka tim tester melakukan testing dari produk yang ada, mencari bugs atau defectdan jika ditemukan diberitahukan kepada tim developer agar bugs tersebut dibenarkan. Testing ini mengacu pada dokumen SRS agar sesuai kebutuhan dan ekspektasi dari customer.

  1. Deployment

Setelah dilakukan testing  dan produk sudah memenuhi kebutuhan user, maka siap dilakukan deployment. Eits.. tapi sebelum deployment, dilakukan User Acceptance Testing (UAT) terlebih dahulu yang dilakukan dari pihak customer, tentunya pada tahap ini lebih baik menggunakan replika dari aplikasi agar data yang tidak diinput tidak mengganggu database yang sudah jadi, Jika semua sudah clear dari customer maka baru dilakukan deployment

  1. Maintenance

Setelah dilakukan deployment maka tahap selanjutnya adalah maintenance. Jika produk tersebut memiliki issue atau masalah dan maintenance dari produk itu sendiri yang akan dilakukan oleh tim developer

SDLC apa yang bagus digunakan?

SDLC memang banyak jenisnya, tetapi memilih SDLC pun tidak sembarangan, karena dari setiap jenis SDLC memiliki karakteristik dan kelebihan – kekurangannya tersendiri, kami akan jabarkan tiga jenis SDLC yang cukup umum digunakan.

Waterfall

Model yang paling sepuh digunakan, karena model pertama SDLC, Waterfall  diperkenalkan oleh Windows W. Royce pada tahun 1970, model ini juga dikenal sebagai Linear Sequential Model atau model linear sekuensial, dari istilah sekuensial tersebutlah model ini pun pengerjaanya dilakukan secara sekuensial atau harus bertahap, tahap pertama selesai lalu evaluasi baru setelah itu masuk ke tahap dua dan seperti itu seterusnya hingga tahap akhir. Adapun kelebihan dan kekurangan dari model ini adalah :

            Kelebihan Waterfall Model

  • Model yang sangat mudah dipahami karena yang sifatnya sekuensial atau bertahap.
  • Projek jadi lebih terdefinisikan dengan baik, mudah ditata dan diatur sehingga terhindar dari kompleksitas atau kesalah pahaman pada project
  • Baik digunakan pada produk yang sudah jelas apa yang dibutuhkan sejak tahap analisis kebutuhan atau tahap pertama, sehingga dapat menghindari kesalahan-kesalahan
  • Kualitas yang dihasilkan dari model ini biasanya memiliki kualitas yang baik.
  • Karena setiap fase harus dilakukan secara lengkap, maka dokumentasi pada produk menjadi baik

            Kekurangan Waterfall Model

  • Perubahan pada tengah-tengah tahap pengerjaan sangat sulit dilakukan
  • Kebutuhan customer harus Fix jika sudah melewati tahap pertama, sehingga customer dan bisnis analis harus memikirkan secara hati-hati sehingga tidak terjadi perubahan kebutuhan pada customer
  • Produk yang dibuat memiliki waktu yang relatif lama, karena setiap tahap harus saling menunggu.
  • Terjadi gap waktu antar fase atau tahap, sehingga ada tim yang menunggu.*Red)

Jadi, Waterfall model atau Linear Sequential Model itu diperuntukan untuk sebuah produk yang memiliki kebutuhan atau tujuan yang jelas dari awal, biasanya Waterfall diperuntukan untuk aplikasi yang “sekali jadi” atau aplikasi yang tidak ada perubahan atau penambahan fitur pada tengah-tengah tahap pengembangan.

V-Model

V-Model atau V-Shaped Model merupakan salah satu model yang cukup sering digunakan, model ini merupakan “turunan” dari model Waterfall, hanya saja pada model ini sedikit ada perbedaan, yaitu testing yang dilakukan lebih mendalam dan terstruktur. Pada model Waterfall desain tidak dipecah menjadi tahap-tahapan tertentu, namun pada V-shape, desain dipecah menjadi tahapan-tahapan baru, sehingga testing yang dilakukan adalah testing dengan mengacu masing-masing desain yang ada.

Pada gambar diatas, Desain dibagi menjadi 3 tahapan (system design, High level design, dan low level design) dimana jika sudah melewati tahap implementasi atau coding, selanjutnya dilakukan testing berdasarkan desain (Unit testing, Component Testing, Integration Testing) untuk diverifikasi kesesuaian dengan desain. Adapun kelebihan – kekurangan dari model ini adalah

Kelebihan V-Model :

  • Salah satu model yang mudah dipahami dan implementasi
  • Cocok untuk projek yang kecil dengan requirement yang tidak berubah-ubah
  • Karena dilakukan verifikasi pada setiap desain, maka kualitas dari produk dihasilkan sangat baik

Kekurangan V-Model

  • Tidak cocok untuk projek yang kompleks dan berkelanjutan
  • Perubahan requirement ditengah-tengah tahap penngembangan sulit

Agile

Dalam bahasa Indonesia Agile adalah lincah, tangkas atau gesit. Yup sesuai dengan namanya Agile ini memang cepat. Model ini dirilis pada tahun 2001 disaat 17 ahli IT melakukan draft pada Agile Manifesto, mereka menuliskan empat prinsip Agile untuk menuntun tim dalam mengembangkan aplikasi lebih baik, yaitu :

  1. Interaksi tim lebih penting dibanding proses dan alat;
  2. Software yang berfungsi lebih penting dibanding dokumentasi yang lengkap
  3. Kolaborasi customer lebih penting dibanding negosiasi kontrak
  4. Sikap tanggap lebih penting dibanding patuh dengan mengikuti rencana/plan.*Red)

Memang terdengar cukup rebel dibanding dengan model sebelumnya, tetapi karena ini, Agile menjadi salah satu model yang digunakan start up pada umumnya, tentu tidak ada hal yang sempurna, termasuk model ini. Model Agile memiliki beberapa kekurangan dan kelebihan, diantaranya :

            Kelebihan Agile :

  • Sangat fleksibel dan cepat beardaptasi pada perubahan
  • Fitur-fitur yang baru dapat ditambahkan dengan mudah
  • Sangat bersahabat dengan customer, karena customer dapat memberikan saran dan feedback pada tahap-tahap pengembangan

            Kekurangan Agile

  • Minim dokumentasi
  • Membutuhkan tim yang berpengalaman dan beradaptasi dengan cepat
  • Jika customer tidak tahu bagaimana produk itu seperti apa kedepannya, maka projek kemungkinan akan gagal

jika kalian mencari tahu pada job requirement untuk saat ini pasti pernah mendengar “Mengetahui atau berpengalaman dengan Agile Methodology” , karena model ini memang sangat fleksibel dan bersahabat pada software yang sedang tahap pengembangan dan memiliki fitur yang sering berubah karena menyesuaikan dengan kebutuhan customer.

Kesimpulan

SDLC memang sangat dibutuhkan saat mengembangan aplikasi atau projek, SDLC yang digunakan dapat ditentukan saat melihat kebutuhan-kebutuhan user, jika user menginginkan projek atau aplikasi yang sekali jadi dan sudah pasti dalam kebutuhanya, maka Waterfall atau V Shape dapat dipilih karena selain mudah model tersebut memiliki tahap dokumentasi yang baik. Jika user mengininkan projek yang besar dan terus berkembang, maka dapat menggunakan Agile yang cepat dan fleksibel terhadap perubahan.

clovers tertarik untuk belajar programming? Atau kamu ingin menjadi Programmer yang handal di era digital seperti sekarang? Jatuhkan pilihan kamu di coding.id Sekarang juga! Bekali dirimu dengan tepat to be a professional tech talent! Klik disini untuk melakukan pendaftaran sekarang juga!

Referensi :

Manifesto for Agile Software Development (agilemanifesto.org)

SDLC – Waterfall Model (tutorialspoint.com)

2 thoughts on “Apa itu SDLC?”

  1. Pingback: Kenalan lebih jauh dengan QA Engineer : Jobdesc sampai Tahapan kerjanya! – Coding.ID Blog

  2. Pingback: Kenalan lebih jauh dengan QA Engineer : Jobdesc sampai Tahapan kerjanya! - Coding.ID Blog

Leave a Comment

Your email address will not be published. Required fields are marked *