Agile Unified Process

Agile Unified Process (AUP) adalah versi sederhana dari Rational Unified Process (RUP) yang dikembangkan oleh Scott Ambler. AUP menjelaskan pendekatan yang sederhana, mudah dipahami untuk mengembangkan perangkat lunak aplikasi bisnis menggunakan teknik dan konsep agile namun masih tetap berlaku untuk RUP. Pendekatan ini menerapkan teknik agile, termasuk Test-driven Development (TDD), Agile Model Driven Development (AMDD), agile change management, dan refactoring database untuk meningkatkan produktivitas. Agile Unified Process (AUP) mengadopsi filosofi “serial in the large” dan “iterative in the small” untuk membangun sistem berbasis komputer. Dengan mengadopsi tahapan kegiatan klasik Unified Process — permulaan (inception), elaborasi (elaboration), konstruksi (construction), dan transisi (transition) — AUP menyediakan lapisan serial yang memungkinkan tim memvisualisasikan alur proses keseluruhan untuk proyek perangkat lunak. Namun, dalam setiap kegiatan, tim melakukan iterasi untuk mencapai agility dan untuk memberikan software increment yang bermakna kepada pengguna akhir secepat mungkin. Alih-alih menggunakan pendekatan "big bang" di mana pengembang memberikan perangkat lunak sekaligus, pengembang justru melepaskannya menjadi bagian-bagian produksi. Tim AUP biasanya mengirimkan rilis pengembangan pada akhir setiap iterasi ke tahap area pra-produksi (pre-production). Rilis pengembangan suatu aplikasi adalah sesuatu yang berpotensi dilepaskan ke dalam tahap produksi jika harus melalui jaminan kualitas pra-produksi (Quality Assurance), pengujian (testing), dan proses penyebaran (deployment). Rilis produksi pertama sering kali lebih lama untuk disampaikan daripada rilis berikutnya; dalam rilis pertama dari suatu sistem, mungkin perlu mendapatkan banyak "plumbing" di tempat dan tim kemungkinan belum "gelled" namun memungkinkan mereka untuk menjadi efisien dalam kolaborasi. Rilis produksi pertama mungkin membutuhkan dua belas bulan untuk mengirimkan, rilis kedua sembilan bulan, dan kemudian rilis lainnya dikirimkan setiap enam bulan. Fokus awal pada masalah penyebaran tidak hanya memungkinkan untuk menghindari masalah, tetapi juga memungkinkan untuk memanfaatkan pengalaman selama pengembangan. Misalnya, ketika menggunakan perangkat lunak ke area staging, tim pengembang harus mencatat apa yang berhasil dan apa yang tidak, catatan yang dapat berfungsi sebagai tulang punggung skrip instalasi tim AUP.