3. Memberikan perangkat lunak yang sedang dikerjakan dengan sering, beberapa minggu atau
beberapa bulan, dengan pilihan waktu yang paling singkat
4. Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan berjalan
Prinsip Agile
5. Bangun proyek dengan individu-individu yang bermotivasi tinggi dengan memberikan
lingkungan dan dukungan yang diperlukan, dan mempercayai mereka sepenuhnya untuk
menyelesaikan pekerjaannya
6. Metode yang paling efektif dan efisien dalam menyampaikan informasi kepada tim
pengembangan adalah dengan komunikasi langsung face-to-face
9. Perhatian yang terus menerus terhadap rancangan dan teknik yang baik meningkatkan agility
11. Arsitektur, requirements, dan rancangan terbaik muncul dari tim yang mengatur sendiri
12. Pada interval reguler tertentu, tim merefleksikan bagaimana menjadi lebih efektif, kemudian
menyesuaikannya
Proses Agile
Tiga hal penting dalam pengkategorian proses agile:
1. Sulit untuk memprediksi di muka yang persyaratan perangkat lunak akan bertahan dan yang
akan berubah
2. Untuk berbagai jenis perangkat lunak, desain dan konstruksi yang disisipkan
3. Analisis, desain, konstruksi, dan pengujian yang tidak dapat diprediksi (dari titik pencanaan
pandang) seperti yang kita suka
Human Factors in Agile
Sejumlah ciri yang harus dimiliki oleh orang dalam tim agile:
Human Factors in Agile
Competency: Staf harus kompeten, yaitu, harus memiliki keterampilan khusus perangkat lunak
yang diperlukan dan mengetahui teknologi yang terlibat dalam proyek atau inisiatif tertentu.
Fokus: semua anggota tim harus fokus pada satu tujuan bersama
Collaboration : mampu bekerja dengan baik didalam tim
Decision making: tim pengembangan harus memiliki kebebasan untuk mengendalikan
keputusan yang terbaik untuk penyelesaian masalah teknis dan proyek.
Fuzzy problemsolving : bisa menyelesaikan permsalahan yang berhubugan dengan fuzzy
Trust and respect: tim harus konsisten dan harus menunjukkan kepercayaan dan rasa hormat
yang diperlukan untuk membuat tim yang kuat.
Self organization: tim harus mengatur sendiri semua pekerjaan yang akan dilakukan.
Tujuan Agile
High-value & working App system, diharapkan dapat menghasilkan perangkat lunak yang
mempunyai nilai jual yang tinggi, biaya pembuatan bisa di tekan dan perangkat lunak bisa
berjalan dengan baik.
Iterative, incremental, evolutionary, agile adalah metode pengembangan perangkat lunak yang
iteratif, selalu mengalami perubahan, dan evolusioner.
Cost control & value-driven development, pengembangan perangkat lunak disesuaikan dengan
kebutuhan pengguna, tim bisa dengan cepat merespon kebutuhan yang diinginkan pengguna
sehingga waktu dan biaya pembuatan perangkat lunak bisa dikontrol.
Tujuan Agile
High-quality production, walaupun biaya pembuatan perangkat lunak bisa ditekan dan proses pembuatan
bisa dipercepat, tetapi kualitas dari perangkat lunak yang dibuat harus tetap dijaga.
Flexible & risk management, jika kita menggunakan metode pembuatan yang biasanya dipakai, jika ingin
mengubah fungsionalitas dari wireframe yang telah dibuat di butuhkan proses yang rumit.
Collaboration, tim pengembang diharuskan sering bertemu untuk membahas perkembangan proyek dan
feedback dari klien yang nantinya akan ditambahkan dalam perangkat lunak, sehingga tim bisa
berkolaborasi dengan maksimal.
Self-organizing, self-managing teams, rekrut orang terbaik, beri dan dukung kebutuhan mereka lalu
biarkan mereka bekerja. Itulah perbedaan agile dan SDM lainnya.
Agile Model Process
1. Extreme Programming (XP)
2. Scrum
3. Adaptive Software Development (ASD)
4. Dynamic Systems Development Method (DSDM)
5. Crystal
6. Feature Drive Development (FDD)
7. Lean Software Development (LSD)
8. Agile Modeling (AM)
9. Agile Unified Process (AUP)
Extreme Programming (XP)
Extreme Programming (XP) Value
1. Komunikasi : diperlukan komunikasi antara pengembang dan customer dalam membangun PL
2. Sederhana : memulai perancangan PL dengan hal yang sederhana, dapat menambah fungsi baru
jika ada
3. Umpanbalik :
Umpan balik dari sistem : menjalankan periodic tes integrasi, sehingga programmer memiliki
umpan balik langsung dari keadaan sistem setelah menerapkan perubahan
Umpan balik dari pelanggan : Testing direncanakan setiap dua atau tiga minggu sekali
sehingga pelanggan dapat dengan mudah mengarahkan pengembangan
Umpan balik dari tim : jika terdapat permintaan baru dari pelanggan, tim yang ada dapat
secara langsung memperkirakan waktu implementasi
4. Keberanian : dibutuhkan keberanian untuk praktek mebangun PL.
Scrum
Anggota proyek pada Tim Scrum terdiri
dari 5-9 orang
Sasaran ditentukan dengan fungsi prioritas
yang dipecah menjadi tugas-tugas
terperinci
Tim teroganisi secara mandiri dan anggota
memiliki tanggung jawab bersama untuk
hasilnya
Meningkatkan nilai pasar produk serta
penambahan fungsi baru dapat
disampaikan kepada pelanggan
Board
Adaptive Software
Development (ASD)
1. Collaboration: orang-orang yang
bermotivasi tinggi bekerja sama, saling
melengkapi, rela membantu, kerja keras,
terampil di bidangnya, dan
komunikasikan masalah untuk
menyelesikan masalah secara efektif.