Anda di halaman 1dari 7

RPL

TEK B TUGAS DARI OM BEAR


"1. Jelaskan kembali mengenai sejarah Agile 2. Jelaskan metodologi Agile 3. Jelaskan
perbedaan antara Agile dengan model tradisional 4. Jelaskan tentang XP Life Cycle
(Gambar, penjelasan gambar, kelebihan, keurangan) 5. Jelaskan kapan XP cocok
digunakan? 6. Jelaskan tentang peranan Product Owner, Developer team, Master
Scrum 7. Jelaskan kelebihan & kekurangan Scrum! 8. Jelaskan kapan Scrum cocok
digunakan? 9. Jelaskan tentang alur Scrum (sertakan gambar), termasuk penjelasan 7
istilah berikut : backlog, sprint backlog, Burndown chart, sprint, sprint planning,
sprint review, Sprint restropective (setiap istilah diberikan contoh kasus dan
tambahkan gambar jika perlu)"

1. Sejarah
Sejarah
Modern definisi Agile pengembangan software berkembang pada pertengahan tahun 1990an sebagai bagian dari reaksi terhadap "berat" metode, dikatakan oleh seorang typified
berat diatur, regimented, Mikro dikelola menggunakan waterfall model pembangunan.
Proses ini berasal dari air terjun menggunakan model yang dianggap sebagai birokrasi,
lambat, demeaning, dan tidak konsisten dengan cara yang sebenarnya pengembang
perangkat lunak melakukan kerja efektif. Kasus dapat dibuat yang Agile dan pengembangan
metode yg berulang adalah pembangunan kembali ke praktek mulai awal dalam sejarah
pengembangan piranti lunak. Pada mulanya, Agile metode yang disebut "metode ringan."
Pada tahun 2001, anggota tokoh masyarakat bertemu di Snowbird, Utah, dan mengadopsi
nama "metode Agile." Nantinya, sebagian dari orang-orang yang membentuk Aliansi Agile,
sebuah organisasi nirlaba yang mempromosikan pembangunan Agile.
Suatu proses pengembangan software adaptif diperkenalkan dalam karya oleh Edmonds
(1974). terkemuka awal Agile metode mencakup banyak (1995), Crystal Clear, Extreme
Programming (1996), adaptive Software Development, Fitur Terutama Pembangunan dan
Pengembangan Sistem Dinamis Metode (DSDM) (1995). Ini biasanya disebut sebagai
metodologi Agile sejak Agile Manifesto telah diterbitkan pada tahun 2001.

http://luphpooholic.blogspot.com/2009/03/agile-pengembangansoftware.html
2. Metorodlogi Agile
Model-model Agile method
1. Extreme Programmning (XP)
2. Adaptive Software Development (ASD)

3.
4.
5.
6.
7.
8.

Dynamic Systems Development Method (DSDM)


Scrum Methodology
Crystal
Feature Driven Development (FDD)
Agile Modeling (AM)
Rational Unified Process

1.2.1. Extreme Programmning (XP)


Proyek Pemrograman Extreme pertama dimulai 6 Maret 1996. Extreme Programming adalah
salah satu dari beberapa Proses Agile populer. Sudah terbukti sangat sukses di banyak
perusahaan dari berbagai ukuran dan industri di seluruh dunia.
Extreme Pemrograman berhasil karena menekankan kepuasan pelanggan. Extreme
Pemrograman menekankan kerja sama tim. Pengelola, pelanggan, dan pengembang semua
mitra setara dalam sebuah tim kolaboratif. Extreme Pemrograman menerapkan, sederhana
namun efektif yang memungkinkan tim lingkungan menjadi sangat produktif. Tim
mengorganisir diri mengatasi masalah untuk menyelesaikannya seefisien mungkin.
Extreme Pemrograman meningkatkan proyek perangkat lunak dalam lima cara penting;
komunikasi, kesederhanaan, umpan balik, rasa hormat, dan keberanian. Extreme Programmer
selalu berkomunikasi dengan pelanggan mereka dan programer sesama. Mereka terus desain
mereka yang sederhana dan bersih
Keuntungan dan Kerugian
Keuntungan Extreme Programmning:
Menjalin komunikasi yang baik dengan client. Meningkatkan komunikasi dan sifat saling
menghargai antar developer.
Kerugian Extreme Programmning:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima. Tidak
bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan
apa yang diperlukan hari itu juga).
Adaptive Software Development (ASD)
Adaptive Software Development (ASD) diajukan oleh Jim Highsmith sebagai teknik untuk
membangun software dan sistem yang kompleks. Filosofi yang mendasari Adaptive Software
Development (ASD) adalah kolaborasi manusia dan tim yang mengatur diri sendiri.
System kerja adaptive software development : Collaboration dan Learning
Adaptive cycle planning yaitu menggunakan informasi awal seperti misi dari klien, batasan
proyek dan kebutuhan dasar untuk definisikan rangkaian software increment (produk
software yang secara berkala diserahkan)
1. Collaboration : orang-orang yang bermotivasi tinggi bekerja sama: saling

melengkapi, rela membantu, kerja keras, trampil di bidangnya, dan komunikasikan masalah
untuk hasilkan penyelesaian yang efektif.
1. Learning: tim pembangun sering merasa sudah tahu semua hal tentang proyek,

padahal tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih tentang
proyek melalui 3 cara:
-

Focus group: klien dan pengguna memberi masukan terhadap software

Formal Technique Reviews: Tim ASD lengkap melakukan review

Postmortems: Tim ASD lakukan instrospeksi pada kinerja dan proses.

Gambar 4. Proses Adaptive Software Development (ASD)


1.2.3. Dynamic Systems Development Method (DSDM)
Pada Dynamic System Development Method menyajikan kerangka kerja (framework) untuk
membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan
prototyping yang incremental dalam lingkungan yang terkondisikan. Metode ini akan
membangun software dengan cepat: 80% dari proyek diserahkan dalam 20% dari waktu total
untuk menyerahkan proyek secara utuh.
Dynamic System Development Method dapat dikombinasikan dengan Extreme
Programmning menghasilkan kombinasi model proses yang mengikuti Dynamic System
Development Method dan praktek yang sejalan dengan Extreme Programmning.
1.2.4. Scrum Methodology
Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan dikembangkan
selanjutnya dilakukan oleh Schwaber dan Beedle. Pada dasarnya Scrum merupakan salah satu
komponen dari metodologi pengembangan Agile mengenai pertemuan harian untuk
membahas kemajuan dan XP adalah menekankan metodologi yang berbeda sepasang ujian
dulu pemrograman dan pembangunan.
Scrum menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu
dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau
wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki
tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan. XP lebih lanjut
tentang pengembang membantu menyelesaikan pekerjaan secepat dan maintainably mungkin
Scrum memiliki prinsip yaitu:
Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan
memberdayakan satu sama lain
-

Proses dapat beradaptasi terhadap perubahan teknis dan bisnis

Proses menghasilkan beberapa software increment

Pembangunan dan orang yang membangun dibagi dalam tim yang kecil

Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun

Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan

1.2.5. Crystal
Crystal diperkenalkan oleh Cockburn dan Highsmith, Development yang tidak pada jalur
kritis, dapat menghabikan waktu lebih, mereka yang memperbaiki produk atau membantu
oaring yang ada di jalur proyek kritis.
Karakteristik Crystal :
1.
1. Secara aktual sebuah model proses keluarga yang memungkinkan manuver berdasar
karakteristik permasalahan
2. Menyarankan penggunaan workshop refleksi untuk review kebiasaan kerja tim
3. Selalu murah dan cepat berkomunikasi secara langsung.
4. Proyek berkembang sesuai ukuran team menjadi lebih atau luas dan metologi akan
menjadi lebih tinggi.

1.2.6. Feature Driven Development


Feature Driven Development merupakan model proses praktis untuk keahlian proses software
engineering, Feature merupakan sebuah fungsi yang berharga dimana dapat dilaksanakan.
Keuntungan dari metode feature :
1.
2.
3.
4.

User dapat menggambarkan dengan mudah bentuk system.


Dapat di organisasikan atau diatur ke dallamkelompok bisnis yang hirarki.
Desain dank ode lebih mudah diperiksa secara efektif.
Merancang proyek, penjadwalan dan jalur diarahkan oleh feature.

1.2.7. Agile Modeling


Dalam situasi pembangunan software harus membangun sistem bisnis yang besar dan
penting. Jangkauan dan kompleksitas sistem harus dimodelkan sehingga dapat dimengerti,
masalah dapat dibagi menjadi lebih kecil dan kualitas dapat dijaga pada tiap langkah
pembangunan
software. Agile Modeling adalah suatu metodologi yang praktis untuk dokumentasi dan
pemodelan system software. Agile Modeling adalah kumpulan nilai-nilai, prinsip dan
praktek-praktek untuk memodelkan software agar dapat diaplikasian pada software
development proyek secara efektif.
Prinsip dalam Agile Modeling :
-

Membuat model dengan tujuan: tentukan tujuan sebelum membuat model

Mengunakan multiple models: tiap model mewakili aspek yang berbeda dari model lain.

Travel light: simpan model-model yang bersifat jangka panjang saja

Isi lebih penting dari pada penampilan: modeling menyajikan informasi kepada audiens
yang tepat.
-

Memahami model dan alat yang yang digunakan untuk membuat software

Adaptasi secara local

1.2.8. Rational Unified Process


Rational Unified Process, adalah suatu kerangka kerja proses pengembangan perangkat lunak
iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003. RUP bukanlah
suatu proses tunggal dengan aturan yang konkrit, melainkan suatu kerangka proses yang
dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi pengembang dan tim
proyek perangkat lunak yang akan memilih elemen proses sesuai dengan kebutuhan mereka.
Model ini membagi suatu sistem aplikasi menjadi beberapa komponen sistem dan
memungkinkan para developer aplikasi untuk menerapkan metoda iterative (analisis, disain,
implementasi dan pengujian) pada tiap komponen. Dengan menggunakan model ini, RUP
membagi tahapan pengembangan perangkat lunaknya ke dalam 4 fase sebagai berikut.
Inception, merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan.
Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem eksisting,
perumusan sistem target, penentuan arsitektur global target, identifikasi kebutuhan,
perumusan persyaratan perumusan kebutuhan pengujian, pemodelan diagram UML, dan
pembuatan dokumentasi.
Elaboration, merupakan tahap untuk melakukan disain secara lengkap berdasarkan hasil
analisis di tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup
pembuatan disain arsitektur subsistem), disain komponen sistem, disain format data disain
database, disain antarmuka/tampilan, disain peta aliran tampilan, penentuan design pattern
yang digunakan, pemodelan diagram UML, dan pembuatan dokumentasi.
Construction, merupakan tahap untuk mengimplementasikan hasil disain dan melakukan
pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan
pemeriksaan ulang hasil analisis dan disain, terutama disain pada domain perilaku (diagram
sequence) dan domain struktural (diagram class, component, deployment). Apabila disain
yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa
pemrogramanan tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain
mencakup pengujian hasil analisis dan disain (misal menggunakan Class Responsibility
Collaborator untuk kasus pemrograman berorientasi obyek), pendataan kebutuhan
implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan
coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan
berbagai kemungkinan pengembangan / perbaikan lebih lanjut, dan pembuatan dokumentasi.

Transition, merupakan tahap untuk menyerahkan sistem aplikasi ke konsumen (roll-out),


yang umumnya mencakup pelaksanaan pelatihan kepada pengguna dan testing beta aplikasi
terhadap ekspetasi pengguna.

http://dwijaantara.wordpress.com/2010/10/25/agile-method/
3. Perbedaan
Agile: Cepat, konsisten
Tradisional:
Proses ini berasal dari air terjun menggunakan model yang dianggap sebagai birokrasi,
lambat, demeaning, dan tidak konsisten dengan cara yang sebenarnya pengembang
perangkat lunak melakukan kerja efektif

4. Jelaskan tentang XP Life Cycle (Gambar, penjelasan gambar, kelebihan,


keurangan
1. XP(Extreme Programming)
a) Dipublikasikan oleh Kent Beck tahun 1999
b) Menggunakan pendekatan berorientasi objek
c) Aktifitas Perencanaan : pengumpulan user stories dari klien yang klien tetapkan
prioritasnya. Setiap story ditetapkan harga dan lama pembangunan, jika terlalu besar,
story dapat dipecah menjadi beberapa story yang lebih kecil. Periksa dan
pertimbangkan resiko
d) Aktifitas Desain: berprinsip: sederhana.Memanfaatkan kartu CRC (ClassResponsibility-Collaborator) untuk identifikasi dan mengatur class-class di konsep
OO. Jika temui kesulitan, prototype dibangun [ini namanya spike solution]. Lakukan
refactoring, yaitu mengembangkan desain dari program setelah ditulis
e) Aktifitas Pengkodean: siapkan unit test sebelum pengkodean dipakai sebagai
focus pemrogram untuk membuat program. Pair programming dilakukan untuk real
time program solving dan real time quality assurance

Pemakai menceritakan tentang system lakukan, kode program kecil, user feedback, diulangulang, standart itu penting (naming conventions, dan latihan coding)

Keuntungan dan Kerugian


Keuntungan Extreme Programmning:
Menjalin komunikasi yang baik dengan client. Meningkatkan komunikasi dan sifat
saling menghargai antar developer.
Kerugian Extreme Programmning:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran
untuk melakukan apa yang diperlukan hari itu juga).

5. Jelaskan kapan XP cocok digunakan?

Anda mungkin juga menyukai