Extreme Programming Method Metodologi Pengembangan Sistem .1

pengembang harus membuat perubahan tambahan untuk tumbuh sistem dan mereka harus tidak hanya menerima perubahan, mereka harus merangkul perubahan. Keempat, pengembang harus memiliki kualitas pertama mentalitas. XP juga mendukung anggota tim dalam mengembangkan keterampilan mereka sendiri. Berdasarkan buku Pekka Abrahamsson et all, yaitu Agile Software Development Methode Abrahamsson, 2002, pp. 19-21 : 1. Exploration Fase exproration merupakan permulaan dari projek dimana konsumen menuliskan cerita pada story card apa yang mereka harapkan pada proses pelapasan pertama. Setiap cerita menggambarkan fitur yang harus terdapat dalam setiap program. 2. Planning Fase ini merupakan satu tahap dalam menentukan prioritas setiap cerita dan persetujuan setiap konten pada pelepasan pertama yang akan dibuat. 3. Iterations Fase iterasion adalah tahap yang terdapat beberapa perulangan terhadap sistem sebelum pelepasan. Tahap pertama dalam perulangan membuat arsitektur sistem secara umum. Ini dapat diperoleh dari cerita user story yang ingin dibuat dari sistem tersebut. Konsumen memutuskan user story yang diinginkan dari setiap masa perulangan. Secara fungsional nantinya akan dites oleh konsumen pada setiap masa perulangan sampai sesuai dan sistem siap diproduksi. 4. Productionizing Pada tahap produsi yang dibutuhkan adanya tambahan pengetesan testing dan pengecekan dari setiap performa sistem sebelum sistem tersebut diserahkan kepada konsumen. 5. Maintenance Setelah pengembangan telah selesai dilakukan dan berada dalam tahapan maintenance. Fungsinya adalah menjadi customer support, setelah masa pelepasan masuk kepada tahap produksi, XP harus tetap memelihara untuk memastikan sistem berjalan dengan sesuai. 6. Death Phase Fase ini dekat ketika konsumen sudah tidak memiliki cerita story untuk diimplementasikan lagi. Kebutuhan yang diinginkan konsumen sudah sesuai dengan apa yang diingikan. Pada tahap ini proses XP membutuhakn dokumentasi dari sistem secara final ditulis, dimana tidak ada lagi perubahan terhadap desain, arsitektur, maupun kode yang dibuat. Abrahamsson, 2002.

2.9.3 Agile

Extreme Programming Model pengembangan Agile merupakan “chaordic”, suatu praktek dalam proses perangkat lunak yang memiliki lingkup untuk menggambarkan bagaimana suatu model dan dokumentasi secara efektif dan secara tangkas. Salah satu tujuan dari Agile Modelling untuk mengatasi suatu masalah menggunakan teknik modeling dalam proyek perangkat lunak dengan pendekatan Agile seperti Extreme Programming. Karena cakupan dalam Extreme Programming lebih baik dari pada Agile Modelling dan Extreme Programming mencakup siklus pengembangan secara keseluruhan penuh. XP dapat menerapkan perancangan menggunakan UML, seperti activity diagram, class diagram, collaboration diagram, component diagram, deployment diagram, sequence diagram, statechart diagram , dan usecase diagram ketika berbicara pendekatan Extreme Programming dalam pembangunanya. Ambler, 2002, p. 177 181

2.9.4 Prinsip dan Teknik dalam Metode

Extreme Programming  Perencanaan : Menentukan lingkup iterasi berikutnya dengan bekerja sama dengan pelanggan yang memberikan prioritas bisnis dan dengan programmer yang memberikan perkiraan teknis .  Pelepasan kecil : Dapatkan sistem ke dalam produksi cepat . Ini merupakan faktor kunci dalam mendapatkan umpan balik pada perangkat lunak yang sebenarnya .  Metafora : Memahami bagaimana seluruh sistem bekerja . Hal ini penting bagi para pengembang dan pelanggan  Desain sederhana : Salah satu nilai utama adalah kesederhanaan . Sistem ini harus dirancang untuk fitur yang diimplementasikan saat ini , dan menambahkan fitur secara bertahap .  Pengujian : Pengujian meliputi unit test , yang programmer menulis dan tes penerimaan , yang pelanggan menulis . Tes adalah indikator penyelesaian .  Refactoring : Programmer bertanggung jawab untuk meningkatkan desain perangkat lunak yang ada tanpa mengubah perilakunya .  Pair Programming : Bekerja dengan pasangan adalah persyaratan ketika menulis kode produksi .  Kepemilikan Kolektif : Siapa saja di tim dapat mengubah setiap bagian dari sistem.  Continuous Integration : Programmer mengintegrasikan dan membangun perangkat lunak berkali-kali dalam sehari. Alnoukari, 2012, p. 20

2.9.5 User Story

Story card merupakan salah satu aspek yang sangat penting dalam XP. Mereka berperan penting dalam aturan dalam XP, story card menggambarkan fungsionalitas dalam suatu sisyem atau perangkat lunak yang akan dibangun dan itu akan sangat berguna bagi salah satu atau lebih dari pengguna perangkat lunak tersebut. User story tersusun dari beberapa aspek yaitu :  Penulis mendeskripsikan setiap cerita yang digunakan untuk perencanaan sebagai pengingat.  Percakapan perihal cerita memberikan semangat terhadap detail dari setiap cerita. Membangun sebuah software dimana mempertemukan setiap kebutuhan antara setiap stakeholder berserta ekspekstasinya merupakan sebuah tujuan utama dalam suatu metode pembangunan sistem. Masalah ini yang ditangkap oleh metode XP, dimana XP merekomendasikan secara langsung menyajikan kebutuhan melalui user stories pada story card. Chetankumar Patel, 2009, p. 3 Gambar 2.2 Contoh Traditional User Story User stories dibuat kapan saja oleh konsumen, user stories digambarkan melalui bahasa konsumen, menggambarkan apa yang sistem dapat lakukan. Setiap user stories memiliki nama, berisi paragraph singkat yang menggambarkan tujuan dari suatu cerita, perkiraan berapa lama itu bisa diimplementasi. Dalam pengertian secara umum user stories