Lewati ke konten

Apa itu Pengembangan Agile?

Agile adalah nama payung bagi sekumpulan metode yang dibangun di sekitar satu taruhan tunggal: perangkat lunak terlalu tak terduga untuk direncanakan secara rinci di muka, jadi berikan dalam irisan kecil, dengarkan apa yang kembali, dan sesuaikan terus-menerus.

Halaman ini membahas latar belakangnya. Jika Anda sudah tahu semua ini, lompat sekilas ke Bagaimana East Agile Tracker memetakan ke agile.

Pada Februari 2001, tujuh belas praktisi perangkat lunak — Kent Beck, Martin Fowler, Robert Martin, Ron Jeffries, dan lainnya — bertemu di sebuah pondok ski di Utah dan menuliskan apa yang mereka miliki bersama. Mereka menyebutnya Manifesto Agile. Isinya empat baris:

Kami menemukan cara-cara yang lebih baik untuk mengembangkan perangkat lunak dengan melakukannya dan membantu orang lain melakukannya. Melalui pekerjaan ini kami menghargai:

  • Individu dan interaksi di atas proses dan alat
  • Perangkat lunak yang berfungsi di atas dokumentasi komprehensif
  • Kolaborasi pelanggan di atas negosiasi kontrak
  • Tanggapan terhadap perubahan di atas mengikuti rencana

Artinya, meskipun ada nilai pada hal-hal di sebelah kanan, kami lebih menghargai hal-hal di sebelah kiri.

Itu saja. Satu halaman pembuka, dua belas prinsip pendukung, dan empat baris di atas. Itu adalah dokumen paling berpengaruh dalam praktik perangkat lunak modern.

Di balik keempat nilai itu, dua belas prinsip manifesto mengeja seperti apa sebenarnya “agile” dari hari ke hari:

  1. Prioritas tertinggi adalah memuaskan pelanggan melalui pengiriman perangkat lunak bernilai secara dini dan berkelanjutan.
  2. Sambut perubahan kebutuhan, bahkan yang terlambat. Proses agile memanfaatkan perubahan untuk keunggulan kompetitif pelanggan.
  3. Kirimkan perangkat lunak yang berfungsi secara sering — dalam hitungan minggu, bukan bulan.
  4. Orang bisnis dan pengembang harus bekerja sama setiap hari.
  5. Bangun proyek di sekitar individu yang termotivasi. Beri mereka apa yang mereka butuhkan dan percayai mereka untuk menyelesaikan pekerjaan.
  6. Cara paling efisien untuk menyampaikan informasi adalah percakapan tatap muka.
  7. Perangkat lunak yang berfungsi adalah ukuran utama kemajuan.
  8. Proses agile mempromosikan pengembangan berkelanjutan — laju konstan, tanpa batas waktu.
  9. Perhatian berkelanjutan pada keunggulan teknis dan desain yang baik meningkatkan kelincahan.
  10. Kesederhanaan — seni memaksimalkan jumlah pekerjaan yang tidak dilakukan — sangat penting.
  11. Arsitektur, kebutuhan, dan desain terbaik muncul dari tim yang mengorganisasi diri.
  12. Tim secara teratur merefleksikan bagaimana menjadi lebih efektif, lalu menyetel dan menyesuaikan.

“Agile” adalah payung. Di bawahnya terdapat beberapa metodologi yang berbeda:

  • eXtreme Programming (XP) — Yang paling menuntut dari keluarga ini. Pair programming, TDD, integrasi berkelanjutan, pelanggan di tempat, release kecil. Lihat halaman XP kami.
  • Scrum — Iterasi yang dikotak-waktu disebut sprint, standup harian, peran bernama (Product Owner, Scrum Master). Lebih ringan pada praktik rekayasa daripada XP.
  • Kanban — Visualisasikan alur kerja, batasi work-in-progress, optimalkan aliran. Tanpa kotak waktu; tarik alih-alih dorong.
  • Lean — Dipinjam dari sistem manufaktur Toyota: hilangkan pemborosan, optimalkan keseluruhan, kirim cepat, bangun kualitas di dalamnya.

Metode-metode ini tumpang tindih dan bergabung. Sebagian besar tim yang bekerja memetik dari keempatnya. East Agile Tracker memiliki pendirian condong ke XP — lihat eXtreme Programming — tetapi sebagian besar dari apa yang ditawarkannya berlaku untuk semua varian agile.

Beberapa kesalahpahaman yang bertahan layak disebutkan:

  • Agile bukan “tanpa perencanaan.” Rencana lebih kecil dan lebih pendek, tetapi perencanaan berlangsung konstan.
  • Agile bukan “tanpa dokumentasi.” Tulis apa yang dibutuhkan. Manifesto mengatakan perangkat lunak yang berfungsi lebih bernilai daripada dokumentasi komprehensif — bukan bahwa dokumentasi itu buruk.
  • Agile bukan Scrum. Scrum adalah satu metode agile. Ada beberapa.
  • Agile bukan alat. Tidak ada alat yang membuat Anda agile. Agile adalah cara bekerja. Alat (termasuk yang ini) membantu; mereka tidak menggantikan.

Bagaimana East Agile Tracker memetakan ke agile

Section titled “Bagaimana East Agile Tracker memetakan ke agile”

East Agile Tracker dirancang di sekitar prinsip-prinsip di atas. Berikut korespondensinya:

PrinsipBagaimana tracker mendukungnya
Pengiriman berkelanjutanIterasi 1–4 minggu; perencanaan-otomatis berbasis velocity; release sebagai tipe story kelas-satu.
Sambut perubahanUrutkan ulang backlog kapan saja; story bergerak antar iterasi dengan bebas; tanpa “kunci iterasi.”
Perangkat lunak yang berfungsi sebagai ukuranVelocity menghitung poin yang diterima secara default — hanya pekerjaan yang ter-deliver dan berfungsi yang dihitung.
Laju berkelanjutanVelocity bukan target; ia adalah pengamatan. Sistem merencanakan iterasi berikutnya dengan apa yang benar-benar Anda lakukan.
RefleksiAnalitik per-iterasi: burndown, tingkat penolakan, cycle time, proyeksi.
Tim yang mengorganisasi diriPeran sengaja minimal: owner / member / viewer. Tim yang memutuskan.
KesederhanaanPanel detail adalah satu layar. Papan muat dalam satu halaman. Kami menolak fitur yang mengalihkan dari pengiriman.

Manifesto ditulis pada 2001. Sejak itu, pengembangan perangkat lunak mendapat jenis partisipan baru: agen AI.

Kami pikir agen termasuk dalam tim agile — sebagai partisipan bernama, dengan peran mereka sendiri, melakukan pekerjaan nyata berdampingan dengan manusia. Prinsip-prinsipnya masih berlaku. Individu dan interaksi kini mencakup partisipan agen. Tim yang mengorganisasi diri kini mencakup memutuskan agen mana yang dibawa dan apa yang boleh mereka lakukan. Refleksi kini mencakup melihat kontribusi agen di log aktivitas dan menyetel apa yang mereka kerjakan.

East Agile Tracker dibangun untuk membuat ini praktis. Setiap story dapat dimiliki oleh manusia atau agen. Setiap entri log audit mengatribusikan aktor sesungguhnya. Setiap aksi yang diambil agen terlihat, dapat di-review, dan dapat dicabut.

Dibangun oleh East Agile.