pendekatan agile
Minggu 04 - RPLBO
Objectives 1. Memperkenalkan konsep dari user
requirement secara agile
2. Mampu mengembangkan user story
2
Pertanyaan…
Semakin lama kekuatan komputer meningkat Software bukan barang fisik tapi sebuah ide yang
menjadi 10,000 kali lipat. tercermin dalam kode biner. Sehingga fokus metode
ada pada: “managing software requirements.”
Kita berubah dengan cepat dari yang hanya simulasi
sederhana sampai benar-benar menerbangkan Namun, software semakin besar dan metode
pesawat komersial.
terkendali semakin membuat berat. Proses menjadi
lambat, pada hasil yg ingin dicapai:
Maka konsekuensi kegagalan dan keberhasilan
makin besar. - deliver higher-value
- higher-quality software
Untuk mengurangi kegagalan dan hanya
menghasilkan yg diinginkan → metodologi
terstruktur dan terkendali. ⇒ SDLC mulai berubah ke “agile” dan “leaner”
Software Process
Predictive Process
Requirement pada waterfall menyiratkan bahwa ada Pendekatan ini, menurut Thomas (2001),
serangkaian persyaratan yang dapat ditentukan “Manajemen cakupan yang terkait dengan upaya
secara wajar "di muka" dan ini kemudian dapat praktik waterfall adalah satu-satunya faktor
digunakan sebagai dasar untuk memperkirakan penyebab kegagalan terbesar.”
jadwal dan anggaran proyek.
Mengapa?????
Iterative dan Incremental: Spiral
● Pembuatan model, prototipe, dan sistem awal ● Dari perspektif requirement, asumsinya
yang cepat menggunakan alat yang lebih adalah jika Anda dapat membuatnya cukup
canggih (RAD) cepat sebelum persyaratan berubah, Anda
akan lebih berhasil.
● Dan jika Anda salah, alatnya cukup mudah
dan ringan sehingga Anda dapat
membangunnya kembali lebih cepat daripada
menggunakan metode penemuan persyaratan
tradisional.
Iterative dan Incremental: RUP
● Pengembangan iteratif dan inkremental dari ● kegiatan seperti "Requirement" tidak lagi
sistem yang lebih besar dan lebih kompleks diturunkan ke fase tunggal.
(RUP) ● Meskipun kegiatan persyaratan sangat
intensif selama fase awal dan elaborasi awal,
elaborasi persyaratan dan perubahan
persyaratan dianggap sebagai proses
berkelanjutan yang terjadi sepanjang siklus
hidup.
Agile (Adaptif)
● Proses software telah terjadi ledakan model ● Model-model tersebut berasumsi bahwa,
yang lebih ringan dan lebih adaptif. dengan alat dan praktik pengembangan yang
● Berbagai metode: tepat, akan :
○ Dynamic Systems Development Method ○ lebih hemat biaya untuk menulis kode dengan
(DSDM), cepat,
○ Feature-Driven Development (FDD), ○ dievaluasi oleh pelanggan dalam penggunaan
○ Adaptive Software Development, sebenarnya,
○ Scrum, Extreme Programming (XP), ○ menjadi "salah" (jika perlu), dan dengan cepat
○ Open Unified Process (Open UP), refactoring daripada sebelumnya.
○ Agile RUP, ○ untuk mencoba mengantisipasi dan
○ Kanban, mendokumentasikan semua persyaratan di
○ Lean, muka.
○ Crystal Methods
○ dll.
The Agile Core Beliefs
Kami menemukan cara yang lebih baik untuk mengembangkan perangkat lunak dengan melakukannya dan
membantu orang lain melakukannya. Melalui pekerjaan ini kami telah mencapai nilai:
Artinya, meskipun ada nilai pada item di sebelah kanan, kami lebih menghargai item di sebelah kiri.
The Agile Manifesto
Prinsip inti sebagai kerangka umum untuk semua metode 7. Metode penyampaian informasi yang paling efisien
agile: dan efektif ke dalam tim pengembangan adalah
1. Prioritas tertinggi kami adalah untuk memuaskan percakapan tatap muka.
pelanggan melalui pengiriman perangkat lunak 8. Proses tangkas mempromosikan pembangunan
berharga yang lebih awal dan berkelanjutan.
berkelanjutan. Sponsor, pengembang, dan pengguna
2. Menyambut perubahan persyaratan, bahkan di akhir
pengembangan. Proses gesit memanfaatkan harus dapat mempertahankan kecepatan konstan
perubahan untuk keunggulan kompetitif pelanggan. tanpa batas.
3. Perangkat lunak yang berfungsi adalah ukuran 9. Perhatian terus menerus terhadap keunggulan teknis
kemajuan utama. dan desain yang baik meningkatkan ketangkasan.
4. Kirimkan perangkat lunak yang berfungsi sesering 10. Kesederhanaan—seni memaksimalkan jumlah
mungkin, dari beberapa minggu hingga beberapa pekerjaan yang belum selesai—sangat penting.
bulan, dengan preferensi pada skala waktu yang lebih 11. Arsitektur, persyaratan, dan desain terbaik muncul dari
singkat. tim yang mengatur diri sendiri.
5. Pelaku bisnis dan pengembang harus bekerja sama 12. Secara berkala, tim merefleksikan bagaimana
setiap hari selama proyek berlangsung.
menjadi lebih efektif, kemudian menyelaraskan dan
6. Bangun proyek di sekitar individu yang termotivasi.
Beri mereka lingkungan dan dukungan yang mereka menyesuaikan perilakunya.
butuhkan, dan percayakan mereka untuk
menyelesaikan pekerjaan.
Requirements management in agile
selamanya!
Relasi terkait requirement dalam metode Agile
User Story
Confirmation ●
● mewakili kondisi satisfaction yang akan
diterapkan untuk menentukan apakah story
memenuhi maksud dan requirement yang
detail
● memunculkan kriteria acceptance untuk
sebuah story berdasarkan conversation
● Kriteria ini akan digunakan untuk
mengevaluasi story saat user story
diimplementasikan
User Story
User story adalah pernyataan singkat yang Stories are maintained in the teams backlog
menjelaskan sesuatu yang perlu dilakukan sistem
untuk pengguna. Hanya ada 1 backlog dalam tim. Semua pekerjaan
harus berasal dari backlog.
Format:
As a <user role>,
I can <activity>
so that <business value>
User Story
Contoh: pengguna dalam home Kita bisa membuat good dan bad user story
energy-management system ingin:
As an administrator, I can set the consumer’s As an administrator, I can set the password
password security rules so that users are required to expiration period so that users are forced to change
create and retain secure passwords, keeping the their passwords periodically.
system secure.
As an administrator, I can set the password strength
As a consumer, I am required to follow the password characteristics so that users are required to create
security rules set by the administrator so that I can difficult-to-hack passwords.
maintain high security to my account.
INVEST in good user stories
As a consumer, I can see other energy pricing Refactor the error logging system.
programs that appeal to me so that I can enroll in a
program that better suits my lifestyle.
Negotiable
USer Story tidak boleh dimulai jika belum memiliki
Valuable kriteria yang jelas dan dapat diterima
Estimable
Pelanggan harus jelas tentang apa yang harus dia
Small
uji selama proses review.
Testable
INVEST - Testable
Acceptance Criteria:
Etc....
Contoh 1 Epic
43
Referensi
Leffingwell, D. 2011. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the
Enterprise
44
Quiz
Quiz akan dibuka 1 HARI (Sabtu jam 12.05 - Minggu jam 12.05)
45
46