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