136x 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.