Agile Development
-
Upload
rachmat-ramadhiansyah -
Category
Documents
-
view
269 -
download
1
Transcript of Agile Development
AGILE DEVELOPMENT
Group 2
Dosen: Nashrul Hakim
ANGGOTA Lulut Dwi Putri Bagaswari11140910000041 M Juniko Dwi Putra 11140910000043 Rachmat Ramadhiansyah11140910000046 Ramadika Bagaswara 11140910000030
Apa itu Agile Development ?
Siapa yang melakukannya ?
Mengapa dianggap penting ?
Apa saja langkah-langkahnya ?
Apa hasilnya ?
Bagaimana kita bisa
yakin bahwa yang kita
lakukan telah benar ?
AGILITYLebih dari sekedar respon yang efektif terhadap
perubahan
Terbentuknya struktur tim software
Tercapainya komunikasi yang lebih mudah dan kondusif
Menekankan penyampaian yang lebih cepat
Melonggarkan pentingnya produk kerja menengah
Melibatkan pelanggan kedalam tim kerja
Bersifat fleksibel
AGILITY DAN PERUBAHAN COSTS
AGILE PROCESSASUMS
I• Sulit memprediksi terlebih dahulu kebutuhan-kebutuhan perangkat lunak mana yang
akan bertahan dan kebutuhan-kebutuhan perangkat lunak mana yang akan berubah.
• Karena untuk kebanyakan tipe perangkat lunak, perencanaan dan konstruksi dilakukan dalam kondisi interload. Yaitu, kedua aktifitas harus dilakukan secara berpasangan sehingga model-model rancangan dapat terbukti keabsahannya ketika mereka tercipta.
• Analisis, perancangan, konstruksi, dan pengujian tidak dapat diprediksi (dari sudut pandang perencanaan) seperti yang mungkin kita kira.
AGILE PROCESSPRINSIP AGILITY
1. Prinsip tertinggi : memuaskan pelanggan.2. Memanfaatkan perubahan untuk mencapai keunggulan kompetitif3. Sering menyampaikan software yang bekerja4. Pelaku bisnis dan software developer harus bekerja sama setiap hari5. Membangun proyek software di sekitar individu yang termotivasi dan percaya satu
sama lain6. Menggunakan metode penyampaian Face-to-Face
7. Software yang berjalan dengan baik menjadi tolak ukur kemajuan proyek8. Proses pengembangan yang cepat mendukung pengembangan secara
berkelanjutan9. Perhatian terus-menerus mengenai keunggulan teknis dan perencanaan yang baik10.Kesederhanaan adalah hal yang cukup penting11.Tim software mengatur dirinya secara mandiri12.Tim software mencerminkan keadaan bagaimana caranya mereka menjadi lebih
efektif
AGILE PROCESSFAKTOR
MANUSIA1. Kompetensi2. Satu tujuan3. Kerjasama4. Kemampuan mengambil keputusan5. Kemampuan pemecahan masalah yang kabur6. Saling percaya dan menghormati7. Self-organization
EXTREME PROGRAMMING (XP)KENT
BLACK Untuk pengembangan perangkat lunak cepat !
EXTREME PROGRAMMING (XP)NILAI-NILAI
XP
EXTREME PROGRAMMING (XP)PROSES
XP
unit test continuous integration
acceptance testing
pair programming
Release
user stories values acceptance test criteria iteration plan
simple design CRC cards
spike solutions prototypes
refactoring
software incrementproject velocity computed
EXTREME PROGRAMMING (XP)ISU-ISU TENTANG
XP1. Validitas Kebutuhan2. Kebutuhan pelanggan yang bertentangan3. Kebutuhan dinyatakan secara informal4. Kurangnya perancangan formal
ADAPTIVE SOFTWARE DEVELOPMENT (ASD)JIM
HIGHSMITH Untuk membangun / mengembangkan software dan sistem yang kompleks
ADAPTIVE SOFTWARE DEVELOPMENT (ASD)PROSES
ASDadaptive cycle planning uses mission statement project constraints basic requirements time-boxed release plan
Requirements gathering J AD mini-specs
components implemented/ tested focus groups for feedback formal technical reviews postmortems
software incrementadjustments for subsequent cycles
Release
DYNAMIC SYSTEM DEVELOPMENT METHOD (DSDM)
DYNAMIC SYSTEM DEVELOPMENT METHOD (DSDM)PROSES DSDM
SCRUMSCHWABER &
BEEDLE Untuk pengembangan perangkat lunak cepat !
SCRUMPERUSAHAAN YANG MENGGUNAKAN
SCRUM
SCRUMSOFTWARE YANG MENGGUNAKAN
SCRUM
1. Software komersil 9. Pengembangan video game
2. Pengembangan internal 10. Sistem kritikal yang harus diuji oleh Depkes
3. Proyek dengan kontrak 11. Software mengendalikan satelit
4. Proyek dengam harga tetap 12. Website5. Aplikasi keuangan 13.
Software untuk PDA6. Aplikasi yang tersertifikasi ISO 9001 14. Telepon genggam7. Sistem embedded 15. Aplikasi
untuk jaringan listrik8. Sistem yang uptimenya harus 99,999% 16. Aplikasi ISV
SCRUMKARAKTERISTIK
SCRUM1. Pekerjaan dipartisi ke dalam bentuk paket2. Testing dan dokumentasi dilakukan on-going selama produk dikonstruksi3. Pengerjaan terjadi dalam Sprint Backlog dan diturunkan dari Product Backlog atas
kebutuhan yang sudah ada4. Meeting singkat setiap hari selama 15 menit5. Demo Product disampaikan kepada customer dengan alokasi Time-Box
SCRUMPROSES SCRUM
SCRUMYANG TERLIBAT
SCRUMSTRENGTH & WEAKNESS
STRENGTH WEAKNESS
1. Customer Merasa puas karena product seperti yang di harapkan
2. Meningkatkan efisiensi3. Proses Sederhana dan mudah4. Dini dan sering rilis5. Perubahan diperbolehkan
untuk berkembang seiring waktu.
1. Tidak adanya usaha desain jelas2. Kurangnya skalabilitas3. Kurangnya formalisme
CRYSTALCOCKBURN & HIGHSMITH
Menciptakan crystal family (clear, yellow, orange, red) sebagai metode dari agile
development.
CRYSTALKARAKTERISTIK
CRYSTAL1. Sebuah proses model menggunakan “manuverability” berdasarkan karakteristik
masalah yang dihadapi.2. Proyek dikategorikan sesuai dengan kekritisan (Comfort, Discretionary money,
Essential money, life) dari sistem yang diproduksi dan ukuran proyek.3. Sangat menekankan pada komunikasi tatap muka langsung (Face-to-Face)
4. Menggunakan “reflectionworkshops” untuk meninjau kebiasaan pada kerja tim
CRYSTALPROSES CRYSTAL
CRYSTALSTRENGTH & WEAKNESS
STRENGTH WEAKNESS
1. Cepat dan Sering di rilis2. Skalabilitas
1. Terbatas skalabilitas2. Sering terjadi proses yang ambigu3. Tergantung pada komunikasi manusia
FEATURE DRIVEN DEVELOPMENT (FDD)PETER COAD Model praktis untuk rekayasa
perangkat lunak berorientasi objek.
FEATURE DRIVEN DEVELOPMENT (FDD)KARAKTERISTIK
FDD1. Sebuah proses model yg menggunakan ‘maneuverability” berdasarkan masalah yg
dihadapi. Maneuverability artinya kemampuan menggerakkan sesuatu.2. Menekankan pada pendefinisian “feature”.
Dalam FDD, feature berarti nilai/inti yg diinginkan client yang bisa diimplementasikan dalam waktu 2minggu atau kurang.FDD menggunakan template untuk prosesnya seperti berikut : <action> the <result><by|for|of|to> a(n)<object>Contoh dalam aplikasi e-commerce: Add the Product to Shopping Cart, Add = action, Product = result, dan Shopping Cart = Object.
3. Membuat Feature List dan melakukan perencanaannya
FEATURE DRIVEN DEVELOPMENT (FDD)PROSES
FDD
FEATURE DRIVEN DEVELOPMENT (FDD)STRENGTH & WEAKNESS
STRENGTH WEAKNESS
1. Karena feature mudah dimengerti, sehingga user mudah memahami bagaimana mereka berhubungan antara 1 sama lainnya, dan lebih baik untuk meninjau apakah mereka ambigu, error, atau kelalaian.
1. Harus di kembangkan setiap 2 minggu sekali.
AGILE MODELING (AM)SCOTT
AMBLER Model praktis untuk pemodelan dan dokumentasi sistem berbasis
software yang efektif
AGILE MODELING (AM)KEUNIKAN AM
1. Model dengan tujuan2. Gunakan beberapa model3. Perjalanan cahaya4. Perjalanan cahaya5. Isi lebih penting daripada representasi6. Mengenal model dan alat yang Anda gunakan untuk membuat model7. Beradaptasi secara lokal
AGILE UNIFIED PROCESS (AUP)SCOTT
AMBLER Untuk membangun sistem berbasis komputer.
AGILE UNIFIED PROCESS (AUP)ITERASI
AUP1. Pemodelan2. Pelaksanaan3. Pengujian4. Pemasangan5. Konfigurasi6. Lingkungan manajemen
PROCESS MODEL VS AGILE PROCESS
ADA PERTANYAAN ?
PERTANYAAN
KESIMPULANSekarang ini, kondisi pasar berubah dengan cepat, kebutuhan end-user dan pelanggan pun berevolusi. Para praktisi software harus menggunakan pendekatan pengembangan software yang memungkinkan mereka untuk dapat bergerak lincah dan adaptif, melalui Agile Development
Extreme Programming adalah Agile Process yang banyak digunakan. Terdiri dari 4 framework activities: planning, design, coding, dan testing. XP sangat efektif untuk penyampaian software feature secara cepat yang diprioritaskan oleh para stakeholder.
ASD, menggunakan proses iterative yang memiliki siklus perencanaan adaptif, customer-focus group, dan mekanisme real-time feedback. Scrum, menekankan pengerjaan software dengan time-line yang ketat, perubahan requirement, dan bisnis secara kritis. Dynamic System Development Method menggunakan time-boxing dalam menyampaikan software increment. Crystal, dapat diadopsi untuk karakteristik spesifik dalam projek tertentu.
FDD, yang lebih formal, tapi masih dapat mengontrol agility yang bergokus pada tim proyek dan pengembanganan feature. AM, adalah esensi dari semua model yang ada.
“Kemampuan adalah untuk melakukan sesuatu. Motivasi menentukan apa yang kita kerjakan. Sikap menentukan bagaimana cakapnya kita
melakukannya”Lou Holtz
TERIMA KASIH