265x Filetype PDF File size 0.79 MB Source: library.binus.ac.id
BAB 2
TINJAUAN PUSTAKA
2.1. Agile Software Development
2.1.1. Agile Development
Menurut Pressman (2010:71-73) peran manusia atau tim di dalam
suatu agile development sangat penting dan akan berpengaruh pada
pengembangan piranti lunak. Agile development berfokus pada
kemampuan pada tiap individu. Kemampuan yang diperlukan untuk
membangun sebuah tim dalam agile development, yaitu:
a) Competence
Di dalam sebuah tim harus memiliki bakat, keterampilan
perangkat lunak yang dibutuhkan, dan pengetahuan secara
keseluruhan mengenai proses yang telah dipilih.
b) Common focus
Setiap individu memiliki tugas yang berbeda-beda di dalam
satu tim dan para individu tersebut harus mampu berfokus pada
satu tujuan, yaitu memberikan software kepada customer sesuai
dengan batas waktu yang telah dijanjikan.
c) Collaboration
Anggota tim harus mampu bekerja sama dengan stakeholder
maupun anggota lainnya, sehingga dapat menganalisis dan
menggunakan informasi yang telah dikomunikasikan.
d) Decision-making ability
Setiap tim diberikan otoritas untuk mengambil keputusan
dalam proyek, sehingga diperlukan kemampuan untuk
pengambilan keputusan secara baik dan bermanfaat bagi setiap
pihak yang terkait.
9
10
e) Fuzzy problem-solving ability
Setiap software manager harus menyadari bahwa sebuah tim
agile akan terus berurusan dengan ambiguitas dan perubahan yang
terjadi. Oleh sebab itu tim harus mampu memecahkan setiap
masalah yang ada, karena belum tentu masalah yang dipecahkan
saat ini menjadi masalah yang akan dipecahkan kemudian hari.
f) Mutual trust and respect
Anggota dalam suatu tim harus memiliki rasa kepercayaan dan
rasa hormat untuk membentuk suatu tim yang kuat.
g) Self-organization
Di dalam tim harus mampu mengorganisasikan tim tersebut
dalam mengatur pekerjaan yang akan diselesaikan. Kemudian tim
harus mampu mengatur proses yang terbaik untuk
mengakomodasi lingkungannya dan mengatur jadwal kerja terbaik
sehingga dapat mencapai waktu yang telah ditentukan.
2.1.2. Metode Agile (Scrum)
Menurut Pressman (2010:82) scrum adalah metode
pengembangan peranti lunak secara cepat (agile). Prinsip scrum
sesuai dengan prinsip-prinsip yang terdapat pada metode
pengembangan peranti secara cepat yang digunakan untuk menuntun
kegiatan pengembangan peranti lunak, seperti: pemenuhan kebutuhan,
analisa, desain, dan penyampaian (delivery). Alur proses scrum dapat
dilihat pada gambar 2.1 (Pressman,2010:83):
11
Gambar 2. 1 Alur Proses Scrum
Menurut Pressman (2010:83), di setiap tahap pengembangan,
terjadi aktivitas kerja yang terlingkup di dalam suatu pola proses yang
dinamakan sprint. Setiap pola proses yang terjadi, akan terdapat
seperangkat kegiatan berikut:
a. Backlog
Sebuah rincian prioritas pada fitur-fitur yang akan
dibangun pada suatu proyek. Isi pada fitur dapat ditambahkan
setiap saat.
b. Sprints
Kumpulan aktivitas kerja yang dilakukan untuk
memenuhi kebutuhan yang ditetapkan dalam backlog dan harus
diselesaikan pada waktu yang telah ditentukan (biasanya 30
hari). Perubahan tidak dapat dilakukan pada proses sprint
sehingga setiap tim akan bekerja di dalam lingkungan yang
stabil.
c. Scrum Meeting
Pertemuan yang dilakukan setiap hari oleh tim scrum
untuk membahas apa yang telah dikerjakan sejak pertemuan
terakhir, merencanakan dan membahas masalah-masalah yang
ada (biasanya 15 menit).
12
d. Demos
Menujukan hasil fungsionalitas yang telah
diimplementasikan sehingga dapat dievaluasi oleh pengguna.
Demo harus berupa fitur-fitur yang telah diselesaikan sesuai
dengan waktu yang telah ditetapkan.
2.2. Komponen Arsitektur
Komponen umum yang terdapat pada suatu sistem terdiri dari
software dan hardware. Hardware memiliki 3 komponen utama yang
terdapat pada sistem, yaitu client computers, servers, dan network.
Sedangkan software memiliki beberapa fungsi yang digunakan sebagai
dasar untuk membangun suatu aplikasi. Terdapat 4 fungsi dasar software
yang dijabarkan oleh Tegarden, Denis, & Wixom (2013:474-475), yaitu:
1. Data storage
Banyak aplikasi yang membutuhkan data untuk disimpan sehingga
data tersebut dapat diambil kembali saat dibutuhkan. Data storage
merupakan tempat penyimpanan data.
2. Data access logic
Setiap aplikasi membutuhkan pengendali untuk dapat mengakses
data yang telah disimpan, seperti database queries pada SQL
(structured query language).
3. Application logic
Application logic adalah logika tentang bagaimana
mengimplementasikan suatu aplikasi. Dokumentasi application logic
dilakukan dalam bentuk fungsional maupun behavioral models.
Application logic dapat menjadi mudah atau kompleks tergantung pada
aplikasi yang akan dibangun.
4. Presentation logic
Presentation logic menghubungkan pengguna dan aplikasi yang
akan dibangun berupa interface yang menarik. Dengan desain interface
yang menarik maka pengguna akan lebih mudah menggunakan dan
memahami aplikasi.
no reviews yet
Please Login to review.