Rekayasa Perangkat Lunak

CONTOH AGILE PROCESS

1. Adaptive Software Development (ASD)
Adaptive Software Development (ASD) diajukan oleh Jim Highsmith sebagai teknik untuk membangun software dan sistem yang kompleks. Filosofi yang mendasari Adaptive Software Development (ASD) adalah kolaborasi manusia dan tim yang mengatur diri sendiri. 

System kerja adaptive software development : Collaboration dan Learning
Adaptive cycle planning yaitu menggunakan informasi awal seperti misi dari klien, batasan proyek dan kebutuhan dasar untuk definisikan rangkaian software increment (produk software yang secara berkala diserahkan).
a.) Collaboration : orang-orang yang bermotivasi tinggi bekerja sama: saling melengkapi, rela membantu, kerja keras, trampil di bidangnya, dan komunikasikan masalah untuk hasilkan penyelesaian yang efektif.
b.) Learning: tim pembangun sering merasa sudah tahu semua hal tentang proyek, padahal tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih tentang proyek melalui 3 cara: 
- Focus group: klien dan pengguna memberi masukan terhadap software
- Formal Technique Reviews: Tim ASD lengkap melakukan review
- Postmortems: Tim ASD lakukan instrospeksi pada kinerja dan proses.


2. Dynamic system Development (DSD)
Dynamic System Development menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan. Metode ini akan membangun software dengan cepat: 80% dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek secara utuh.
Dynamic System Development dapat dikombinasikan dengan Extreme Programmning menghasilkan kombinasi model proses yang mengikuti Dynamic System Development Method dan praktek yang sejalan dengan Extreme Programmning.
Dynamic System Development memiliki beberapa aaktifitas seperti :
-  Feasibility study : siapkan requirement, dan batasan, lalu uji apakah sesuai gunakan proses DSDM
- Business Study: susun kebutuhan fungsional dan informasi, tentukan arsitektur aplikasi dan identifikasi kebutuhan pemeliharaan untuk aplikasi
-  Functional model iteration : hasilkan incremental prototype yang perlihatkan fungsi software ke klien untuk dapatkan kebutuhan lebih jelas dan konfirmasi
-  Design and Build Iteration : cek ulang prototype yang dibangun untuk pastikan bahwa prototype dibangun dengan cara yang memungkinkan fungsi tersebut benar-benar bekerja
-  Implementation: menempatkan software pada lingkungan sebenar sekalipun belum lengkap, atau masih ada perubahan.
 3. 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 dan XP adalah menekankan metodologi yang berbeda sepasang ujian dulu 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 memiliki prinsip yaitu:
-   Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain.
-   Proses 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.
Scrum memiliki aktifitas yang meliputi :
- Backlog      Backlog adalah daftar kebutuhan yang jadi prioritas klien, dan daftar yang dibuat  dapat bertambah.
- Sprints
     Aktifitas Sprints merupakanunit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang ditetapkan dalam backlog sesuai dengan waktu yang ditetapkan dalam time-box (biasanya 30hari). Selama proses ini berlangsung backlog tidak ada penambahan.
- Scrum Meetings      Aktifitas Scrum Meeting merupakan pertemuan yang rutin dilakukan perhari untuk evaluasi apa yang dikerjakan, hambatan yang ada, dan target penyelesaian untuk bahan meeting selanjutnya.
- Demo      Aktifitas Demo adalah penyerahan software increment ke klien didemonstrasikan dan dievaluasi oleh klien.
 4. Feature Driven Development

Feature Driven Development merupakan model proses praktis untuk keahlian proses software engineering, Feature merupakan sebuah fungsi  yang berharga dimana dapat dilaksanakan.
Keuntungan dari metode feature :
- User dapat menggambarkan dengan mudah bentuk system.
- Dapat di organisasikan atau diatur ke dallamkelompok bisnis yang hirarki.
- Desain dank ode lebih mudah diperiksa secara efektif.
- Merancang proyek, penjadwalan dan jalur diarahkan oleh feature.
 5. Agile Modeling 
Dalam situasi pembangunan software harus membangun sistem bisnis yang besar dan penting. Jangkauan dan kompleksitas sistem harus dimodelkan sehingga dapat dimengerti, masalah dapat dibagi menjadi lebih kecil dan kualitas dapat dijaga pada tiap langkah pembangunan
software. Agile Modeling adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan system software. Agile Modeling adalah kumpulan nilai-nilai, prinsip dan praktek-praktek untuk memodelkan software agar dapat diaplikasian pada software development proyek secara efektif.
Prinsip dalam Agile Modeling :
- Membuat model dengan tujuan: tentukan tujuan sebelum membuat model.
- Mengunakan multiple models: tiap model mewakili aspek yang berbeda dari model lain.
- Travel light: simpan model-model yang bersifat jangka panjang saja.
- Isi lebih penting dari pada penampilan: modeling menyajikan informasi kepada audiens yang tepat.
- Memahami model dan alat yang yang digunakan untuk membuat software.
- Adaptasi secara local.

6.  Lean software development (LSD)
Lean software development adalah suatu proses engineering yang digunakan untuk mengembangkan dan menghasilkan suatu software berkualitas tinggi yang telah terjamin kehandalannya sehingga tidak terjadi kegagalan dalam penggunaan software tersebut. Lean software development ini berpedoman pada pemahaman lapangan dan kesesuaian pelaksanaan prinsip  lean disepanjang seluruh proses pengembangan software. Slogan yang dipakai yaitu berpikir besar, bertindak kecil, gagal cepat, belajar cepat.
Lean dapat mereduksi waktu pengembangan software karena waktu pengembangan software dapat direduksi dengan cara mengurangi error pengerjaan software yaitu menggunakan tujuh prinsip Lean, yaitu: Eliminate Waste, Amplifying Learning, Decide As Late As Possible, Deliver As Fast As Possible, Empower The Team, Built Integrity, See The Whole.
7 Prinsip Lean Software Development (LSD) :
- Eliminate waste (Mengeliminasi Ketidak Effisienan).
- Amplify learning (Mengamplifikasi pembelajaran).
- Decide as late as possible (Menentukan keterlambatan sebagai hal yang mungkin).
- Deliver as fast as possible (Mengantarkan Secara cepat sebagai hal yang mungkin).
- Empower the team (Memberdayakan team).
- Build integrity in (Membangun integritas).
- See the whole (Melihat secara kesatuan/keseluruhan).

7.  Agile Unified Process (AUP)
Agile Unified Process (AUP) adalah versi sederhana dari IBM Rational Unified Process (RUP)
yang dikembangkan oleh Scott Ambler. Ini menggambarkan sederhana, mudah untuk memahami
pendekatan ke perangkat lunak aplikasi bisnis berkembang menggunakan teknik gesit dan
konsep namun masih tetap setia untuk RUP tersebut. AUP menerapkan teknik tangkas termasuk
pengembangan tes didorong (TDD), Agile Modeling, manajemen tangkas perubahan, dan
refactoring database untuk meningkatkan produktivitas. UP cukup fleksibel sehingga dapat
instantiated harus cukup tangkas. Bila ini adalah kasus, ketika Anda memiliki instantiated versi
ringan dari UP, maka UP dan AM sesuai sama dengan baik. Baik UP dan AM didasarkan pada
gagasan bahwa mayoritas perangkat lunak yang terbaik disampaikan iteratif dan bertahap.
Karena UP eksplisit mencakup disiplin pemodelan sangat mudah untuk mengidentifikasi mana
PM praktik harus digunakan untuk meningkatkan menyesuaikan Anda sendiri UP. Ini bekerja
ketika tim proyek dan para stakeholder proyek Anda memilih untuk membuatnya bekerja.
 
 
Sumber data :
en.wikipedia.org
wisnuramadhaniway.wordpress.com
www.mountaingoatsoftware.com
id.wikipedia.org
dwijaantara.wordpress.com
lpbd.si.fti.unand.ac.id
ciethiashifa.blogspot.com

0 komentar:

Posting Komentar