Sunday 8 February 2015

Agile Development, Tak Sebatas Metode Pengembangan Perangkat Lunak

Dalam dunia teknologi sekarang pengembangan dalam bidang informatika telah mengalami perkembangan yang sangat pesat. Dalam pembuatan sebuah perangkat lunak haruslah memiliki Teknik analisa kebutuhan dan teknik permodelan yang baik, supaya terwujudnya suatu perangkat lunak yang baik. Salah satu dari teknik permodelan itu adalah Agile.
Apa itu agile ?
Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan sooftware. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun.

Siapakah yang melakukan ?
Rekaya perangkat lunak dapat terwujud jika (manajer, pelanggan,dan pengguna) bekerja sama dalam satu tim dan bisa mengatur ,mendukung komunikasi dan kolaborasi di antara semua pihak yang terlibat di dalamnya.

Kenapa perlu ?
Lingkungan bisnis modern yang menghasilkan sistem berbasis komputer, sehingga roduk-produk perangkat lunak selalu bergerak cepat dan berubah-ubah Telah terbukti dalam menjalankan sistem secara tepat

Langkah-langkah :
Komunikasi, perencanaan, pemodelan, konstruksi, penyerahan/penyampaian kepada pelanggan untuk tetap dipertahankan. Hasil dari rekayasa perangkat lunak adalah sebuah software yang dapat digunakan oleh konsumen dan dapat diterima oeh konsumen pada waktu yang tepat. Pengembangan perangkat lunak bertujuan mengurangi biaya-biaya yang digunakan untuk memodifikasi sebuah perangkat karena perangkat lunak di distribusikan dan dapat dikembangkan.

Prinsip kecepatan :
Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus. Menerima perubahan kebutuhan, sekalipun diakhir pengembanganKomunikasi yang efektif dan efisien sesama tim . Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile.

Faktor Manusia
Kompetensi Fokus Kolaborasi Kemampuan mengambil keputusan Saling percaya dan hormat Manajemen diri.
Pemrograman Ekstrim
Suatu pendekatan yang paling banyak digunakan untuk pengembangan perangkat lunak, padadasarnya bertujuan untuk menyempurnakan dan memasang target -target tertentu pada proses rekayasa perangkat, khususnya untuk digunakan dalam organisasiorganisasi yang berukuran besar.

Kelebihan 
  1. Meningkatkan kepuasan kepada klien
  2. Pembangunan system dibuat lebih cepat
  3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
  4. Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.

Nah, selaku penulis saya melihat Agile Development itu dari sudut pandang yang berbeda. Terlepas dari fungsinya sebagai salah satu metode pengembangan perangkat lunak, Agile juga merupakan media penanaman nilai-nilai kehidupan. Kenapa tidak, tanpa kita sadari ketika mempelajari metode ini ternyata kita telah diarahkan untuk menanamkan beberapa nilai-nilai yang sesuai dengan prinsip si Agile ini, diantaranya :
  1. Kerjasama, Semua kegiatan akan dilakukan oleh tim dengan konsep self-organizing, artinya semua anggota tim akan bekerja sama untuk mengelola kerja sesuai dengan kesepakatan. Secara sederhana, anggota tim akan merencanakan tugas secara bersama dan melakukannya secara bersama sebagai sebuah kolaborasi tim. Dan dari sinilah akan disadari bahwa dengan kerjasama rasa persaudaraan dan semangat kerja akan mencuat sehingga pekerjaan akan cepat terselesaikan.
  2. Tanggungjawab, Kita yang terlibat dalam pengembangan perangkat lunak akan bertanggung jawab untuk menghasilkan incremental product dengan membagi tugas secara bersama. Seorang yang berpengalaman testing, sangat dimungkinkan untuk berkonstribusi ditahap analisa dan desain. Atau seorang programmer akan membantu aktifitas testing. Ketika kita telah berhasil dalam menjalankan tanggungjawab tentunya kita akan menjadi orang yang di percaya orang lain, menjadi orang yang di prioritaskan, menjadi orang yang percaya diri, dan menjadi sandaran bagi orang-orang.
  3. Rasa Hormat, Dalam diskusi pengembangan suatu perangkat lunak dilakukan tanpa adanya hirarki. Artinya tidak ada yang ditinggikan, karena dalam metode agile anggota tim memiliki kedudukan yang sama, namun tetap menaruh hormat satu sama lain.  
  4. Cepat Tanggap, Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana. 
Itulah diantara nilai-nilai yang bisa kita petik dari mempelajari maupun dalam penggunaan metode Agile, bahwa metode Agile Development itu tidak hanya sebatas metode pengembangan perangkat lunak, tetapi juga bisa memberikan nilai-nilai yang bisa kita tanamkan dalam kehidupan.