Metodologi pengembangan perangkat lunak telah berkembang pesat dalam beberapa dekade terakhir, beralih dari dokumentasi waterfall yang berat dan awal ke praktik agile ringan dan iteratif. Selama waktu yang lama, “Use Case” tradisional—sebuah elemen kunci dalam rekayasa perangkat lunak berorientasi objek—dianggap tidak kompatibel dengan modernkerangka kerja agileseperti Scrum dan Kanban. Sering kali dikritik karena terlalu berfokus pada dokumentasi dan lambat.
MasuklahUse-Case 2.0. Diperkenalkan oleh Ivar Jacobson, Ian Spence, dan Brian Kerr, kerangka kerja modern ini menghidupkan kembali use case klasik menjadi ringan, skalabel, dan serbaguna. Dirancang untuk menjembatani kesenjangan antara manfaat struktural use case dan fleksibilitas pengembangan agile.
Use-Case 2.0 adalah evolusi modern dari pendekatan use case, dikembangkan khusus untuk mengatasi keterbatasan pengumpulan kebutuhan tradisional. Berbeda dengan pendahulunya yang sering membutuhkan detail mendalam sebelum pemrograman dimulai, Use-Case 2.0 berfokus pada hal-hal esensial, pengiriman iteratif, dan pemotongan secara vertikal.
Inovasi utama dari kerangka kerja ini adalah kemampuan untuk memecah use case menjadi bagian-bagian kecil yang dapat dikelola, yang dikenal sebagaiPotongan Use-Case. Ini memungkinkan tim untuk mempertahankan gambaran besar arsitektur sistem sambil secara bersamaan menghadirkan nilai dalam bentuk unit kecil yang sesuai dengan sprint, kompatibel dengan Scrum, SAFe, dan Agile Terdisiplin.
Use-Case 2.0 didasarkan pada enam prinsip panduan yang memastikan proses tetap efisien dan berorientasi pada nilai:
Untuk memahami bagaimana Use-Case 2.0 sesuai dengan Agile, seseorang harus memahami artefaknya. Kerangka ini menyederhanakan dokumentasi berat masa lalu menjadi tiga komponen utama.
Use case masih menggambarkan interaksi berorientasi tujuan antara aktor (pengguna) dan sistem. Namun, dalam versi 2.0, tidak dirinci secara lengkap dari awal. Dimulai dengan nama, deskripsi singkat, dan skenario sukses utama. Detail mengenai alur alternatif dan pengecualian ditambahkan secara “tepat waktu” saat diprioritaskan untuk pengembangan.
The Slice Use Caseadalah inovasi paling krusial dalam kerangka ini. Slice adalah potongan vertikal melalui use case yang membentuk alur nilai yang lengkap. Ini mencakup sebagian narasi (cerita), tes yang relevan kasus uji, dan kode yang diperlukan untuk mengimplementasikannya.
Pemotongan memungkinkan satu use case (misalnya, “Proses Pesanan”) dibagi di beberapa sprint:
Setiap slice berperan sebagai item backlog—dapat diperkirakan, diuji, dan dikirimkan dalam satu iterasi.
Sementara slice ditangani dalam pekerjaan harian, Model Use Casetetap berfungsi sebagai peta. Ini adalah kumpulan semua use case, memberikan konteks dan gambaran arsitektur yang sering kali kurang dalam User Stories individu. Ini menyelesaikan masalah Agile umum di mana tim menyelesaikan ratusan cerita tetapi kehilangan jejak perilaku sistem secara keseluruhan.
Banyak tim kesulitan untuk memilih antara User Stories dan Use Case. Use-Case 2.0 berargumen bahwa Anda tidak perlu memilih; ini menawarkan struktur use case dengan fleksibilitas cerita.
| Aspek | Use Case Klasik (Prasebelum 2.0) | Cerita Pengguna | Use-Case 2.0 |
|---|---|---|---|
| Usaha Awal | Tinggi (spesifikasi rinci) | Sangat Rendah | Rendah → Bertahap |
| Tampilan Gambaran Besar | Ya | Sering Hilang | Ya (Melalui Model Use-Case) |
| Kemampuan Iteratif | Buruk | Sangat Baik | Sangat Baik (Melalui Potongan) |
| Kemampuan Pelacakan | Kuat | Lemah | Kuat (Mengalir ke Uji Coba) |
| Fokus Uji Coba | Manual / Tahap Akhir | Kriteria Penerimaan | Terintegrasi per Potongan (TDD) |
| Lingkungan Terbaik | Air Terjun / Terstruktur | Proyek Agile Sederhana | Kompleks / Agile Perusahaan |
Mengadopsi metodologi ini melibatkan alur kerja siklik yang sesuai dengan sempurna dalam sprint agile standar:
Use-Case 2.0 sangat efektif untuk sistem perusahaan, industri yang diatur, atau domain kompleks di mana Cerita Pengguna sederhana tidak cukup.
Ini memberikan skalabilitas dengan memungkinkan tim memulai secara ringan dan menambahkan formalitas hanya di tempat yang diperlukan. Ini menjamin fokus nilai dengan memaksa tim berpikir dalam perjalanan pengguna secara menyeluruh, bukan tugas teknis yang terpisah. Akhirnya, ini menyelesaikan masalah utang dokumentasi; karena Model Use-Case diperbarui secara iteratif, dokumentasi berkembang bersama kode, berfungsi sebagai kumpulan persyaratan yang “hidup” daripada arsip yang usang.