FEATURE DRIVEN DEVELOPMENT
Nama Kelompok :
- Medeline Widia Andani (F1D016053)
- Yayank Muhammad Abdussyakur (F1D016087)
1. Feature Driven Development (FDD)
Di
tahun 1997, Jeff De Luca memperkenalkan metode proses dalam pengerjaan software
tersebut sebagai “metode Coad”. Yang menjadi focus dalam metode Coad adalah
sebuah analisis dalam dokumen yang disebut “fitur (Feature)”. Fitur-fitur
tersebut terdengar sebagai sebuah requirement menggunakan Bahasa domain yang
dapat dimengerti oleh sponsor proyek. Konsep fitur tersebut ditunjukan agar
setiap fitur yang telah dituliskan membuat sponsor proyek mengerti arti fitur
dan dipastikan masuk ke dalam domain sistem. Pertemuan para pemikir software
engineering pada tahun 2001 menghasilikan manifesto yang dikenal dengan Manifesto
for Agile Software Development, dengan isi termasuk diantaranya FDD sebagai
salah satu metode yang dikenal sebagai Agile Bersama metode lainya seperti
Scrum, Extreme Programming atau Adaptive Software Development. FDD
adalah proses yang didesain dan dilaksanakan untuk menyajikan (deliver) hasil
kerja secara berulang-ulang dalam waktu tertentu dan dapat diukur. FDD adalah
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. Kunci utama dari kebanyakan
metode Agile adalah bagaimana pedenfinisian nilai yang dapat langsung dikenali
klien.[2]
FDD (Feature Driven Development) adalah model
pengembangan perangkat lunak yang sangat adaptif yang berfokus pada kualitas
selama fase pengembangan. Seperti namanya, fitur merupakan aspek yang sangat
penting dari FDD. Namun FDD terutama berfokus pada fase desain dan bangunan.
FDD merupakan metode yang mengembangkan hasil nyata dan memberikan informasi
kemajuan dan status tentang proyek. [1]
FDD terdiri dari 5 proses berurut selama mendesain dan membangun sistem. Proses FDD yang interaktif dalam mendesain dan membangun (design and build) mendukung metode Agile dengan adaptasi yang cepat terhadap perubahan requirement dan kebutuhan bisnis, kelima proses tersebut adalah :
ketika fase ini dimulai, Domain Expert telah menyadari scope, konteks dan requirement dari sistem yang akan dibangun. 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.Domain keseluruhan (overal domain) lebih lajut dibagi kedalam area domain yang berbeda sedangkan walkthrough yang lebih detail deberikan oleh anggota domain. Kemudian anggota tim developer bekerja dalam grup-grup kecil untuk mengerjakan project model dari domain area yang telah diterima.
2. Tahapan Feature Driven Development (FDD)
Gambar 1. Tahapan Feature Driven Development
FDD terdiri dari 5 proses berurut selama mendesain dan membangun sistem. Proses FDD yang interaktif dalam mendesain dan membangun (design and build) mendukung metode Agile dengan adaptasi yang cepat terhadap perubahan requirement dan kebutuhan bisnis, kelima proses tersebut adalah :
Develop an overall model
Build a features list
Dalam
daftar (list), tim menyajikan masing-masing client valued functions ke dalam
sistem. Fungsi-fungsi tersebut dibagikan kepada masing-masing domain area dan
masing-masing grup dari fungsi tersebut disebut sebagai major feature set. Sebagai
tambahan, major feature sets kemudian dibagi lagi menjadi feature sets. Ini
merepresentasikan aktifiti yang berbeda di setiap domain area. Feature list
adalah yang dilihat oleh user atau sponsor untuk validitas dan kelengkapan
mereka.Feature dalam hal ini adalah langkah-langkah aktifitas bisnis, berbasis
customer bukan teknologi. Bahasa yang digunakan mencakup bahasa yang dimengerti
oleh customer.
Plan by Features
mencakup
perencanaan pada level yang lebih tinggi, dimana feature set diatur sedemikian
rupa sesuai dengan prioritas dan hubungannya. Prioritas ditentukan sesuai
dengan kebutuhan customer yang disetujui oleh Chief Programmer. Dalam fase ini,
Project Manager, Development Manager dan Chief Programmer merencanakan urutan
feature-feature yang akan dikerjakan dengan demikian class owenership telah
dilengkapi.
Design by Features dan build By Features
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, pengujian unit, integrasi dan inspeksi kode
Karakteristik
Menurut Calberg,
penggunaan FDD sebaiknya digunakan jika; memekerjakan 10 – 250 developer yang
memilikib 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.[3]
3. PERBEDAAN DENGAN METODE LAINYA
Pada
penelitian sebelumnya metode FDD (Feature Driven Development) di gunakan untuk
melakukan proses perbandingan dengan Agile Extreme Programming (XP), sehingga
disimpulkan bahwa, terdapat beberapa kelemahan FDD dibandingkan dengan metode
XP, adalah sebagai berikut
Gambar 2. Perbedaan FDD dengan XP.
Dari tabel di atas dapat disimpulkan bahwa, Beberapa kelemahan FDD dibandingkan dengan metode XP, adalah sebagai berikut :
- Karena FDD menggunakan sifat individual dari kepemilikan proses, maka dapat terjadi saling tunggu antara feature yang terkait.
- FDD lebih menekankan kepada developer yang mempunyai skill di atas rata-rata, sedangkan pada kenyataanya, susah untuk mengumpulkan beberapa developer yang mempunyai skill di atas rata-rata.
- Peran serta clien hanya pada beberapa tahapan saja.
- Perubahan feature hanya dapat dilakukan pada proses 1 saja, apabila dipaksakan melakukan perubahan fitur di tahap yang lain, maka hanya bisa dilakukan dengan presentasi perubahan kurang dari 10%.
- Karena jumlah jam kerja dari FDD yang tidak terikat, maka kemungkinan pada saat di tengah-tengah jadual, para developer bekerja tidak optimal dan di akhir jadwal akan bekerja extra keras. [3]
4. Kelebihan dan Kekurangan
Metode FDD (Feature Driven Development) memiliki kelebihan dan kekurangan diantaranya :\
Kelebihan :
- Proses dalam metode FDD mengutamakan sesuatu yang dapat diukur ketimbang proses-proses perancangan yang rumit dan menghabiskan waktu, sumber daya, dan biaya. Pada saat merancang proyek, penjadwalan langsung diarahkan ke dalam bentuk fitur
- Sistem yang dibangun harus rapi dan kuat agar para pengembang dapat bekerja dan menghasilkan sebuah sistem yang diharapkan oleh klien.
- Perancangan dibuat sesederhana mungkin, tetapi dapat memenuhi semua persyaratan yang diberikan oleh klien sehingga mereka mendapatkan gambaran sistem dengan mudah.
- Setiap langkah atau proses selama pengembangan sistem harus dapat dinilai dan terukur bagi para pengembang sistem. Selain itu, desain kode juga menjadi lebih mudah dan efektif pada saat pemeriksaan.
- Semua proses lebih baik dikerjakan di belakang sehingga pengerjaan dengan metode FDD terlihat lebih sederhana.[4]
Kekurangan :
- Lebih menekankan pengembang dengan keterampilan tinggi dan sulit untuk mencari pengembang dengan kriteria tersebut.
- Membutuhkan jumlah pekerja yang banyak (10-250 orang) yang dibagi ke dalam beberapa divisi. Semakin banyak pekerja, biaya yang dikeluarkan semakin tinggi.
- Dalam FDD terdapat class owner yang menangani setiap fitur. Masalahnya adalah ketika fitur A memiliki dependensi terhadap fitur B dan fitur B mengalami perubahan, fitur A harus menunggu kepastian dari fitur B yang menyebabkan mundurnya jadwal proyek.
- Pada intinya, FaDD bersifat individual, maka dapat terjadi saling tunggu antar fitur yang terkait. FDD membatasi penambahan fitur kurang dari 10% dari total waktu, biaya, dan kualitas. Perubahan fitur hanya dilakukan pada sebuah proses dan keterlibatan klien hanya pada beberapa tahapan.
- Jumlah jam kerja FDD tidak terikat sehingga dapat menyebabkan para pengembang tidak bekerja secara optimal di pertengahan, tetapi pada akhir jadwal mereka akan bekerja lebih ekstra.[4]
5. Karakteristik Aplikasi
- Cocok digunakan pada aplikasi dengan skala yang cukup besar
- Penggunaan aplikasi FDD sebaiknya digunakan jika mempekerjakan 10-250 developer yang memiliki kemampuan teknis lebih dari rata-rata
- FDD lebih terhirarki dari pada Extreme Programming
- Memiliki class ownership yang terpisah-pisah
- Sukses jika dalam rentang jumlah developer diatas rata-rata
- Klien tidak terlibat dalam seluruh urutan proses.[2]
KESIMPULAN
Metode FDD memiliki proses dengan tingkat hirarki 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 melalui beberapa prosedur sampai feature diberikan ke klien. Pengubahan
feature hanya dapat dilakukan pada proses pertama dan secara keseluruhan
hanya mampu memberikan penambahan kurang dari 10%.
FDD memberikan keuntungan sebagai metode yang
fokus dalam memberikan hasil nyata bagi konsumen dan tanggap akan perubahan
yang mungkin terjadi dalam masa pengembangan. Dengan kerumitan yang lebih
tinggi, orang-orang yang lebih banyak dan waktu yang lebih lama membuat FDD
cocok diaplikasikan untuk proyek-proyek dengan skala yang lebih besar.
REFRENSI
[1]
F. Anwer, S. Aftab, U. Waheed, and S. S. Muhammad, “Agile Software Development
Models TDD , FDD , DSDM , and Crystal Methods : A Survey,” no. April, 2017.
[2] I. W. A. Arimbawa, J. De Luca, and P. De Luca, “Feature Driven
Development ( FDD ), apakah bisa disebut Agile ?,” pp. 1–5, 2001..15–21, 2015.
[3] Marbun Murni “IMPLEMENTASI SISTEM INFORMASI PENJUALAN MOBIL DENGAN
METODE FEATURE DRIVEN DEVELOPMENT ( FDD ) PADA PT . CAPELLA,” vol. 17, no. 1,
pp.
[4] Gumellar, Irwana, Rafel H.M “PERHOTELAN MENGGUNAKAN METODE FEATURE
DRIVEN DEVELOPMENT ( FDD ) PERHOTELAN MENGGUNAKAN METODE FEATURE DRIVEN DEVELOPMENT
( FDD ),” 2015
No comments:
Post a Comment