Kamis, 20 Oktober 2011

Metodologi Pengembangan Aplikasi Web

Metodologi adalah cara-cara yang digunakan oleh seseorang secara rutin dalam menyelesaikan suatu pekerjaan. Itu menurut pemahaman saya. Kata metodologi banyak digunakan dalam manajemen proyek. Karena kesuksesan proyek juga ditentukan oleh pemilihan metodologi yang akan digunakan dalam proyek itu. Demikian juga dalam proyek pengembangan aplikasi website kita memerlukan metodologi yang tepat agar dapat menghasilkan aplikasi web sesuai yang diinginkan.

Dalam dunia software engineering, metodologi paling klasik terdiri dari 5 fase yaitu:

Fase requirement atau penelusuran kebutuhan, pada fase ini kita mencari tau sebenarnya apa sih yang dibutuhkan, tujuan dari suatu proyek pengembangan aplikasi, dan seperti apa hasil yang diinginkan.
Fase analisa, pada tahapan ini berdasarkan hasil penelusuran kebutuhan maka kita akan memutuskan seperti apa aplikasi yang ingin dibuat, feature apa saja yang diperlukan, masalah yang kemungkinan kita hadapi, apa saja yang kita perlukan dalam proses pengembangan, dsb.
Fase perancangan, pada tahapan ini kita akan membuat rencana atau rancangan mengenai aplikasi yang akan dibuat berdasarkan hasil analisa sebelumnya. Misalnya berdasarkan hasil analisa kita akan membuat aplikasi dengan beberapa feature, nah kita perlu merancang table database yang kira-kira diperlukan untuk feature tersebut. Selain itu sesuai dengan hasil analisa kita membuat tampilan dari aplikasi. Struktur aplikasi yang dibutuhkan kayak bagaimana, fungsi apa saja yang akan dibuat, dsb.
Fase pengembangan, tahapan implementasi hasil dari analisa dan perancangan. Pada tahap ini kita akan menulis kode program sesuai yang telah direncanakan sebelumnya pada fase perancangan. Pada tahapan ini juga dilakukan pengujian terhadap suatu fungsi apakah telah berjalan sesuai yang diinginkan.
Fase installasi, setelah memastikan bahwa semua fungsi telah berjalan baik dan telah memenuhi kriteria yang diinginkan pada fase requirement maka aplikasi akan si setup pada server atau komputer yang akan digunakan untuk menjalankan aplikasi ini.

Fase diatas adalah fase standar yang bersifat dinamis. Tidak selamanya tiap fase yang dilewati akan ditinggalkan. Terkadang kita perlu kembali ke fase sebelumnya untuk memperbaiki kekurangan yang ada. Beberapa fase juga ada yang digabungkan agar lebih sederhana atau dipisahkan agar lebih detail.

Itu tadi metodologi klasik dalam proyek pengembangan aplikasi. Bagaimana dengan proyek pengembangan aplikasi web. Pada dasarnya karena sama-sama mengembangkan aplikasi maka metodologi diatas juga dapat digunakan. Namun terkadang kita memerlukan metodologi khusus yang bagi kita lebih nyaman. Saya sendiri memiliki metode tersendiri dalam proses pengembangan aplikasi web. Namun sebenarnya mengadopsi metodologi diatas namun dengan beberapa perubahan atau hanya perubahan kata-kata agar cocok dengan cara saya.

Berikut adalah metodologi pengembangan web yang biasa saya gunakan:

Fase requirement, sama dengan metodologi diatas. Pada fase ini saya mencoba mencari tahu beberapa pertanyaan berikut:
apa yang dibutuhkan?
apa tujuan dari aplikasi ini?
apa yang ingin dicapai?
apakah ada referensi atau contoh?
siapa sasaran penggunaan aplikasi ini?

Setelah memperoleh jawaban dari pertanyaan itu maka saya baru memulai fase berikutnya.
Fase penentuan feature dan fungsi, pada tahapan ini berdasarkan hasil penelusuran kebutuhan dari aplikasi maka saya menentukan feature dan fungsi apa saja yang akan dibuat untuk memenuhi kebutuhan yang ada. Feature dibagi menjadi feature utama atau bagian besar terlebih dahulu baru kemudian didefenisikan menjadi bagian yang lebih kecil. Misalnya pada aplikasi CMS salah satu feature utama adalah blog, kemudian feature blog didefenisikan seperti feature tagging, category, comment, dsb. Pada tahapan ini yang perlu diperhatikan adalah apakah daftar feature dan fungsi yang dibuat telah memenuhi kebutuhan yang diinginkan.
Fase pengumpulan data, konten, gambar, dan file lain yang dibutuhkan dalam pengembangan aplikasi. Berdasarkan daftar feature dan fungsi yang akan dikembangkan maka saya akan mengumpulkan data-data dan file yang diperlukan untuk feature dan fungsi tersebut.
Fase analisa dan perancangan, pada tahapan ini saya mencoba menganalisa data yang telah dikumpulkan pada tahapan sebelumnya dan menuangkan hasil analisa kedalam sebuah rancangan. Misalnya berdasarkan feature yang ada maka saya merancang tabel database yang dibutuhkan oleh tiap feature. Berdasarkan konten dan data yang ada saya juga melakukan perancangan tampilan aplikasi. Selain itu saya juga menyusun struktur aplikasi seperti menu, sitemap, dsb.
Fase coding, pada tahapan ini saya memulai menulis kode program. Biasanya dimulai dengan mengubah template dari file image Firework ke html. Setelah itu membuat kerangka aplikasi seperti struktur folder dan file dan memulai pengembangan fungsi untuk tiap feature.
Fase setup and testing, pada tahapan ini saya melakukan setup di server dimana aplikasi web nanti akan akan dijalankan. Tentu setelah melakukan testing di komputer lokal terlebih dahulu dan memastikan bahwa semua fungsi berjalan baik. Pada server juga akan dilakukan testing untuk memastikan aplikasi dapat berjalan baik pada server tersebut. Pada tahapan ini juga akan dilakukan beta test dimana beberapa orang akan mencoba menggunakan aplikasi dan memberikan komentar atau feedback terkait dengan fungsi aplikasi.
Fase launching, pada fase ini setelah dipastikan aplikasi berjalan baik pada server maka saya akan melakukan sosialisasi baik di dunia nyata atau maya. Beberapa diantaranya adalah melakukan posting di forum, aplikasi social network seperti facebook, membuat posting di blog, dan sosialisasi lainnya.

Itulah metodologi yang saya gunakan dalam pengembangan aplikasi web. Seperti sebelumnya tiap fase tidak bersifat mengikat tapi sebisa mungkin mengikuti alur yang ada. Sebenarnya metodologi diatas juga saya adaptasi dari salah satu metode Agile Development yaitu Feature Driven Development(FDD). FDD merupakan metode pengembangan aplikasi yang mengfokuskan pada feature atau fungsi yang ingin dikembangkan.

Pada dasarnya metodologi dikembangkan untuk membuat hasil suatu pekerjaan menjadi lebih baik. Namun tentu metodologi yang anda gunakan harus sesuai dengan diri anda sendiri. Gunakan metodologi yang paling nyaman menurut anda dan lihat apakah hasil yang dicapai lebih baik. Bila tidak pertimbangkan metodologi lain namun tetap cocok dengan anda.
http://www.thinkrooms.com/2009/06/09/metodologi-pengembangan-aplikasi-web/

Tidak ada komentar: