Ditujukan untuk memenuhi salah satu tugas mata kuliah Rekayasa Perangkat
Lunak I
Disusun Oleh :
10115205 Rifaldi Yunus M
10115369 Richard Henderson
10115242 Anjar Naufal S
10115039 M Fakhry Al Giffari
10115234 Hanton K Aprianto
Dosen :
Chrismikha Haryanto S.Kom., M.Kom
TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPTER
UNIVERSITAS KOMPUTER INDONESIA
OKTOBER 2018
Daftar Isi
Daftar Isi...................................................................................................................i
BAB 1 Pendahuluan.................................................................................................1
BAB 2 Pembahasan.................................................................................................2
2.1 Pengertian Agile Software Development..................................................2
2.2 Prinsip Agile Software Development........................................................4
2.3 Faktor Manusia pada Agile Process Model...............................................5
2.4 Karakteristik Agile Software Development..............................................5
2.5 Kelebihan dan Kekurangan Agile Software Development.......................5
2.5.1 Kelebihan Agile Software Development...........................................5
2.5.2 Kekurangan Agile Software Development........................................6
2.6 Penggunaan Agile Method........................................................................6
2.6.1 Agile method sangat cocok digunakan..............................................6
2.6.2 Agile method tidak cocok digunakan.................................................6
2.7 Agile Model Process.................................................................................7
2.7.1 Extreme Programming (XP)..............................................................7
2.7.1.1 Karakteristik XP.........................................................................7
2.7.1.2 Tahapan-tahapan dalam XP........................................................8
2.7.1.3 Kelebihan dan Kekurangan XP..................................................9
2.7.1.4 Model XP cocok digunakan........................................................9
2.7.2 Scrum Methodology...........................................................................9
2.7.2.1 Prinsip Scrum............................................................................10
2.7.2.1 Aktifitas Scrum.........................................................................10
2.7.2.3 Peran pada Scrum.....................................................................13
2.7.2.4 Karakteristik Scrum..................................................................14
2.7.2.5 Kelebihan dan Kekurangan Scrum...........................................14
2.7.2.6 Penggunaan Scrum...................................................................15
2.7.3 Agile Modeling (AM)......................................................................15
2.7.3.1 Prinsip Agile Modeling.............................................................16
2.7.3.2 Langkah Kerja pada Agile Modeling.......................................17
2.7.3.3 Karakteristik Agile Modeling...................................................17
2.7.3.4 Kelebihan dan Kekuranan Agile Modeling..............................17
2.7.3.5 Penggunaan Agile Modeling....................................................18
Daftar Pustaka........................................................................................................19
BAB 1
Pendahuluan
1
BAB 2
Pembahasan
2
pengembangan perangkat lunak. Kolaborasi yang baik dengan klien
saat proses pembuatan perangkat lunak sangatlah penting ketika
menggunakan agile. Karena fungsi-fungsi dari perangkat lunak yang
dikembangkan harus terus menerus dibicarakan dan diimprovisasi
disesuaikan dengan keinginan klien.
4. Respon terhadap perubahan lebih penting daripada mengikuti
rencana, agile development methods berfokus terhadap kecepatan
respon tim ketika klien menginginkan perubahan saat proses
pembuatan perangkat lunak.
3
2.2 Prinsip Agile Software Development
Salah satu ciri dari Agile Software Development adalah tim yang
tanggap terhadap perubahan karena perubahan adalah hal yang utama dalam
membangun software: perubahan kebutuhan software, perubahan anggota
tim, perubahan teknologi dll. Selain itu Agile Software Development juga
melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis
dan businessmen, antara developer dan manajernya. Ciri lain adalah klien
menjadi bagian dari tim pembangun software. Ciri- ciri ini didukung oleh 12
prinsip yang diterapkan oleh Agile Alliance. Menurut Agile Alliance, 12
prinsip ini adalah bagi mereka yang ingin berhasil dalam penerapan Agile
Software Development:
4
2. Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan
seberapa jauh desain yang diperlukan sebelum pembangunan.
3. Analisis, desain, pembangunan dan testing tidak dapat diperkirakan
seperti yang diinginkan.
Kunci faktor manusia pada model ini adalah proses didasari pada kebutuhan
orang dan tim bukan sebaliknya, Untuk dapat sukses menerapkan model
proses ini, pada faktor manusia ada beberapa kunci penting:
1. Kompetensi : ketrampilan dalam membangun dan pengetahuan
tentang proses membangun.
2. Fokus : memiliki fokus yang sama sekalipun peran dalam tim
berbeda.
3. Kolaborasi : kerja sama dengan klien, anggota tim dan manajer.
4. Kemampuan ambil keputusan : tim pembangun memiliki otonomi
dalam pengambilan keputusan terkait teknis dan proyek.
5. Kemampuan fuzzy problem-solving : mampu menyelesaikan dan
memilah masalah yang penting untuk dipecahkan segera atau nanti.
6. Saling percaya dan hormat : kekompakan tim yang didukung oleh
rasa percaya dan saling menghargai satu sama lain.
7. Manajemen diri : tim mengatur diri untuk selesaikan proyek,
mengatur proses untuk disesuaikan dengan lingkungannya, tim
menjadwal dirinya untuk menyerahkan hasil.
5
2.5 Kelebihan dan Kekurangan Agile Software Development
6
5. Perusahaan tidak berinvestasi dalam menyebarkan praktik Agile
method diantara para pengembang, penguji, dan manajemen.
Berikut ini adalah beberapa model-model proses yang termasuk agile process
model :
7
2.7.1.1 Karakteristik XP
1. Communication(Komunikasi), tugas utama developer
dalam membangun suatu system perangkat lunak adalah
mengkomunikasikan kebutuhan system kepada
pengembang perangkat lunak.
2. Simplicity(Kesederhanaan), XP mencoba untuk mencari
solusi paling sederhana dan praktis.
3. Feedback(Umpan Balik), Hal ini diperlukan untuk
mengetahui kemajuan dari proses dan kualitas dari
aplikasi yang dibangun.
4. Courage(Keberanian) berarti berani mencoba ide baru.
2.7.1.2 Tahapan-tahapan dalam XP
Aktivitas planning dimulai dengan membentuk user stories.
Anggota XP team kemudian menilai setiap story dan
menentukan cost — diukur dalam development week.
1. Planning. Customer dan XP team bekerja bersama untuk
memutuskan bagaimana grup story untuk release
berikutnya (software increment berikutnya) untuk
dibangun oleh XP team. Jika komitmen telah dibuat, XP
team akan membangun story-story dengan cara :
8
4. Testing. Unit test yang telah dibuat harus
diimplementasikan menggunakan suatu framework dan
diatur ke dalam universal testing suite, integrasi dan
validasi sistem dapat dilakukan setiap hari. Customer test
(acceptance test) dilakukan oleh customer dan fokus pada
keseluruhan fitur dan fungsional sistem. Acceptance test
diperoleh dari customer stories yang telah
diimplemetasikan sebagai bagian dari software release.
2.7.1.3 Kelebihan dan Kekurangan XP
- Kelebihan XP
Berikut ini beberapa kelebihan dari model XP :
1. Meningkatkan kepuasan kepada klien.
2. Pembangunan system dibuat lebih cepat.
3. Menjalin komunikasi yang baik dengan client.
4. Meningkatkan komunikasi dan sifat saling menghargai
antar developer.
- Kekurangan XP
Berikut ini beberapa kekurangan dari model XP :
1. Cerita-cerita yang menunjukkan requirements dari
pelanggan kemungkinan besar tidak lengkap sehingga
Developer harus selalu siap dengan perubahan karena
perubahan akan selalu diterima.
2. Tidak bisa membuat kode yang detail di awal (prinsip
simplicity dan juga anjuran untuk melakukan apa yang
diperlukan hari itu juga).
3. XP tidak memiliki dokumentasi formal yang dibuat
selama pengembangan. Satu-satunya dokumentasi
adalah dokumentasi awal yang dilakukan oleh user.
2.7.1.4 Model XP cocok digunakan
Model XP cocok digunakan untuk pembuatan program yang:
1. Membutuhkan perubahan yang cepat (misalnya: Game
Mobile).
2. Proyek beresiko tinggi dengan tantangan yang berat.
3. Tim programmer sedikit, yaitu sekitar 2–10 orang.
4. Adanya permintaan dari pelanggan secara langsung.
9
pada beberapa perusahaan di Jepang, antara lain; Fuji Xerox, Canon,
3M dan Honda. Survei tersebut dilakukan untuk melihat bagaimana
perusahaan-perusahaan tersebut dapat membuat produk baru dengan
kualitas produk yang sangat bagus, secara sukses.
Takeuchi dan Nanaka menemukan bahwa perusahaan-perusahaan
tersebut menggunakan pendekatan yang sama dalam mengembangkan
produknya. Metode Scrum digunakan pertama kali dalam
pengembangan perangkat lunak dimulai oleh Jeff Sutherland, Easel
Corporation pada tahun 1993 dan dikembangkan selanjutnya
dilakukan oleh Schwaber dan Beedle. Metode Scrum pertama kali
diformulasikan dan dipresentasikan pada Object Management Group
tahun 1995 dengan judul paper “Scrum Development Process”.
2.7.2.1 Prinsip Scrum
1. Ukuran tim yang kecil melancarkan komunikasi,
mengurangi biaya, dan memberdayakan satu sama lain.
2. Proses dapat beradaptasi terhadap perubahan teknis dan
bisnis.
3. Proses menghasilkan beberapa software increment.
4. Pembangunan dan orang yang membangun dibagi dalam
tim yang kecil.
5. Dokumentasi dan pengujian terus menerus dilakukan
setelah software dibangun.
6. Proses scrum mampu menyatakan bahwa produk selesai
kapanpun diperlukan.
2.7.2.1 Aktifitas Scrum
10
Gambar 4 Scrum Methodolody(2)
1. Product Backlog
2. Backlog Refinement
11
Penghalusan Backlog (Backlog Refinement), dan disaat yang
sama juga melakukan perencanaan.
3. Sprint
4. Daily Scrum
12
6. Sprint Retrspective
1. Development Team
2. Product Owner
3. Scrum Master
13
Proyek untuk memastikan bahwa mereka selalu berada dalam
kondisi terbaiknya dalam meraih kesuksesan.
Scrum Master memimpin rapat setiap harinya - Daily
Scrum. Scrum master harus memastikan bahwa tim
pengembang tidak teralihkan fokusnya pada hal-hal diluar
proyek/pekerjaan.
4. Scrum Team
- Kekurangan Scrum
14
Developer harus selalu siap dengan perubahan karena
perubahan akan selalu diterima.
2.7.2.6 Penggunaan Scrum
- Scrum cocok digunakan
Model scrum cocok digunakan ketika:
1. Keperluan berubah dengan cepat.
2. Tim programmer sedikit, yaitu 5-9 orang.
3. Pelanggan tidak terlalu paham dengan apa yang diinginkan.
15
Gambar 5 Agile Modeling
16
2.7.3.2 Langkah Kerja pada Agile Modeling
Langkah kerja pada Agile Modeling :
1. Collecting artifact
2. Apply right artifact
3. Create several models in parallel.
4. Iterate to another artifact
5. Model in small increments
Pada langkah kerja collecting artifact dan apply right artifact
ada beberapa hal yang diperhatikan :
1. Understanding business environment
2. Identify initial scope
3. Work closely with stakeholder
Dalam fase modeling pada agile modeling, pemodelan yang
dibuat untuk menggambarkan kebutuhan sistem, meliputi
beberapa hal :
1. Pemodelan kebutuhan calon pengguna
2. Pemodelan analisa system
3. Pemodelan arsitektur system
4. Pemodelan desain system
2.7.3.3 Karakteristik Agile Modeling
1. Purposeful
2. Understandable
3. Sufficiently Accurate
4. Sufficiently Consistent
5. Sufficiently Detailed
6. Provide Positive Value
7. Simple as Possible
8. Just Fulfill Basic Requirements
17
- Kekurangan Agile Modeling
Developer harus selalu siap dengan perubahan karena
perubahan akan selalu diterima.
2.7.3.5 Penggunaan Agile Modeling
- Agile meodeling sangat cocok digunakan
Agile modeling sangat cocok digunakan untuk beberapa jenis
pengembangan system, yaitu :
1. Product development dimana perusahaan perangkat lunak
mengembangkan produk kecil atau menengah untuk dijual.
2. Pengembangan sistem kustom dalam suatu organisasi,
dimana ada komitmen yang jelas dari pelanggan untuk
terlibat dalam proses pengembangan dan dimana tidak ada
banyak aturan dan peraturan eksternal yang mempengaruhi
perangkat lunak.
18
Daftar Pustaka
[5] https://www.dictio.id/t/apakah-yang-dimaksud-dengan-agile-software-
development/15199/2.
[6] http://www.academia.edu/23009791/Agile_software_development.
[7] https://www.tukarpengetahuan.com/2015/06/manfaat-dan-karakteristik-
agile-development.html.
[8] https://id.wikipedia.org/wiki/Agile_Development_Methods.
[9] https://hygger.io/blog/when-not-to-use-agile.
[10] https://www.360logica.com/blog/agile-development-advantages-
disadvantages-and-when-to-use-it.
[11] http://www.extremeprogramming.org/when.html.
[12] https://dwijaantara.wordpress.com/2010/10/25/agile-method.
[13] http://komputerlamongan.com/agile-metode.
[14] https://istopics.wordpress.com/2014/05/13/scrum.
[15] http://efansamuel.blogspot.com/2015/03/metodologi-pengembangan-
sistem-scrum.html.
19
[16] https://www.hexacta.com/2018/09/10/7-tips-to-know-when-to-use-
scrum-in-your-project.
[17] http://blog.magnusdahlgren.com/2017/06/08/5-situations-scrum-may-not-
best-choice.
[18] http://www.academia.edu/31957172/Extreme_Programming_Definition_
XP_.
[19] https://medium.com/@mikesebastian/extreme-programming-
c715e6b8e0e9.
[20] http://dhiekalantana.blog.unas.ac.id/2012/10/perbandingan-up-xp-scrum-
agile.
[21] https://www.smartsheet.com/keys-successful-adoption-agile-modeling.
[22] https://www.dictio.id/t/apakah-yang-dimaksud-dengan-metode-
scrum/302/4.
20