Filsafat Pengembangan Agile

Pengembangan agile adalah metode pengembangan yang berfokus pada manusia, iteratif, dan bertahap. Dalam pengembangan agile, pembangunan proyek perangkat lunak dibagi menjadi beberapa sub-proyek, dan hasil dari setiap sub-proyek telah diuji dan memiliki karakteristik integrasi dan operasi.

Dengan kata lain, sebuah proyek besar dibagi menjadi beberapa proyek kecil yang saling terkait tetapi juga dapat dijalankan secara independen, dan diselesaikan secara terpisah. Selama proses ini, perangkat lunak selalu dalam keadaan dapat digunakan.

Klasifikasi model pengembangan agile

Agile adalah pola pikir dan merupakan seperangkat nilai dan prinsip. Agile adalah cara berpikir dan bertindak. Agile berfokus pada siklus pendek, pengiriman iteratif dan inkremental, gagal cepat, mendapatkan umpan balik, memberikan nilai bisnis kepada pelanggan lebih awal dan tentang orang, kolaborasi, dan interaksi. Agile adalah pola pikir yang berfokus pada transparansi, inspeksi, dan adaptasi. Namun, Agile tidak terdiri dari peran, acara atau artefak. Ini adalah pola pikir. Misalnya, Scrum adalah salah satu kerangka kerja yang banyak digunakan di bawah payung Agile, yang dapat membantu Anda menjadi lebih Agile, namun ada banyak kerangka kerja lain dalam gerakan Agile, seperti Kanban, XP, Crystal, dan banyak lagi seperti yang ditunjukkan pada Gambar di bawah:

  • XP Pemrograman Ekstrem (eXtreme Programming)
  • SCRUM
  • Kanban
  • Lean
  • Metode Crystal
  • Metode pengembangan sistem dinamis

Di antara mereka, XP dan SCRUM adalah yang paling populer.

Scrum

Scrum adalah kerangka kerja di mana orang dapat mengatasi masalah adaptif yang kompleks, sambil secara produktif dan kreatif mengirimkan produk dengan nilai tertinggi yang mungkin. Ini digunakan untuk mengelola proyek perangkat lunak dan pengembangan produk atau aplikasi. Fokusnya adalah pada strategi pengembangan produk yang adaptif di mana tim lintas fungsi bekerja sebagai satu kesatuan untuk mencapai tujuan bersama dalam 2–4 minggu (Sprint). Ini terdiri dari kumpulan nilai, artefak, peran, upacara, aturan, dan praktik terbaik.

Kerangka Kerja Scrum

Lean

Lean berasal dari Sistem Produksi Toyota, atau TPS, yang merevolusi pembuatan barang fisik pada tahun 1950-an, 1960-an, dan seterusnya. Lean tetap berpegang pada manufaktur tetapi juga menemukan aplikasi baru dalam pekerjaan pengetahuan, membantu bisnis di semua industri menghilangkan pemborosan, meningkatkan proses, dan mendorong inovasi. Pengembangan perangkat lunak adalah aplikasi alami dari metodologi Lean karena, seperti halnya manufaktur, umumnya mengikuti proses yang terdefinisi, memiliki beberapa kondisi penerimaan yang terdefinisi, dan menghasilkan pengiriman nilai yang nyata. Konsep kunci yang memandu semua praktik metodologi Lean, yang kami sebut Pilar Lean. Mereka adalah:

  • Perbaikan berkelanjutan
  • Menghormati orang
  • Kepemimpinan Ringan

Kanban

Kanban adalah metode manajemen alur kerja yang sangat visual yang populer di kalangan tim Lean. Faktanya, 83% tim yang menerapkan Lean menggunakan Kanban untuk memvisualisasikan dan secara aktif mengelola pembuatan produk dengan penekanan pada pengiriman yang berkelanjutan, tanpa membebani tim pengembangan. Seperti Scrum, Kanban adalah proses yang dirancang untuk membantu tim bekerja sama dengan lebih efektif.

Kanban didasarkan pada 3 prinsip dasar:

  • Visualisasikan apa yang akan Anda lakukan hari ini (alur kerja): Melihat semua item dalam konteks satu sama lain bisa sangat informatif
  • Batasi jumlah pekerjaan yang sedang berlangsung (WIP): Ini membantu menyeimbangkan pendekatan berbasis aliran sehingga tim tidak memulai dan berkomitmen pada terlalu banyak pekerjaan sekaligus
  • Tingkatkan aliran: Ketika sesuatu selesai, item prioritas tertinggi berikutnya dari backlog ditarik untuk dimainkan

Kanban mendorong kolaborasi berkelanjutan dan mendorong pembelajaran dan perbaikan yang aktif dan berkelanjutan dengan mendefinisikan alur kerja tim yang terbaik.

Metode Pengembangan Sistem Dinamis (DSDM)

DSDM adalah kerangka kerja yang terdiri dari delapan prinsip, siklus hidup dan produk, peran dan tanggung jawab, serta beberapa teknik praktik terbaik. Ini mendasari dan mendukung filosofi untuk memberikan manfaat bisnis yang selaras secara strategis secepat mungkin untuk memberikan organisasi pengembalian investasi (ROI) yang terbaik.

DSDM adalah metodologi yang memprioritaskan jadwal dan kualitas di atas fungsionalitas, yang menetapkan biaya, kualitas, dan waktu di awal dan menggunakan metode prioritas MoSCoW, yang membagi proyek menjadi empat jenis persyaratan yang berbeda:

  • Harus ada (M)
  • Seharusnya ada (S)
  • Bisa ada ©
  • Tidak akan ada (W)

Ada delapan prinsip yang mendasari DSDM Atern. Prinsip-prinsip ini mengarahkan tim dalam sikap yang harus mereka ambil dan pola pikir yang harus mereka adopsi untuk memberikan hasil yang konsisten.

  1. Fokus pada kebutuhan bisnis
  2. Kirim tepat waktu
  3. Berkolaborasi
  4. Jangan pernah mengorbankan kualitas
  5. Bangun secara bertahap dari fondasi yang kokoh
  6. Kembangkan secara iteratif
  7. Komunikasikan secara terus-menerus dan jelas
  8. Tunjukkan kontrol

Pemrograman Ekstrem

Pemrograman Ekstrem (XP), yang awalnya dijelaskan oleh Kent Beck, telah muncul sebagai salah satu metodologi Agile yang paling populer dan kontroversial. XP adalah pendekatan disiplin untuk memberikan perangkat lunak berkualitas tinggi dengan cepat dan terus-menerus. Ini bertujuan untuk meningkatkan kualitas perangkat lunak dan responsivitas dalam menghadapi perubahan kebutuhan pelanggan. Ini mendorong keterlibatan pelanggan yang tinggi, umpan balik cepat, pengujian berkelanjutan, perencanaan berkelanjutan, dan kerja sama yang erat untuk memberikan perangkat lunak yang berfungsi pada interval yang sangat sering, biasanya setiap 1–3 minggu.

Pemrograman Ekstrem Dijelaskan

Apa saja nilai-nilai kunci dari metode agile?

Istilah “Agile” diciptakan pada tahun 2001 dalam Manifesto Agile. Manifesto tersebut bertujuan untuk menetapkan prinsip-prinsip untuk membimbing pendekatan yang lebih baik terhadap pengembangan perangkat lunak. Manifesto Agile terdiri dari 4 nilai penting. Cara membaca Manifesto Agile bukanlah bahwa item di sisi kanan tidak memiliki nilai lagi, tetapi gerakan Agile lebih menghargai item di sebelah kiri.

Ada empat nilai kunci yang menjadi dasar dari setiap komponen dalam pendekatan Agile. Mereka menekankan pergeseran fokus dari praktik dan proses ke orang dan kolaborasi.

Keempat nilai ini menginformasikan praktik terbaik agile, dengan fokus pada fleksibilitas agar tim dapat bekerja sama dengan baik untuk menyelesaikan tugas. Praktik Agile meningkatkan pentingnya tujuan akhir sepanjang proses. Jika orang dapat bekerja sama dengan baik, beradaptasi dengan perubahan baru, dan menghasilkan, tidak terlalu penting bagaimana mereka melakukannya.

12 praktik terbaik

Melengkapi Manifesto Agile, Aliansi Agile juga telah mendefinisikan serangkaian 12 prinsip dasar, yang memberikan panduan dan penjelasan lebih rinci selain Manifesto Agile:

Pengembangan Agile — 12 praktik terbaik
  1. Prioritas tertinggi kami adalah memuaskan pelanggan melalui pengiriman perangkat lunak yang berharga secara awal dan terus-menerus.
  2. Sambutlah perubahan kebutuhan, bahkan di akhir pengembangan. Proses Agile memanfaatkan perubahan untuk keuntungan kompetitif pelanggan.
  3. Kirimkan perangkat lunak yang berfungsi secara sering, dari beberapa minggu hingga beberapa bulan, dengan preferensi pada skala waktu yang lebih pendek.
  4. Orang-orang bisnis dan pengembang harus bekerja sama setiap hari sepanjang proyek.
  5. Bangun proyek di sekitar individu yang termotivasi. Berikan mereka lingkungan dan dukungan yang mereka butuhkan, dan percayalah kepada mereka untuk menyelesaikan pekerjaan.
  6. Metode yang paling efisien dan efektif untuk menyampaikan informasi kepada dan di dalam tim pengembangan adalah percakapan tatap muka.
  7. Perangkat lunak yang berfungsi adalah ukuran utama kemajuan.
  8. Proses Agile mendorong pengembangan yang berkelanjutan.
  9. Para sponsor, pengembang, dan pengguna harus dapat mempertahankan kecepatan yang konstan tanpa batas.
  10. Perhatian terus-menerus terhadap keunggulan teknis dan desain yang baik meningkatkan kelincahan.
  11. Kesederhanaan–seni memaksimalkan jumlah pekerjaan yang tidak dilakukan–adalah hal yang penting.
  12. Arsitektur, kebutuhan, dan desain terbaik muncul dari tim yang mengorganisir diri sendiri. Pada interval yang teratur, tim merenungkan bagaimana menjadi lebih efektif, kemudian menyesuaikan dan mengubah perilakunya sesuai kebutuhan.

Ringkasan

Pengembangan Agile adalah salah satu kata kunci besar dalam industri pengembangan perangkat lunak yang merupakan cara berbeda dalam mengelola proyek pengembangan perangkat lunak. Alih-alih metode pengembangan perangkat lunak tertentu, ini adalah istilah payung untuk serangkaian metode dan praktik yang didasarkan pada nilai-nilai dan prinsip-prinsip yang diungkapkan dalam Manifesto Agile. Solusi berkembang melalui kolaborasi antara tim yang mengorganisir diri sendiri dan lintas fungsi yang memanfaatkan praktik yang sesuai untuk konteks mereka.

Bacaan Pengembangan Agile

This post is also available in Deutsch, English, Español, فارسی, Français, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *