Unified Process (UP) atau kadang disebut sebagai Unified Software Development
Process (USDP) adalah: kerangka proses pengembangan yang bersifat use-case-driven,
berpusat pada arsitektur perangkat lunak, interatif dan tumbuh-kembang (Alhir, 2005).
Kerangka pengembangan ini termasuk baru dalam metodologi pengembangan perangkat
lunak. UP dapat diaplikasikan pada berbagai skala proyek, kecil maupun besar.
Daur hidup UP secara umum akan tampak seperti pada bagan di gambar 2.6. Bagan
ini biasa disebut sebagai "hump chart". Pada bagan ini terlihat ada empat tahap
pengembangan, yaitu:inception, elaboration, construction dan transition. Selain itu tampak
pula sejumlah aktivitas (disciplines) yang harus dilakukan sepanjang pengembangan
perangkat
lunak,
yaitu: business
modeling,
requirements,
analysis
and
design,
implementation, test. Tahap dan aktivitas tersebut akan dilakukan secara iteratif (Ambler,
2005).
Inception: Tahapan ini merupakan tahapan paling awal, dimana aktivitas penilaian
terhadap sebuah proyek perangkat lunak dilakukan. Tujuannya adalah untuk
mendapatkan kesepakatan dari stakeholder sehubungan dengan tujuan dan dana
proyek.
Elaboration: Tujuan dari tahap ini adalah untuk mendapatkan gambaran umum
kebutuhan, persyaratan, dan fungsi-fungsi utama perangkat lunak. Hal ini penting
untuk mengetahui secara lebih baik resiko-resiko proyek, baik meliputi resiko
arsitektur perangkat lunak, perencanaan, maupun implementasi. Pada tahap ini telah
dimulai rancang bangun perangkat lunak secara iterative melalui aktivitas-aktivitas
seperti business modeling, requirements, analysis dan design, meskipun baru pada
tahap awal.
Construction: Tujuan dari tahapan ini adalah membangun perangkat lunak sampai
dengan saat perangkat lunak tersebut siap digunakan. Titik berat tahapan ini adalah
Dalam pengembangan perangkat lunak dengan menggunakan UP, maka tidak lepas dari
penggunaan notasi-notasi yang biasa disebut sebagai UML (Unified Modeling Language).
Meskipun UP mensyaratkan penggunaan UML, namun UML sendiri dapat digunakan pada
berbagai metodologi yang lain bahkan dapat digunakan pada bidang selain sistem informasi.
UML, adalah bahasa pemodelan standar atau kumpulan teknik-teknik pemodelan untuk
menspesifikasi, mem-visualisasi, meng-konstruksi, dan mendokumentasi hasil kerja dalam
pengembangan perangkat lunak (Fowler, 2004). UML lahir dari penggabungan banyak
bahasa pemodelan grafis berorientasi obyek yang berkembang pesat pada akhir tahun 1980an
dan awal 1990an.
Secara sederhana, UML digunakan untuk menggambar sketsa sistem. Pengembang
menggunakan UML untuk menyampaikan beberapa aspek dari sebuah perangkat lunak
melalui notasi grafis. UML mendefinisikan notasi dan semantik. Notasi merupakan
sekumpulan bentuk khusus yang memiliki makna tertentu untuk menggambarkan berbagai
diagram piranti lunak, dan semantik mendefinisikan bagaimana bentuk-bentuk tersebut dapat
dikombinasikan. Ada beberapa jenis diagram yang disediakan dalam UML, antara lain
adalah:
XP
dikembangkan
oleh
Beck, Cunningham,
dan
perangkat
Jeffries
lunak
Kekurangan :
User story kemungkinan besar tidak lengkap sehingga Developer harus selalu siap
dengan perubahan karena perubahan akan selalu diterima.
Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran
untuk melakukan apa yang diperlukan hari itu juga).
XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satusatunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
Core Value XP
Komunikasi (Communication)
Kesederhanaan (Simplicity)
XP melakukan semua dengan sederhana dan praktis tanpa mengurangi fungsi utamanya.
Diusahakan mengunakan method yang pendek dan simpel, jangan terlalu rumit dalam
membuat desain, hilangkan fitur yang tidak ada gunanya atau menghapus fungsi yang tidak
terpakai. Dengan kata lain lebih baik melakukan hal yang sederhana saat sekarang (sesuai
kebutuhan) dan mengembangkannya besok jika diperlukan.
Selalu mengevaluasi perkembangan terhadap perangkat lunak yang sedang dikerjakan, segala
informasi harus dikumpulkan setiap interval waktu yang konsisten dan diskusikan kesalahan-
kesalahan yang muncul selama proses pengembangan. Umpan balik tersebut berfungsi
sebagai
indikator
kemajuan
proyek
dan
menginformasikan
pemimpin
Keberanian (Courage).
Programmer XP didorong untuk berani bereksperimen dan menulis ulang kode jika mereka
tidak puas dengan kode yang sudah ada atau desain. Hal ini membantu mempertahankan
moral serta intgritas para pengembang proyek dan dapat mendukung lebih lanjut komunikasi
dengan anggota proyek lainnya.
Tahapan XP
Planning, Aktivitas planning dimulai dengan membentuk user stories. Anggota XP team
kemudian menilai setiap story dan menentukan cost diukur dalam development week.
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 :
Semua
story
segera
diimplemetasikan
(dalam
beberapa
minggu)
Story dengan value tertinggi akan dipindahkan dari jadwal dan dimplementasikan pertama.
Story dengan resiko paling tinggi akan diimplemetasikan lebih dulu. Setelah project pertama
direlease dan didelivery, XP team memperhitungkan kecepatan project. Selama development,
customer dapat menambah story, merubah value, membagi story atau menghapusnya.
Design. XP menggunakan CRC card, untuk mengenali dan mengatur object oriented class
yang sesuai dengan software increment.
Coding. Sebelum membuat code, lebih baik membuat unit test tiap story untuk dimasukkan
dalam software increment. XP menyarankan agar dua orang bekerja bersama pada satu
komputer workstation untuk membuat code dari satu story (pair programming), untuk
menyediakan real time problem solving dan jaminan real time quality. Setelah pair
programming selesai, code diintegrasikan dengan kerja laiinnya (continuous integration).
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.
Artefak XP
Siklus Hidup
fleksible, strategi pengembangan yang menyeluruh di mana seluruh team bekerja sebagai satu
unit dalam mencapai sebuah gol yang sama.
Dalam menjalankan kerjasama antara anggota team, scrum menekankan lokasi fisik yang
sama atau sarana online yang akrab antara semua member, dan juga pertemuan muka dengan
muka setiap hari antara semua anggota team.
Prinsip kunci dari scrum adalah memahami bahwa dalam project yang tengah berlangsung,
klien mungkin mengubah apa yang menjadi kebutuhan dan keinginannya. Perubahan sulit
diadaptasi oleh framework pengembangan aplikasi yang bersifat tradisional. Scrum
menerima perubahan ini dan memaksimalkan seluruh anggota team untuk menyesuaikan
perubahan mendadak ini.
Scrum mengadopsi permainan Rugby yang begitu mudah menyesuaikan diri semua anggota
team setelah ada sedikit pelanggaran. Kemudian menyesuaikan diri inilah yang mengimpirasi
scrum.
Scrum mempunyai 3 Role
1. Product Owner
Pengertian produk adalah tujuan dari proyek. Product Owner memastikan bahwa
proyek berjalan sesuai yang diharapkan. Product Owner merupakan penjembatan
antara client dengan team development. Product Owner akan menuliskan spesifikasispesifikasi sesuai cara pandang client, di lain pihak harus punya empati terhadap
anggota team.
2. Team Member
Dilihat dari namanya jelas yaitu anggota-anggota team.
3. Scrum Master
Scrum Master akan mencegah hal-hal yang mengalihkan focus team. Scrum master
akan membuat suasana kondusif supaya team dapat bekerja sama dalam mencapai
goal.
Event penting dalam Scrum adalah sprint/iteration. Sprint merupakan unit dasar dalam
development dengan Scrum. Sprint merupakan jangka waktu yang dibatasi pada suatu durasi
1 minggu, 2 minggu atau 1 bulan. Setiap sprint dimulai dengan planning meeting dan diakhiri
dengan sprint review dan retrospective meeting.
mendapatkan
gambar
seperti
berikut
Referensi:
http://www.idea.org/blog/2005/12/02/adaptive-vs-predictive-is-the-end-clear/
http://sahrirzul.blogspot.co.id/2013/12/pengertian-dari-unified-process-dan.html
https://keinatralala.wordpress.com/2013/12/13/metodologi-extreme-programming/
ini:
http://www.proweb.co.id/articles/erp/pengertian_scrum.html