Agile Development

41
AGILE DEVELOPMENT Group 2 Dosen: Nashrul Hakim

Transcript of Agile Development

Page 1: Agile Development

AGILE DEVELOPMENT

Group 2

Dosen: Nashrul Hakim

Page 2: Agile Development

ANGGOTA Lulut Dwi Putri Bagaswari11140910000041 M Juniko Dwi Putra 11140910000043 Rachmat Ramadhiansyah11140910000046 Ramadika Bagaswara 11140910000030

Page 3: Agile Development

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 ?

Page 4: Agile Development

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

Page 5: Agile Development

AGILITY DAN PERUBAHAN COSTS

Page 6: Agile Development

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.

Page 7: Agile Development

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

Page 8: Agile Development

AGILE PROCESSFAKTOR

MANUSIA1. Kompetensi2. Satu tujuan3. Kerjasama4. Kemampuan mengambil keputusan5. Kemampuan pemecahan masalah yang kabur6. Saling percaya dan menghormati7. Self-organization

Page 9: Agile Development

EXTREME PROGRAMMING (XP)KENT

BLACK Untuk pengembangan perangkat lunak cepat !

Page 10: Agile Development

EXTREME PROGRAMMING (XP)NILAI-NILAI

XP

Page 11: Agile Development

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

Page 12: Agile Development

EXTREME PROGRAMMING (XP)ISU-ISU TENTANG

XP1. Validitas Kebutuhan2. Kebutuhan pelanggan yang bertentangan3. Kebutuhan dinyatakan secara informal4. Kurangnya perancangan formal

Page 13: Agile Development

ADAPTIVE SOFTWARE DEVELOPMENT (ASD)JIM

HIGHSMITH Untuk membangun / mengembangkan software dan sistem yang kompleks

Page 14: Agile Development

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

Page 15: Agile Development

DYNAMIC SYSTEM DEVELOPMENT METHOD (DSDM)

Page 16: Agile Development

DYNAMIC SYSTEM DEVELOPMENT METHOD (DSDM)PROSES DSDM

Page 17: Agile Development

SCRUMSCHWABER &

BEEDLE Untuk pengembangan perangkat lunak cepat !

Page 18: Agile Development

SCRUMPERUSAHAAN YANG MENGGUNAKAN

SCRUM

Page 19: Agile Development

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

Page 20: Agile Development

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

Page 21: Agile Development

SCRUMPROSES SCRUM

Page 22: Agile Development

SCRUMYANG TERLIBAT

Page 23: Agile Development

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

Page 24: Agile Development

CRYSTALCOCKBURN & HIGHSMITH

Menciptakan crystal family (clear, yellow, orange, red) sebagai metode dari agile

development.

Page 25: 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

Page 26: Agile Development

CRYSTALPROSES CRYSTAL

Page 27: Agile Development

CRYSTALSTRENGTH & WEAKNESS

STRENGTH WEAKNESS

1. Cepat dan Sering di rilis2. Skalabilitas

1. Terbatas skalabilitas2. Sering terjadi proses yang ambigu3. Tergantung pada komunikasi manusia

Page 28: Agile Development

FEATURE DRIVEN DEVELOPMENT (FDD)PETER COAD Model praktis untuk rekayasa

perangkat lunak berorientasi objek.

Page 29: Agile Development

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

Page 30: Agile Development

FEATURE DRIVEN DEVELOPMENT (FDD)PROSES

FDD

Page 31: Agile Development

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.

Page 32: Agile Development

AGILE MODELING (AM)SCOTT

AMBLER Model praktis untuk pemodelan dan dokumentasi sistem berbasis

software yang efektif

Page 33: Agile Development

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

Page 34: Agile Development

AGILE UNIFIED PROCESS (AUP)SCOTT

AMBLER Untuk membangun sistem berbasis komputer.

Page 35: Agile Development

AGILE UNIFIED PROCESS (AUP)ITERASI

AUP1. Pemodelan2. Pelaksanaan3. Pengujian4. Pemasangan5. Konfigurasi6. Lingkungan manajemen

Page 36: Agile Development

PROCESS MODEL VS AGILE PROCESS

Page 37: Agile Development

ADA PERTANYAAN ?

Page 38: Agile Development

PERTANYAAN

Page 39: Agile Development

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.

Page 40: Agile Development

“Kemampuan adalah untuk melakukan sesuatu. Motivasi menentukan apa yang kita kerjakan. Sikap menentukan bagaimana cakapnya kita

melakukannya”Lou Holtz

Page 41: Agile Development

TERIMA KASIH