Software Development Life Cycle (SDLC)

Belum masuk. Progresmu tidak tersimpan.

Masuk
  • Bab 7 dari 9
  • 25 menit
  • 1 latihan kode
  • 4 soal kuis

DevOps, Perbandingan, dan Memilih Model

Di bab ini (6 bagian)
  1. Tujuan
  2. DevOps: Siklus Tanpa Henti
  3. Perbandingan Enam Model
  4. Memilih Model yang Tepat
  5. Kesalahan Umum
  6. Rangkuman

Tujuan bab ini

  • Menjelaskan DevOps dan empat praktik utamanya.
  • Membandingkan enam model SDLC dari sisi fleksibilitas, keterlibatan pengguna, risiko, dan kecepatan rilis.
  • Memilih model yang tepat berdasarkan karakter proyek.
  • Mengenal model hybrid seperti Water-Scrum-Fall.

DevOps: Siklus Tanpa Henti

DevOps menyatukan tim pengembang (Dev) dan tim operasional (Ops) dengan otomatisasi, agar rilis bisa cepat, sering, dan andal. DevOps memperluas Agile hingga ke operasional. Kalau Agile membuat tim pengembang bekerja dalam putaran pendek, DevOps memastikan hasil putaran itu bisa sampai ke pengguna dengan mulus dan dipantau terus.

Dulu, developer sering "melempar" kode ke tim operasional, lalu tim operasional yang pusing saat ada masalah di server. DevOps menghapus tembok ini. Kedua tim berbagi tanggung jawab, dan pekerjaan yang berulang diotomatiskan.

Empat Praktik Utama

PraktikArtinya
Continuous Integration (CI)Kode digabung dan diuji otomatis setiap hari
Continuous Delivery (CD)Build siap rilis kapan saja melalui pipeline
Infrastructure as CodeInfrastruktur didefinisikan lewat skrip
Monitoring dan FeedbackMetrik dan log memandu perbaikan

Contoh alat yang sering dipakai: Git, GitHub Actions, Jenkins, Docker, Kubernetes, dan Terraform. Alat ini hanya ilustrasi, pilihannya bisa berbeda di setiap organisasi. Yang penting adalah praktiknya, bukan merek alatnya.

Gambaran Pipeline

Pipeline adalah rangkaian langkah otomatis yang dijalankan setiap kali ada perubahan kode. Kamu bisa membayangkannya sebagai daftar langkah yang harus lolos semua:

const pipeline = ["ambil kode", "install dependensi", "jalankan tes", "build", "rilis ke staging"];

function jalankanPipeline(hasil) {
  for (const langkah of pipeline) {
    if (hasil[langkah] === false) return "gagal di: " + langkah;
  }
  return "siap rilis";
}

console.log(jalankanPipeline({ "jalankan tes": false })); // "gagal di: jalankan tes"

Kalau tes gagal, pipeline berhenti dan kode tidak sampai ke pengguna. Inilah yang membuat rilis sering tetap andal.

Perbandingan Enam Model

Setelah mengenal enam model, saatnya membandingkannya. Tidak ada model terbaik, yang ada model paling sesuai.

ModelFleksibilitasKeterlibatan penggunaManajemen risikoKecepatan rilisPaling cocok untuk
WaterfallRendahAwal dan akhirRendahRendahKebutuhan jelas dan stabil
V-ModelRendahAwal dan akhirSedangRendahSistem kritis, wajib audit
IteratifSedangSetiap iterasiSedangSedangProduk besar bertahap
SpiralTinggiSetiap putaranSangat tinggiSedangProyek besar berisiko tinggi
AgileSangat tinggiTerus-menerusTinggiTinggiKebutuhan sering berubah
DevOpsSangat tinggiTerus-menerusTinggiSangat tinggiLayanan digital dan SaaS

Beberapa pola yang bisa kamu tangkap dari tabel ini:

  • Model berurutan (Waterfall, V-Model) rendah fleksibilitas dan kecepatan rilisnya. Pengguna hanya terlibat di awal dan akhir.
  • Spiral juara di manajemen risiko, karena risiko memang menjadi pusat setiap putaran.
  • DevOps juara di kecepatan rilis, karena otomatisasi pipeline.
  • Semakin sering pengguna terlibat, semakin mudah menangkap perubahan kebutuhan.

Tabel ini perbandingan umum. Dalam praktik, banyak organisasi menggabungkan model (hybrid).

Memilih Model yang Tepat

Deck memberi lima pertanyaan panduan cepat:

PertanyaanModel yang disarankan
Kebutuhan sudah jelas dan jarang berubah?Waterfall
Sistem kritis yang menuntut verifikasi ketat?V-Model
Risiko teknis atau biaya sangat tinggi?Spiral
Kebutuhan cepat berubah, perlu masukan pengguna?Agile (Scrum / Kanban)
Rilis sangat sering dan operasional berkelanjutan?DevOps

Selain itu, pertimbangkan juga ukuran tim, kematangan tim, regulasi, anggaran, dan budaya organisasi. Tim yang baru terbentuk dan belum terbiasa dengan otomatisasi mungkin belum siap langsung menerapkan DevOps penuh.

Latihan Berpikir: Empat Proyek

Coba terapkan pertanyaan di atas ke beberapa skenario:

  1. Aplikasi kas kelas, kebutuhan sudah jelas dan bendahara tidak akan mengubahnya. Pilihan wajar: Waterfall.
  2. Software alat pacu jantung di rumah sakit. Sistem kritis yang wajib diaudit. Pilihan wajar: V-Model.
  3. Startup aplikasi belajar yang ingin rilis fitur tiap minggu dan terus memantau pemakaian. Pilihan wajar: Agile atau DevOps dengan CI/CD.
  4. Sistem baru dengan teknologi yang belum pernah dicoba dan anggaran sangat besar. Pilihan wajar: Spiral, karena risikonya harus dianalisis di setiap putaran.

Perhatikan proyek nomor 3. Pertanyaan diskusi di deck juga menanyakan hal serupa: startup yang ingin rilis fitur tiap minggu cocok memakai Agile atau DevOps dengan CI/CD.

Model Hybrid

Model hybrid juga umum dipakai. Contohnya Water-Scrum-Fall: perencanaan dan anggaran di awal dilakukan ala Waterfall, pengembangan berjalan dengan sprint Scrum, lalu rilis dilakukan dengan tahapan formal di akhir. Ini sering terjadi di organisasi besar yang butuh anggaran pasti di awal tetapi ingin tim pengembangnya lincah.

Memodelkan Panduan Pemilihan

Lima pertanyaan tadi bisa ditulis sebagai fungsi. Di latihan bab ini, kamu akan menulis fungsi pilihModel yang menerima ciri proyek dan mengembalikan model yang disarankan. Urutan pemeriksaan penting: misalnya sistem kritis harus dicek sebelum "kebutuhan jelas", karena sistem kritis dengan kebutuhan jelas tetap lebih cocok memakai V-Model.

Kesalahan Umum

  • Mencari model terbaik untuk semua proyek. Yang ada hanya model paling sesuai dengan karakter proyek.
  • Mengira DevOps hanya soal alat. Docker atau Jenkins hanyalah contoh. Intinya kolaborasi Dev dan Ops serta otomatisasi.
  • Mengabaikan faktor tim dan organisasi. Model yang cocok di atas kertas bisa gagal kalau tim belum matang atau regulasi tidak mendukung.
  • Menganggap hybrid sebagai kegagalan. Menggabungkan model adalah praktik yang wajar.

Rangkuman

  • DevOps menyatukan Dev dan Ops dengan otomatisasi lewat CI, CD, Infrastructure as Code, serta monitoring dan feedback.
  • Model berurutan rendah fleksibilitasnya, Spiral paling kuat di manajemen risiko, DevOps paling cepat rilisnya.
  • Panduan memilih: kebutuhan stabil ke Waterfall, sistem kritis ke V-Model, risiko tinggi ke Spiral, kebutuhan berubah ke Agile, rilis sangat sering ke DevOps.
  • Pertimbangkan juga ukuran tim, kematangan tim, regulasi, anggaran, dan budaya organisasi.
  • Model hybrid seperti Water-Scrum-Fall umum dipakai dalam praktik.

Selesaikan bab ini

  1. 1. Baca materi
  2. 2. Latihan kode (1)
  3. 3. Kuis (4 soal)

Latihan kode: Memilih model SDLC

Tulis fungsi pilihModel(p) yang menerima objek ciri proyek dengan properti boolean: kritis, risikoTinggi, rilisSangatSering, kebutuhanBerubah, kebutuhanJelas.

Periksa berurutan dan kembalikan string model pertama yang cocok:

  1. kritis bernilai true: "V-Model"
  2. risikoTinggi: "Spiral"
  3. rilisSangatSering: "DevOps"
  4. kebutuhanBerubah: "Agile"
  5. kebutuhanJelas: "Waterfall"
  6. Selain itu: "Iteratif"

Properti yang tidak ada dianggap false.

Cek pemahaman

  1. 1Praktik DevOps di mana kode digabung dan diuji otomatis setiap hari disebut...

  2. 2Proyek dengan risiko teknis dan biaya sangat tinggi paling cocok memakai...

  3. 3Menurut tabel perbandingan, Waterfall memiliki kecepatan rilis yang tinggi.

  4. 4Contoh model hybrid yang disebut dalam materi adalah...