FEATURE DRIVEN DEVELOPMENT (AGILE) - INFORMATIKA 16

Latest

Saturday, August 31, 2019

FEATURE DRIVEN DEVELOPMENT (AGILE)

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]

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
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.


      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