Nama Anggota Kelompok :
1.
Baiq Alung Septiya Nirmala (F1D016014)
2.
Hani Noviawati (F1D016036)
Feature
Driven Development (FDD)
merupakan pendekatan yang mengacu pembuatan sistem menggunakan metode yang
mudah dimengerti dan mudah diimplentasikan,
teknik problem solving, dan pelaporan yang mudah
dimengerti dan dikontrol oleh stakeholders.
Menurut
Palmer (2001), FDD adalah proses yang didesain dan
dilaksanakan untuk menyajikan (deliver) hasil kerja secara
berulang-ulang dalam waktu tertentu dan dapat diukur.
Nilai-nilai Utama
Menurut Calberg, nilai-nilai utama yang
terkandung dalamFDD sehingga FDD mampu memberikan nilai lebih bagi proses
pengembangan software adalah:
1.
Tangible
results rather than Process Pride
Proses
dalam FDD lebih mengutamakan memberikan nilai-nilai yang dapat diukur daripada sederet
proses yang rumit dan menghabiskan banyak tenaga dan sumber daya.
2.
A system for
building system is necessary
Sangat
penting untuk membentuk sebuah sistem yang solid dan rapi untuk membuat sistem (software)
bekerja sesuai dengan yang diharapkan.
3.
Simple is
better
Desain
yang dibuat harus sesederhana mungkin namun mampu menggali semua requirement yang disyaratkan oleh
klien.
4.
Process steps
should be obviously valuable to each team member
5.
Good
processes move to the background
Enam Pemeran Utama
Menurut
Palmer dan Flesing (2001), Calberg, Abrahamsson dan Juhani (2002)
setiap proses dalam FDD melalui orangorang di dalamnya dan kelebihan serta
kekurangan setiap orang sangat berpengaruh pada keluaran proyek, terdapat 6 pemeran
utama proses FDD yaitu:
1.
Project
Manager berperan sebagai
pemimpin administratif terhadap budget, orang-per-orang dan laporan
pencapaian, mengoperasikan sistem proyek serta melindungi pekerja dari gangguan
luar.
2.
Chief
Architect berperan sebagai
penanggung jawab desain sistem secara keseluruhan, menjalankan workshop desain,
dan mengarahkan proyek terkait kendala teknis.
3.
Development
Manager berperan sebagai pemimpin
pengembangan dari hari-ke-hari, mengatasi konflik sumberdaya, biasanya juga dikombinasikan
dengan Project Manager dan Chief Architect.
4.
Chief
Programmer adalah developer yang
berpengalaman memimpin grup kecil dari sekumpulan developer individual.
5.
Class
Owner adalah developer individual
yang mendesain, mengkodekan dan menguji dan mendokumentasikan fitur.
6.
Domain
Expert yaitu user, klien,
sponsor dll. Dikenal baik oleh developer.
Selain enam pemeran
utama tersebut diatas juga terdapat pemeran pembantu seperti domain manager,
release manager, language guru, bild engineer, toolsmith, dan systemadministrator.
Selain itu juga terkadang cukup membantu adalah tester, deployer, dan
technical writer.
Lima
Proses Feature Driven Develpoment (FDD)
FDD
terdiri dari 5 proses berurut selama mendesain dan mebangun sistem, yaitu :
1. Build an Overall Model
Ketika fase ini
dimulai, Domain Expert telah menyadari scope, konteks dan requirement
dari sistem yang akan dibangun. [4] Pembuatan dokumen requirement seperti
use case atau spesifikasi fungsional ada dalam fase ini. Namun FDD tidak secara
eksplisit menggali, mencari dan mengatur requirement ini. Domain expert
menyajikan apa yang disebut “walkthrough” yang mana anggota tim dan
Chief Architect diinformasikan dengan deskripsi level tinggi dari sistem.[6]
2. Build a Feature List
Walkthrough,
object model dan dokumentasi requirement yang ada memberikan dasar
yang kuat dalam membangun feature list
yang komprehensif untuk sistem yang dikerjakan. Feature list adalah yang
dilihat oleh user atau sponsor untuk validitas dan kelengkapan. Feature dalam
hal ini adalah langkah-langkah aktifitas bisnis, berbasis customer bukan teknologi.
3. Plan by Feature
Dalam
fase ini, Project Manager, Development Manager dan Chief Programmer
merencanakan urutan feature-feature yang akan dikerjakan dengan demikian class owenership telah dilengkapi.
4. Design by Feature dan Build
by Feature
Sekelompok
kecil fitur diambil dari feature set dan diperlukan feature team untuk
membangun fitur terpilih yang disebut sebagai class owner. Proses design
by feature dan build by feature bersifat iteratif selama fitur yang dipilih
tersebut diproduksi. Satu kali iterasi memerlukan waktu beberapa hari sampai 2 minggu.
Proses iteratif ini mencakup beberapa tugas seperti inspeksi rancangan,
pengkodean, pengujianunit, integrasi dan inspeksi kode seperti yang dijelaskan pada
gambar berikut.
Kelebihan
dan Kekurangan Feature Driven
Develompment (FDD)
Kelebihan :
1. User dapat menggambarkan dengan mudah
bentuk sistem yang akan dibuat.
2. Dapat
diorganisasikan atau diatur ke dalam kelompok bisnis sesuai hierarki yang ada.
3. Desain
dan kode lebih mudah diperiksa secara efektif.
4. Perancangan proyek, biaya pembuatan
dan jadwal rilis ditentukan oleh fiturnya.
Kekurangan :
1.
Jumlah pekerja
dalam project tersebut
FDD
memerlukan jumlah pekerja/personel yang cukup banyak, yang dipecah-pecah ke
dalam masing-masing bagian. Maka semakin banyak pula biaya yang dikeluarkan
untuk membayarkan hak mereka.
2.
Masalah class ownership dari feature dalam FDD
Dalam FDD dikenal dengan class ownership,
dimana tiap feature akan ditangani oleh tiap Class owners.
3. Lebih
menekankan pengembang dengan keterampilan tinggi dan sulit untuk mencari
pengembang dengan kriteria tersebut.
Perbandingan
dengan Metode Extreme Programming
Karakteristik
Menurut Calberg,
penggunaan FDD sebaiknya digunakan
Jika
mempekerjakan
10 – 250 developer yang memiliki kemampuan
teknis lebih dari rata-rata, dan jangan digunakan
jika
jumlah tim kurang dari 10, tim sedang belajar menguasai pekerjaan dan jika
kurang dukungan dari sistem. FDD lebih terhirarki daripada Extreme Programming,
memiliki class owenership yang terpisah-pisah, sukses jika dalam rentang jumlah
developer diatas rata-rata, klien tidak dilibatkan dalam seluruh urutan proses
(hanya dalam proses 1, 2 dan 4) dan menghargai developer sebagai individu manusia yang
menentukan sukses atau tidaknya pengembangan.
Kesimpulan
Metode FDD
memiliki proses dengan tingkat hirarkis yang tinggi sehingga setiap proses
merupakan rangkaian tugas yang baku dan klien hanya berperan dalam sebagian
proses saja tidak dalam
keseluruhan proses. Fleksibilitas dan kemampuannya menghadapi perubahan masih
bisa dilakukan walaupun melalui proses iteratif yang panjang karena melampau
beberapa prosedur sampai feature diberikan ke klien. Pengubahan feature hanya
dapat dilakukan hanya pada proses pertama dan secara keseluruhan hanya mampu memberikan
penambahan kurang dari 10%. Dibandingkan dengan Extreme Programming, FDD
terlalu banyak memberikan pemodelan daripada langsung melakukan pengkodean
membuat hasil akan terlihat dalam waktu yang lama, walaupun hal ini memberikan
keuntungan untuk proyek dengan
skala dan kerumitan lebih besar.
Referensi
1. Setiyawan, Muhammad.2019.Implementasi
Gamification pada Aplikasi Perkuliahan Mahasiswa dengan Metode Feature Driven
Development (Studi Kasus: AMIK Cipta Darma Surakarta).
2. Dwijantara. 2010. Agile Methodology.
3. Arimbawa , I Wayan Agus. Feature Driven
Development dan Agile Method.
No comments:
Post a Comment