Anda di halaman 1dari 6

REKAYASA PERANGKAT

LUNAK
Agile Unified Process

Veronica
220310646
Agile Unified Process (AUP) adalah versi sederhana dari Rational Unified
Process (RUP) yang dikembangkan oleh Scott Ambler. Sama seperti Rational Unified
Process, pengembangan perangkat lunak tangkas mendukung perencanaan adaptif. Hal ini
juga mendorong pengembangan konstan dan perbaikan terus-menerus, pada gilirannya
mendorong respon langsung dan fleksibel terhadap perubahan.
Disebut demikian karena pendekatannya cukup gesit sehubungan dengan proyek
yang berbeda dan semua yang diperlukan; kebutuhan yang berbeda, parameter yang berbeda,
kemungkinan yang berbeda, risiko yang berbeda. Sebagian besar pengembangan perangkat
lunak tangkas dan AUP bersifat fleksibel dan dapat dengan mudah mengakomodasi
perubahan dan variasi.
Singkatnya AUP adalah pendekatan di mana upaya kolaboratif tim pengembangan
perangkat lunak dan pengguna akhir (konsumen) menentukan cara persyaratan dan solusi dari
pendekatan berkembang.
Pendekatan ini menerapkan teknik agile, termasuk Test-driven Development
(TDD), Agile Model Driven Development (AMDD), agile change management, dan
refactoring database untuk meningkatkan produktivitas. AUP menggunakan metode dan
pendekatan pengembangan perangkat lunak yang gesit yang secara fundamental berbeda dari
teknik RUP, tetapi entah bagaimana masih tetap setia pada fleksibilitas dan kemampuan
beradaptasi RUP.
AUP juga memiliki 6 filosofi dasar. Namun, itu bukan 'praktik terbaik' yang sama
dengan yang dilanggan RUP. Sebaliknya, 6 filosofi tersebut adalah:
 Staf Anda Tahu Apa yang Mereka Lakukan. Cukup jelas; AUP mengharuskan orang
yang menggunakannya benar-benar mengetahui dan memahami cara
menggunakannya. Dokumentasi proses terperinci tersedia untuk referensi, tetapi tidak
boleh digunakan sebagai panduan langkah demi langkah secara literal.
 Kesederhanaan. AUP menghargai ikhtisar yang ringkas dan ringkas daripada laporan
yang terlalu mendetail dan berulang yang tidak perlu
 Kelincahan. Proses Terpadu Agile menganut nilai dan prinsip pengembangan
perangkat lunak tangkas (yang akan kita bahas sebentar lagi) dan Aliansi Agile
 Fokus pada Aktivitas Bernilai Tinggi. Pengembang yang menggunakan metode AUP
hanya berkonsentrasi pada kegiatan yang benar-benar akan mendapatkan hasil,
daripada membagi fokus mereka di antara kegiatan, kontinjensi, dan kemungkinan.
 Kemandirian Alat. AUP tidak menentukan perangkat apa pun untuk penyelesaian
proyek, yang berarti pengembang bebas menggunakan apa pun yang mereka inginkan.
Sangat disarankan agar Anda menggunakan alat yang paling cocok untuk kebutuhan
spesifik pekerjaan. Dengan kata lain, di bawah AUP, alat dapat bervariasi dari satu
proyek ke proyek lainnya.
 Sesuaikan AUP untuk Memenuhi Kebutuhan Anda. Sama seperti RUP, AUP adalah
tentang mengadaptasi metode ke proyek – bukan sebaliknya. Apa pun kebutuhan
pengembangan perangkat lunak Anda, model AUP harus (idealnya) disesuaikan agar
sesuai dengan mereka.

Tahapan-tahpan yang ada pada AUP terdapat 4 fase yakni;

 Tahap awal (Inception) tujuannya adalah untuk mengidentifikasi ruang


lingkup awal proyek, arsitektur potensial untuk sistem, dan untuk
mendapatkan pendanaan awal proyek dan penerimaan pemangku kepentingan.
 Elaborasi (Elaborattion) tujuannya adalah untuk membuktikan arsitektur
sistem.
 Konstruksi (Construction) tujuannya adalah untuk membangun perangkat
lunak yang berfungsi secara teratur, incremental basis yang memenuhi
kebutuhan prioritas tertinggi dari para pemangku kepentingan proyek.
 Transisi (Transition) tujuannya adalah untuk memvalidasi dan menyebarkan
sistem ke lingkungan produksi.
Iterative in the Small dilakukan secara iteratif, mendefinisikan aktivitas yang dilakukan

anggota tim pengembangan untuk membangun, memvalidasi, dan memberikan perangkat

lunak yang berfungsi yang memenuhi kebutuhan pemangku kepentingan mereka. Disiplin

ilmu tersebut adalah:

 Model (Modeling) tujuan dari disiplin ini adalah untuk memahami bisnis organisasi,

domain masalah yang ditangani oleh proyek, dan untuk mengidentifikasi solusi yang

layak untuk mengatasi domain masalah.

 Penerapan (Implementation) tujuan dari disiplin ini adalah untuk mengubah model

Anda menjadi kode yang dapat dieksekusi dan untuk melakukan pengujian tingkat

dasar, khususnya pengujian unit.

 Uji (Testing) tujuan dari disiplin ini adalah untuk melakukan evaluasi yang objektif

untuk memastikan kualitas. Ini termasuk menemukan cacat, memvalidasi bahwa

sistem bekerja seperti yang dirancang, dan memverifikasi bahwa persyaratan

terpenuhi.

 Penyebaran (Deployment) tujuan dari disiplin ini adalah untuk merencanakan

pengiriman sistem dan melaksanakan rencana untuk membuat sistem tersedia bagi

pengguna akhir.

 Manajemen konfigurasi (Configuration Management) tujuan dari disiplin ini adalah

untuk mengelola akses ke artefak Anda. Ini tidak hanya mencakup pelacakan versi

artefak dari waktu ke waktu, tetapi juga mengontrol dan mengelola perubahannya.

 Manajemen proyek (Project Management) tujuan dari disiplin ini adalah untuk

mengarahkan kegiatan yang terjadi pada proyek. Ini termasuk mengelola risiko,

mengarahkan orang (menetapkan tugas, melacak kemajuan, dll.), dan berkoordinasi


dengan orang dan sistem di luar lingkup proyek untuk memastikan bahwa itu

disampaikan tepat waktu dan sesuai anggaran.

 Lingkungan (Environment Management) tujuan dari disiplin ini adalah untuk

mendukung upaya lainnya dengan memastikan bahwa proses, panduan (standar dan

pedoman), dan alat (perangkat keras, perangkat lunak, dll.) yang tepat tersedia untuk

tim sesuai kebutuhan.

Kelebeihan :

 Kepuasan pelanggan dengan pengiriman perangkat lunak yang bermanfaat secara


cepat dan berkelanjutan.
 Orang dan interaksi lebih ditekankan daripada proses dan alat. Pelanggan,
pengembang, dan penguji terus berinteraksi satu sama lain.
 Perangkat lunak yang berfungsi sering dikirimkan (berminggu-minggu, bukan
berbulan-bulan).
 Percakapan tatap muka adalah bentuk komunikasi terbaik.
 Kerja sama yang erat dan setiap hari antara pelaku bisnis dan pengembang.
 Perhatian terus menerus terhadap keunggulan teknis dan desain yang baik.
 Adaptasi reguler terhadap keadaan yang berubah.
 Bahkan perubahan persyaratan yang terlambat disambut
Kekurangan :

 Perencanaan sumber daya yang buruk karena AUP didasarkan pada gagasan bahwa
tim tidak akan tahu seperti apa hasil akhir mereka (atau bahkan beberapa siklus
pengiriman) sejak hari pertama, sulit untuk memprediksi upaya seperti biaya, waktu,
dan sumber daya yang dibutuhkan di awal dari sebuah proyek (dan tantangan ini
menjadi lebih jelas ketika proyek menjadi lebih besar dan lebih kompleks).
 Dokumentasi terbatas. Di AUP, dokumentasi terjadi di seluruh proyek, dan seringkali
"tepat pada waktunya" untuk membangun output, bukan di awal. Akibatnya menjadi
kurang detail dan sering jatuh ke bagian belakang burner.
 Keluaran terfragmentasi dikarenakan pengiriman tambahan dapat membantu
membawa produk ke pasar lebih cepat, tetapi ini juga merupakan kerugian besar dari
metodologi AUP. Itu karena ketika tim bekerja pada setiap komponen dalam siklus
yang berbeda, hasil yang lengkap seringkali menjadi sangat terfragmentasi daripada
satu unit yang kohesif.
 Fakta bahwa AUP membutuhkan perencanaan minimal di awal membuatnya mudah
teralihkan dengan menghadirkan fungsionalitas baru yang tidak terduga. Selain itu, ini
berarti bahwa proyek tidak memiliki akhir yang terbatas, karena tidak pernah ada visi
yang jelas tentang seperti apa "produk akhir".
 Pengukuran yang sulit karena AUP memberikan secara bertahap, pelacakan kemajuan
mengharuskan Anda untuk melihat seluruh siklus. Dan sifat "see-as-you-go" berarti
Anda tidak dapat menetapkan banyak KPI di awal proyek.

Agile Unified Process (AUP) telah dikenal sebagai metodologi yang cocok untuk
proyek pengembangan perangkat lunak kecil-menengah. Metodologi ini berfokus pada iterasi
yang cepat, rilis kecil dan sering, mampu menangani perubahan kebutuhan dari pengguna,
dan melibatkan pengguna dalam proses pengembangan perangkat lunak. Namun, sedikit yang
diketahui bahwa AUP dapat digunakan secara efektif untuk persyaratan sistem yang tidak
jelas dan tidak lengkap.

Anda mungkin juga menyukai