SlideShare a Scribd company logo
1 of 26
Download to read offline
Program Magister Teknik Informatika
Program Pascasarjana STMIK Amikom Yogyakarta

Agile Software Development
Mengenal Metode eXtreme Programming (XP), Feature
Driven Development (FDD), dan Scrum
oleh Kelompok 2, Kelas 13-S2TI-1B02
- Hendri Winarto
- Nanang Pradita
- Sapto Wimartono
- Candra Kurniawan
- Prajna Bhadra Darmastuti
The Agile Manifesto
Kami menemukan cara yang lebih baik untuk mengembangkan
perangkat lunak dengan melakukan dan membantu sesama untuk
menggunakannya. Melalui usaha ini kami telah dapat menghargai:

Individu dan interaksi lebih dari proses dan sarana
perangkat lunak
Perangkat lunak yang bekerja lebih dari dokumentasi yang
menyeluruh
Kolaborasi dengan klien lebih dari negosiasi kontrak
Tanggap terhadap perubahan lebih dari mengikuti rencana
Demikian, walaupun kami menghargai hal di sisi kanan, kami lebih
menghargai hal di sisi kiri.

Beck, Kent; et al. (2001). Manifesto Pengembangan Perangkat Lunak Agile. Agile
Alliance. http://agilemanifesto.org/iso/id/ - diakses pada 04 Oktober 2013
Apakah Agile Itu ?
• Kumpulan metode pengembangan Perangkat Lunak (PL) yang
menggabungkan filosofi :
• Mengutamakan kepuasan pelanggan dan rilis PL lebih awal,
secara inkremental
• Tim pengembangan PL dalam kelompok-kelompok kecil
bermotivasi tinggi (agile team)
• Menggunakan metode-metode informal
• Produk hasil rekayasa perangkat lunak minimal
• Kesederhanaan proses pengembangan secara keseluruhan

dan pedoman pengembangan :
• Mengutamakan rilis produk dari pada analisis dan desain
• Komunikasi aktif dan berkesinambungan antara pengembang dan
pelanggan
12 Prinsip Agile
• Kepuasan klien adalah prioritas utama dengan menghasilkan
produk lebih awal dan terus menerus.
• Menerima perubahan kebutuhan, sekalipun diakhir
pengembangan.
• Penyerahan hasil/software dalam hitungan waktu beberapa
minggu sampai beberapa bulan.
 Pihak bisnis dan pengembang harus bekerja sama setiap hari
selama pengembangan berjalan.
 Membangun proyek dilingkungan orang-orang yang
bermotivasi tinggi yang bekerja dalam lingkungan yang
mendukun dan yang dipercaya untuk dapat menyelesaikan
proyek.
12 Prinsip Agile (lanjutan)
 Komunikasi dengan berhadapan langsung adalah komunikasi
yang efektif dan efisien
 Software yang berfungsi adalah ukuran utama dari kemajuan
proyek
 Dukungan yang stabil dari sponsor, pembangun, dan
pengguna diperlukan untuk menjaga perkembangan yang
berkesinambungan
• Perhatian kepada kehebatan teknis dan desain yang bagus
meningkatkan sifat agile
• Kesederhanaan penting
• Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim
yang mengatur dirinya sendiri
• Secara periodik tim evaluasi diri dan mencari cara untuk lebih
efektif dan segera melakukannya.
Siapa Pelaku Agile ?
Software
Engineers

Agile
Team

Managers
Stakeholders

Customers

End Users
Kenapa Agile Diperlukan ?
• Lingkungan bisnis modern yang memerlukan perangkat lunak
dan sistem-sistem berbasis komputer senantiasa berubahubah dengan cepat
• Beberapa kelompok dan jenis perangkat lunak tertentu tidak
cocok jika dikembangkan dengan metode pengembangan
perangkat lunak konvensional, dan Agile terbukti telah
berhasil menghasilkan sistem yang berkualitas secara cepat
• Perubahan di tengah proses pengembangan tidak memicu
biaya tinggi
Kerangka Aktivitas pada Agile
Less:

More:

“Software Enginering Lite”, untuk mengistilahkan penggunaan semua kerangka
aktivitas dasar, namun lebih mementingkan pengembangan dan rilis produk
eXtreme Programming (XP)
• Dipublikasikan oleh Kent Beck (1999). Konsep yang diajukan adalah
menggunakan pendekatan berorientasi objek

• Salah satu ciri eXtreme Programming adalah adanya “Pair
Programming”, di mana dua orang programmer bekerja bersama di
satu komputer. Satu orang melakukan coding, sedangkan satu orang
lainnya akan melakukan review setiap baris kode yang diketikkan
orang pertama. Kedua orang tersebut bisa bertukar peran cukup
sering.
Nilai-Nilai pada XP
Kesederhanaan

• Mengerjakan apa yang diperlukan dan dipesan saja
• Memaksimalkan nilai produk sesuai anggarannya

Komunikasi

• Komunikasi setiap waktu karena semua adalah tim
• Setiap permasalahan diselesaikan bersama-sama

Umpan balik

• PL didemonstrasikan lebih awal, lebih sering
• Proses pengembangan beradaptasi thd masukan2

Penghargaan

• Semua orang berhak dihargai sebagai anggota tim
• Semua anggota tim menyumbangkan nilai pada PL

Keberanian

• Berani menyampaikan fakta kondisi pengembangan
• Siap terhadap perubahan, hadapi bersama-sama
Kerangka Aktivitas pada XP
Kelebihan XP
• Perencanaan diawali dari “cerita – cerita”
pelanggan sehingga tim pengembang akan mampu
menyediakan fitur - fitur yang sesuai harapan
pelanggan
• Meniadakan perencanaan yang terlalu rinci di awal
proses
• Coding mendahulukan pada fitur terpenting lebih
dulu
• Responsif terhadap perubahan
• Adanya Pair Programming menunjang kreativitas
dan fokus
• Integrasi berkelanjutan diharapkan tidak terjadi masalah
dalam kompatibilitas dan interfacing
Kelemahan XP
• Karena pelanggan merupakan anggota tim, permintaan untuk
perubahan fitur bisa dilakukan secara informal, beresiko
mengganggu scope pekerjaan
• Urutan prioritas fitur yang akan dikerjakan lebih dahulu bisa
bersifat subjektif
• Menekankan pada teamwork, komunikasi, dan pengaturan
prioritas, namun hal tersebut lebih cenderung dilakukan demi
menekan beban bekerja dalam lingkungan pengembangan
yang berubah-ubah
• Setiap aturan yang berlaku di XP hanya bekerja jika didukung
oleh aturan-aturan lainnya
• Lebih cocok untuk proyek dengan skala tidak terlalu besar.
Untuk skala besar, Industrial XP (IXP) lebih sesuai.
Feature-Driven Development
• FDD menekankan pada penggabungan beberapa metode
yang menjadi best practices di industri PL menjadi
kesatuan utuh
• Bersifat adaptif, dapat diterapkan pada proyek skala
menengah hingga skala besar
Filosofi FDD
1. Menekankan pada kolaborasi antar personil
pada tim FDD
2. Permasalahan dan kompleksitas proyek
dikelola menggunakan dekomposisi diikuti
integrasi inkrementasi PL
3. Pengkomunikasian detail teknis menggunakan
media verbal, grafis, dan teks
Kerangka Aktivitas FDD
Kelebihan FDD
• Karena fitur merupakan boks kecil berupa fungsionalitas yang
modular, user dapat mendeskripsikannya dengan lebih
mudah, memudahkan review dan pengidentifikasian error
• Fitur dapat diorganisir dalam pengelompokan hierarkis
• Tim dapat mengembangkan fitur yang beroperasi tiap dua
minggu
• Karena fitur relatif kecil, representasi desain dan kodenya lebih
mudah untuk diinspeksi secara efektif
• Perencanaan, penjadwalan, dan pelacakan proyek
menyesuaikan dengan hierarki fitur
• Proses simpel dan lugas, namun tetap penuh perhitungan
Kekurangan FDD
• Tidak mencakup aktivitas pasca implementasi dan analisis
pendahuluan
• Adaptabilitas kurang karena tidak adanya perencanaan,
peninjauan, dan revisi di level iterasi
• Sangat memerlukan supervisi proyek secara intensif
Scrum
• Istilah “scrum” diambil dari aktivitas yang ada
pada pertandingan Rugby
• Merupakan kerangka kerja proyek yang
berorientasi pada peningkatan “successful
ending” atas proyek PL
• Memiliki ciri terdapatnya kelompok fungsional
yang terdiri atas 5 s.d. 9 anggota yang mampu
mengelola kelompoknya secara mandiri untuk
mengembangkan suatu produk
Prinsip-Prinsip Scrum
• Prinsip yang berlaku di Scrum konsistem dengan Agile
Manifesto dan digunakan sebagai pedoman bagi aktivitas
pengembangan dalam proses yang menggunakan Kerangka
Aktivitas : requirements, analysis, design, evolution, dan
delivery
• Pada setiap aktivitas, pekerjaan dilakukan dalam bentuk pola
proses yang dinamakan Sprint. Setiap pekerjaan yang
dilakukan dalam sprint disesuaikan dengan kompleksitas
permasalahan dan sering kali didefinisikan atau dimodifikasi
secara real-time oleh Scrum Team
Siklus Sprint pada Scrum

Setiap sprint memiliki target/tujuan yang sangat spesifik,
terukur, dan bisa dicapai
Scrum Meetings
• Rapat pendek (sekitar 15 menit) diadakan tiap hari pada
Scrum Team, membahas 3 pertanyaan kunci berikut :
• Apa yang telah Anda kerjakan sejak rapat tim terakhir ?
• Kendala-kendala apa saja yang Anda hadapi ?
• Apa yang Anda rencanakan untuk dicapai hingga rapat tim
berikutnya ?

• Scrum meeting dipimpin oleh pimpinan tim, diistilahkan
sebagai Scrum Master, memimpin rapat dan menginventarisir
respon dari masing-masing anggota tim
• Tujuan scrum meeting adalah membantu tim untuk
mendeteksi permasalahan yang berpotensi timbul sedini
mungkin
Kelebihan Scrum
• Kebutuhan sangat diperbolehkan untuk berubah sewaktuwaktu
• Proses pengembangan iteratif diatur oleh perencanaan dan
peninjauan secara cermat
• Peran serta aktif dari user
• Proses sederhana dan lugas
• Rilis bisa dilakukan lebih awal dan sering, mendemonstrasikan
fungsionalitas pada tiap akhir sprint
Kekurangan Scrum
• Integrasi baru dilakukan setelah semua increment selesai
• Skalabilitas terbatas
• Berdasar pada asumsi bahwa komunikasi antar personil akan
mencukupi untuk menjalankan proyek dalam berbagai ukuran
dan menjaga mereka untuk tetap fokus
• Tidak ada upaya menciptakan desain yang tegas
• Tidak adanya formalitas
Kondisi Tepat / Ideal
XP

FDD

Skala proyek tidak terlalu Skala proyek menengah
besar. Jika terlalu besar
hingga besar
tersedia pilihan
Industrial XP (IXP)

Scrum
Proyek dengan skala kecil
hingga menengah
dengan kebutuhan
skalabilitas terbatas.
Terima Kasih

More Related Content

What's hot

Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 ahmad haidaroh
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanwanakuroyuri
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antaraGunawan Manalu
 
RPL 1 (Lama) - Perancangan Perangkat Lunak
RPL 1 (Lama) - Perancangan Perangkat LunakRPL 1 (Lama) - Perancangan Perangkat Lunak
RPL 1 (Lama) - Perancangan Perangkat LunakAdam Mukharil Bachtiar
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerAuliaa Oktarianii
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputerMiftahul Khair N
 
Mengadministrasi server dalam jaringan
Mengadministrasi server dalam jaringanMengadministrasi server dalam jaringan
Mengadministrasi server dalam jaringanEko Supriyadi
 
Penjelasan indexing database
Penjelasan indexing databasePenjelasan indexing database
Penjelasan indexing databaseSamsul Arifin
 
Arsitektur Sistem Operasi
Arsitektur Sistem OperasiArsitektur Sistem Operasi
Arsitektur Sistem Operasiviviluthfiyah
 
Modul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerModul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerpersonal
 
Rpl 011 - arsitektur sistem terdistribusi
Rpl   011 - arsitektur sistem terdistribusiRpl   011 - arsitektur sistem terdistribusi
Rpl 011 - arsitektur sistem terdistribusiFebriyani Syafri
 
Kebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelKebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelartha69
 
Dokumen srs -_sistem_informasi_koperasi
Dokumen srs -_sistem_informasi_koperasiDokumen srs -_sistem_informasi_koperasi
Dokumen srs -_sistem_informasi_koperasifachrizal lianso
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristikBaguss Chandrass
 

What's hot (20)

Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
 
Prinsip User Interface Design
Prinsip User Interface DesignPrinsip User Interface Design
Prinsip User Interface Design
 
Intermediate code kode antara
Intermediate code   kode antaraIntermediate code   kode antara
Intermediate code kode antara
 
RPL 1 (Lama) - Perancangan Perangkat Lunak
RPL 1 (Lama) - Perancangan Perangkat LunakRPL 1 (Lama) - Perancangan Perangkat Lunak
RPL 1 (Lama) - Perancangan Perangkat Lunak
 
Social Gaming
Social GamingSocial Gaming
Social Gaming
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
 
Mengadministrasi server dalam jaringan
Mengadministrasi server dalam jaringanMengadministrasi server dalam jaringan
Mengadministrasi server dalam jaringan
 
Penjelasan indexing database
Penjelasan indexing databasePenjelasan indexing database
Penjelasan indexing database
 
Arsitektur Sistem Operasi
Arsitektur Sistem OperasiArsitektur Sistem Operasi
Arsitektur Sistem Operasi
 
Kode etik profesi it
Kode etik profesi itKode etik profesi it
Kode etik profesi it
 
Modul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerModul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontroler
 
Rpl 011 - arsitektur sistem terdistribusi
Rpl   011 - arsitektur sistem terdistribusiRpl   011 - arsitektur sistem terdistribusi
Rpl 011 - arsitektur sistem terdistribusi
 
Kebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpelKebutuhan fungsional aplikasi simpel
Kebutuhan fungsional aplikasi simpel
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
 
Dokumen srs -_sistem_informasi_koperasi
Dokumen srs -_sistem_informasi_koperasiDokumen srs -_sistem_informasi_koperasi
Dokumen srs -_sistem_informasi_koperasi
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
Perkembangan teknologi web
Perkembangan teknologi webPerkembangan teknologi web
Perkembangan teknologi web
 

Similar to Agile Manifesto dan Metode Pengembangan Agile

Week 5 - Agile Methods and Software Engineering Practice.pptx
Week 5 - Agile Methods and Software Engineering Practice.pptxWeek 5 - Agile Methods and Software Engineering Practice.pptx
Week 5 - Agile Methods and Software Engineering Practice.pptxStevenAdiSantoso
 
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdfRPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdfAhmadFairuzabadi1
 
Rpl 3-manajemen proyek pl
Rpl 3-manajemen proyek plRpl 3-manajemen proyek pl
Rpl 3-manajemen proyek plf' yagami
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunakSahrul Sindriana
 
Pertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdfPertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdfJulianaMansur6
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakLusiana Diyan
 
Istu dana aditya 1112510811 tugas 1 (individu)
Istu dana aditya 1112510811 tugas 1 (individu)Istu dana aditya 1112510811 tugas 1 (individu)
Istu dana aditya 1112510811 tugas 1 (individu)istudana13
 
MPPL - #5B Studi Kasus Manajemen Proyek pendekatan Agile.pptx
MPPL - #5B Studi Kasus Manajemen Proyek pendekatan Agile.pptxMPPL - #5B Studi Kasus Manajemen Proyek pendekatan Agile.pptx
MPPL - #5B Studi Kasus Manajemen Proyek pendekatan Agile.pptxAhnafGaming
 
System Development and Procurement kel 5 (05-01).pptx
System Development and Procurement kel 5 (05-01).pptxSystem Development and Procurement kel 5 (05-01).pptx
System Development and Procurement kel 5 (05-01).pptxrifqiarif6
 
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxKualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxSusantiwu1
 
Software project management
Software project managementSoftware project management
Software project managementAnnisa Shabrina
 
Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15septianopratama2
 

Similar to Agile Manifesto dan Metode Pengembangan Agile (20)

Week 5 - Agile Methods and Software Engineering Practice.pptx
Week 5 - Agile Methods and Software Engineering Practice.pptxWeek 5 - Agile Methods and Software Engineering Practice.pptx
Week 5 - Agile Methods and Software Engineering Practice.pptx
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdfRPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
RPL-SE-AgileSofwareDevelopment-2017-v1.0.en.id.pdf
 
Scrum in agile
Scrum in agileScrum in agile
Scrum in agile
 
Rpl 3-manajemen proyek pl
Rpl 3-manajemen proyek plRpl 3-manajemen proyek pl
Rpl 3-manajemen proyek pl
 
Perancangan perangkat lunak
Perancangan perangkat lunakPerancangan perangkat lunak
Perancangan perangkat lunak
 
Perkuliahan 02 Model software engginer
Perkuliahan 02 Model software engginerPerkuliahan 02 Model software engginer
Perkuliahan 02 Model software engginer
 
Pertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdfPertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdf
 
Proses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat LunakProses Rekayasa Perangkat Lunak
Proses Rekayasa Perangkat Lunak
 
Istu dana aditya 1112510811 tugas 1 (individu)
Istu dana aditya 1112510811 tugas 1 (individu)Istu dana aditya 1112510811 tugas 1 (individu)
Istu dana aditya 1112510811 tugas 1 (individu)
 
TUGAS PPT _ WAWAN WIDODO.pptx
TUGAS PPT _ WAWAN WIDODO.pptxTUGAS PPT _ WAWAN WIDODO.pptx
TUGAS PPT _ WAWAN WIDODO.pptx
 
MPPL - #5B Studi Kasus Manajemen Proyek pendekatan Agile.pptx
MPPL - #5B Studi Kasus Manajemen Proyek pendekatan Agile.pptxMPPL - #5B Studi Kasus Manajemen Proyek pendekatan Agile.pptx
MPPL - #5B Studi Kasus Manajemen Proyek pendekatan Agile.pptx
 
System Development and Procurement kel 5 (05-01).pptx
System Development and Procurement kel 5 (05-01).pptxSystem Development and Procurement kel 5 (05-01).pptx
System Development and Procurement kel 5 (05-01).pptx
 
Rangkuman SDLC
Rangkuman SDLCRangkuman SDLC
Rangkuman SDLC
 
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan SistemRekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
 
Free Scrum Workshop Jan 2011
Free Scrum Workshop Jan 2011Free Scrum Workshop Jan 2011
Free Scrum Workshop Jan 2011
 
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptxKualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
Kualitas Source Code dan Pengujian Program angelrika & lindesy natalia.pptx
 
Software project management
Software project managementSoftware project management
Software project management
 
Meeting 3 metode pengembangan sistem
Meeting 3   metode pengembangan sistemMeeting 3   metode pengembangan sistem
Meeting 3 metode pengembangan sistem
 
Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15Analisa dan Perancangan Sistem Informasi Pert 15
Analisa dan Perancangan Sistem Informasi Pert 15
 

Agile Manifesto dan Metode Pengembangan Agile

  • 1. Program Magister Teknik Informatika Program Pascasarjana STMIK Amikom Yogyakarta Agile Software Development Mengenal Metode eXtreme Programming (XP), Feature Driven Development (FDD), dan Scrum oleh Kelompok 2, Kelas 13-S2TI-1B02 - Hendri Winarto - Nanang Pradita - Sapto Wimartono - Candra Kurniawan - Prajna Bhadra Darmastuti
  • 2. The Agile Manifesto Kami menemukan cara yang lebih baik untuk mengembangkan perangkat lunak dengan melakukan dan membantu sesama untuk menggunakannya. Melalui usaha ini kami telah dapat menghargai: Individu dan interaksi lebih dari proses dan sarana perangkat lunak Perangkat lunak yang bekerja lebih dari dokumentasi yang menyeluruh Kolaborasi dengan klien lebih dari negosiasi kontrak Tanggap terhadap perubahan lebih dari mengikuti rencana Demikian, walaupun kami menghargai hal di sisi kanan, kami lebih menghargai hal di sisi kiri. Beck, Kent; et al. (2001). Manifesto Pengembangan Perangkat Lunak Agile. Agile Alliance. http://agilemanifesto.org/iso/id/ - diakses pada 04 Oktober 2013
  • 3. Apakah Agile Itu ? • Kumpulan metode pengembangan Perangkat Lunak (PL) yang menggabungkan filosofi : • Mengutamakan kepuasan pelanggan dan rilis PL lebih awal, secara inkremental • Tim pengembangan PL dalam kelompok-kelompok kecil bermotivasi tinggi (agile team) • Menggunakan metode-metode informal • Produk hasil rekayasa perangkat lunak minimal • Kesederhanaan proses pengembangan secara keseluruhan dan pedoman pengembangan : • Mengutamakan rilis produk dari pada analisis dan desain • Komunikasi aktif dan berkesinambungan antara pengembang dan pelanggan
  • 4. 12 Prinsip Agile • Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus. • Menerima perubahan kebutuhan, sekalipun diakhir pengembangan. • Penyerahan hasil/software dalam hitungan waktu beberapa minggu sampai beberapa bulan.  Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan berjalan.  Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan proyek.
  • 5. 12 Prinsip Agile (lanjutan)  Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien  Software yang berfungsi adalah ukuran utama dari kemajuan proyek  Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang berkesinambungan • Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile • Kesederhanaan penting • Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya sendiri • Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.
  • 6. Siapa Pelaku Agile ? Software Engineers Agile Team Managers Stakeholders Customers End Users
  • 7. Kenapa Agile Diperlukan ? • Lingkungan bisnis modern yang memerlukan perangkat lunak dan sistem-sistem berbasis komputer senantiasa berubahubah dengan cepat • Beberapa kelompok dan jenis perangkat lunak tertentu tidak cocok jika dikembangkan dengan metode pengembangan perangkat lunak konvensional, dan Agile terbukti telah berhasil menghasilkan sistem yang berkualitas secara cepat • Perubahan di tengah proses pengembangan tidak memicu biaya tinggi
  • 8. Kerangka Aktivitas pada Agile Less: More: “Software Enginering Lite”, untuk mengistilahkan penggunaan semua kerangka aktivitas dasar, namun lebih mementingkan pengembangan dan rilis produk
  • 9. eXtreme Programming (XP) • Dipublikasikan oleh Kent Beck (1999). Konsep yang diajukan adalah menggunakan pendekatan berorientasi objek • Salah satu ciri eXtreme Programming adalah adanya “Pair Programming”, di mana dua orang programmer bekerja bersama di satu komputer. Satu orang melakukan coding, sedangkan satu orang lainnya akan melakukan review setiap baris kode yang diketikkan orang pertama. Kedua orang tersebut bisa bertukar peran cukup sering.
  • 10. Nilai-Nilai pada XP Kesederhanaan • Mengerjakan apa yang diperlukan dan dipesan saja • Memaksimalkan nilai produk sesuai anggarannya Komunikasi • Komunikasi setiap waktu karena semua adalah tim • Setiap permasalahan diselesaikan bersama-sama Umpan balik • PL didemonstrasikan lebih awal, lebih sering • Proses pengembangan beradaptasi thd masukan2 Penghargaan • Semua orang berhak dihargai sebagai anggota tim • Semua anggota tim menyumbangkan nilai pada PL Keberanian • Berani menyampaikan fakta kondisi pengembangan • Siap terhadap perubahan, hadapi bersama-sama
  • 12. Kelebihan XP • Perencanaan diawali dari “cerita – cerita” pelanggan sehingga tim pengembang akan mampu menyediakan fitur - fitur yang sesuai harapan pelanggan • Meniadakan perencanaan yang terlalu rinci di awal proses • Coding mendahulukan pada fitur terpenting lebih dulu • Responsif terhadap perubahan • Adanya Pair Programming menunjang kreativitas dan fokus • Integrasi berkelanjutan diharapkan tidak terjadi masalah dalam kompatibilitas dan interfacing
  • 13. Kelemahan XP • Karena pelanggan merupakan anggota tim, permintaan untuk perubahan fitur bisa dilakukan secara informal, beresiko mengganggu scope pekerjaan • Urutan prioritas fitur yang akan dikerjakan lebih dahulu bisa bersifat subjektif • Menekankan pada teamwork, komunikasi, dan pengaturan prioritas, namun hal tersebut lebih cenderung dilakukan demi menekan beban bekerja dalam lingkungan pengembangan yang berubah-ubah • Setiap aturan yang berlaku di XP hanya bekerja jika didukung oleh aturan-aturan lainnya • Lebih cocok untuk proyek dengan skala tidak terlalu besar. Untuk skala besar, Industrial XP (IXP) lebih sesuai.
  • 14. Feature-Driven Development • FDD menekankan pada penggabungan beberapa metode yang menjadi best practices di industri PL menjadi kesatuan utuh • Bersifat adaptif, dapat diterapkan pada proyek skala menengah hingga skala besar
  • 15. Filosofi FDD 1. Menekankan pada kolaborasi antar personil pada tim FDD 2. Permasalahan dan kompleksitas proyek dikelola menggunakan dekomposisi diikuti integrasi inkrementasi PL 3. Pengkomunikasian detail teknis menggunakan media verbal, grafis, dan teks
  • 17. Kelebihan FDD • Karena fitur merupakan boks kecil berupa fungsionalitas yang modular, user dapat mendeskripsikannya dengan lebih mudah, memudahkan review dan pengidentifikasian error • Fitur dapat diorganisir dalam pengelompokan hierarkis • Tim dapat mengembangkan fitur yang beroperasi tiap dua minggu • Karena fitur relatif kecil, representasi desain dan kodenya lebih mudah untuk diinspeksi secara efektif • Perencanaan, penjadwalan, dan pelacakan proyek menyesuaikan dengan hierarki fitur • Proses simpel dan lugas, namun tetap penuh perhitungan
  • 18. Kekurangan FDD • Tidak mencakup aktivitas pasca implementasi dan analisis pendahuluan • Adaptabilitas kurang karena tidak adanya perencanaan, peninjauan, dan revisi di level iterasi • Sangat memerlukan supervisi proyek secara intensif
  • 19. Scrum • Istilah “scrum” diambil dari aktivitas yang ada pada pertandingan Rugby • Merupakan kerangka kerja proyek yang berorientasi pada peningkatan “successful ending” atas proyek PL • Memiliki ciri terdapatnya kelompok fungsional yang terdiri atas 5 s.d. 9 anggota yang mampu mengelola kelompoknya secara mandiri untuk mengembangkan suatu produk
  • 20. Prinsip-Prinsip Scrum • Prinsip yang berlaku di Scrum konsistem dengan Agile Manifesto dan digunakan sebagai pedoman bagi aktivitas pengembangan dalam proses yang menggunakan Kerangka Aktivitas : requirements, analysis, design, evolution, dan delivery • Pada setiap aktivitas, pekerjaan dilakukan dalam bentuk pola proses yang dinamakan Sprint. Setiap pekerjaan yang dilakukan dalam sprint disesuaikan dengan kompleksitas permasalahan dan sering kali didefinisikan atau dimodifikasi secara real-time oleh Scrum Team
  • 21. Siklus Sprint pada Scrum Setiap sprint memiliki target/tujuan yang sangat spesifik, terukur, dan bisa dicapai
  • 22. Scrum Meetings • Rapat pendek (sekitar 15 menit) diadakan tiap hari pada Scrum Team, membahas 3 pertanyaan kunci berikut : • Apa yang telah Anda kerjakan sejak rapat tim terakhir ? • Kendala-kendala apa saja yang Anda hadapi ? • Apa yang Anda rencanakan untuk dicapai hingga rapat tim berikutnya ? • Scrum meeting dipimpin oleh pimpinan tim, diistilahkan sebagai Scrum Master, memimpin rapat dan menginventarisir respon dari masing-masing anggota tim • Tujuan scrum meeting adalah membantu tim untuk mendeteksi permasalahan yang berpotensi timbul sedini mungkin
  • 23. Kelebihan Scrum • Kebutuhan sangat diperbolehkan untuk berubah sewaktuwaktu • Proses pengembangan iteratif diatur oleh perencanaan dan peninjauan secara cermat • Peran serta aktif dari user • Proses sederhana dan lugas • Rilis bisa dilakukan lebih awal dan sering, mendemonstrasikan fungsionalitas pada tiap akhir sprint
  • 24. Kekurangan Scrum • Integrasi baru dilakukan setelah semua increment selesai • Skalabilitas terbatas • Berdasar pada asumsi bahwa komunikasi antar personil akan mencukupi untuk menjalankan proyek dalam berbagai ukuran dan menjaga mereka untuk tetap fokus • Tidak ada upaya menciptakan desain yang tegas • Tidak adanya formalitas
  • 25. Kondisi Tepat / Ideal XP FDD Skala proyek tidak terlalu Skala proyek menengah besar. Jika terlalu besar hingga besar tersedia pilihan Industrial XP (IXP) Scrum Proyek dengan skala kecil hingga menengah dengan kebutuhan skalabilitas terbatas.