Perbandingan UP, XP, SCRUM, AGILE

Hi blogger, daripada tugas kuliah cuma teronggok di laptop, mendingan di tulis aja nih di blog. selamat membaca..

1. UP

Unified Process (UP) merupakan suatu metode pembangunan sistem secara objek oriented yang dikembangkan  oleh Rational Rose, bagian dari IBM. Secara luas, UP telah diakui sebagai standar metodologi pengembangan sistem berorientasi objek. Vesri alsi dari UP didefinisikan sangat rumit untuk setiap kegiatan. Namun versi terbaru dari UP yakni metodologinya lebih sederhana. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perangkat lunak.

UP tepat digunakan saat kondisi:

  • Pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified  Modeling Language )
  • Mempunyai waktu pengembangan yang panjang
  • Dikembangkan pada perangkat lunak sebagai sarana interaksi antara pengguna dan perangkat keras
  • Mempunyai tim programmer  yang cukup banyak
  • Pengembangan dan perubahan perangkat lunak berdasarkan kebutuhan user

Keuntungan Pengembangan Perangkat Lunak RUP :

Ada beberapa keuntungan dengan mengunakan RUP di antaranya :

  1. Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
  2. Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
  3. Mendukung proses pengulangan dalam pengembangan software.
  4. Memungkinkan adanya penambahan-penambahan pada proses.
  5. Memungkinkan untuk secara sistematis mengontrol perubahan- perubahan yang terjadi pada software selama proses pengembangannya.
  6. Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test Manager Tool

Kekurangan Pengembangan Perangkat Lunak RUP :

  • Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
  • Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum

2. XP

XP merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software“. Model ini cenderung menggunakan pendekatan Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing. Sasaran Extreme Programming adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat cepat. Extreme Programming merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.

XP tepat digunakan saat kondisi

Keperluan berubah dengan cepat
Resiko tinggi dan ada proyek dengan tantangan yang bar
Tim programmer sedikit, yaitu 2-10 orang
Mampu mengotomatiskan tes
Ada peran serta pelanggan secara langsung

Kelemahan XP:

  • Cerita-cerita yang menunjukkan requirements 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. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

3. Agile Modeling

Agile Modeling merupakan filosofi tentang bagaimana membangun model, dengan beberapa diantaranya dilakukan secara format dan terperinci dan yang lainnya dilakukan secara samar dan minim. Agile Software Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software.

Kelebihan dari Agile Modeling:

  1. Meningkatkan kepuasan kepada klien
  2. Pembangunan system dibuat lebih cepat
  3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
  4. Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.

Kelemahan dari Agile Modeling:

Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

4. SCRUM

Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan dikembangkan selanjutnya dilakukan oleh Schwaber dan Beedle. Pada dasarnya Scrum merupakan salah satu komponen dari metodologi pengembangan Agile mengenai pertemuan harian untuk membahas kemajuan sedangkan XP adalah menekankan metodologi yang berbeda yaitu ujian, pemrograman dan pembangunan. Scrum menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan. XP lebih lanjut tentang pengembang membantu menyelesaikan pekerjaan secepat dan maintainably mungkin

Scrum merupakan suatu kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada tim pengembangan perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang mereka disajikan. Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the Scrum team. Scrum Master dapat dianggap sebagai pelatih bagi tim, membantu anggota tim menggunakan kerangka Scrum untuk tampil di tingkat tertinggi. Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pegembangan produk yang tepat. Sedangkan The Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek yang sangat besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-grup kecil. Jika sangat dibutuhkan the scrum master juga dapat ikut membantu dalam koordinasi team.

Scrum tepat digunakan saat kondisi:

  • Keperluan berubah dengan cepat
  • Tim programmer sedikit, yaitu 5-9 orang
  • Pelanggan tidak terlalu paham dengan apa yang diinginkan

Scrum memiliki prinsip yaitu:

  • Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lainProses dapat beradaptasi terhadap perubahan teknis dan bisnis
  • Proses menghasilkan beberapa software increment
  • Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
  • Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
  • Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan

Kelebihan Scrum antara lain:

  • Keperluan berubah dengan cepat
  • Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
  • Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
  • Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
  • Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan

Kelemahan Scrum antara lain:

Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

Kesimpulan

”manakah  metode  yang  paling  baik?”  mungkin ini adalah pertanyaan yang kurang tepat – hidup (proyek) kadang jauh lebih rumit dari yang kita perkirakan.   Semua metode-metode yang ada jika ditempatkan pada proyek yang tepat pasti akan menghasilkan sebuah produk yang berkualitas dan bersaing. Sebaliknya jika ditempatkan pada proyek yang salah karena kesalahan analisa proyek, bisa jadi akan memakan biaya waktu dan uang yang jauh lebih besar dari yang diperkirakan.  Kebijakan manajemen proyek dalam memilih metode dapat memberikan solusi yang lebih baik dan murah. Banyak aspek yang bisa dijadikan sebagai pertimbangan untuk memilih metode ini.  Diantaranya seperti dari sisi planing dan analisa system, timeline, resiko, komposisi tim, ukuran tim, budget, waktu serta masih banyak lagi aspek lainnya.

Referensi

Beck, Kent. Extreme Programming Explained: Embrace Change. Addison-Wesley,1999.

Satzinger, John, et al. 2007 System Analys and Design, 5th Ed., Thomson Course tech., Canada.

Website: www.xprogramming.com

download document

Joshua Partogi

Halo. Banyak yang perlu ditelaah lebih lanjut dan harus bersifat objektif.

Seperti kenapa kelemahan XP dianggap sebagai kelemahan? Bagi pengguna XP, justru ini adalah kelebihan.

Lalu anggapan kalau Scrum dan XP hanya cocok untuk digunakan di tim kecil. Sudah banyak literatur mengenai penggunaan Scrum dan XP di tim skala besar.

Lalu kelemahan Scrum kenapa dianggap sebagai sebuah kelemahan?

Your email address will not be published. Required fields are marked *

*