Ada dua kubu yang saling berseberangan dalam pembuatan perencanaan aplikasi yaitu kubu yang sangat menganjurkan pembuatan rencana dan kubu yang tidak mengajurkan pembuatan rencana.
Beberapa pengarang menganjurkan dalam pengembangan aplikasi harus mengikuti seperti pengembangan produk seperti pada rekayasa produk “Engineering”. Bila anda melihat perkembangan pada jurusan Computer science maka dapat dilihat bahwa banyak universitas telah menggabungkan departement computer sciencenya dengan elektronik engineering.
Masing masing kubu itu di dukung oleh orang orang yang memang telah berpengalaman dalam bidangnya. Jadi di kubu mana sekarang anda berdiri?.Â
Ada masa masa yang begitu sulit terjadi pada kami. Kami pernah mencoba membuat perencanaan yang begitu detil dan menurut pendapat kami hebat sekali. Tetapi apa yang harus kami hadapi adalah perubahan perubahan dalam perencanaan tersebut. Jadi kami tidak sedang membuat produk tetapi dokumen perencanaan yang hampir tidak pernah selesai. Kami hampir tidak percaya atas segala buku yang mengajarkan perencanaan.
Dilain kesempatan, kami juga pernah membuat sebuah produk tampa perencanaan sama sekali. Hasilnya adalah perubahan perubahan yang tidak pernah selesai karena begitu banyaknya hal hal yang dilupakan.
Ada dua pengalaman yang kedua duanya gagal baik menggunakan rencana ataupun yang tidak menggunakan rencana. Menurut kami yang salah adalah ambisi, atau skope proyek yang tidak jelas.
Roger S Pressman Phd dalam bukunya “Rekayasa Piranti Lunak” karya terjemahan penerbit Andi membagi model model pengembangan piranti lunak. Ada satu model yang sukses kami terapkan yaitu model evolusioner dengan model rakitan komponen. Model itu adalah model pengembangan berbasis objek secara evolusi.
Bagi anda yang telah berpengalaman dengan program berbasis objek mungkin akan berkata, “Hari gini masih bicara OOP”.Â
Jika anda telah membuat sebuah progam yang dirancang dengan pemograman berbasis objek, coba sebutkan semua komponen aplikasi itu satu persatu di luar kepala. Sebutkan semua objek, sifat sifat (properti) dan apa yang dilakukan (method) dan bagaimana mereka saling berinteraksi. Jika anda bisa menuliskannya di kertas tampa perlu melihat catatan apapun, maka selamat anda telah merancang objek anda dengan benar. Tetapi jika anda tidak bisa melakukannya maka ada yang salah dengan objek objek anda.Â
Pemograman berbasis objek bukan hanya membuat kelas kelas (object template) tetapi lebih dari itu.
Ada satu kejadian kebetulan ketika saya menolong anak kami yang kesulitan dalam menghafal mata pelajaran, lihat artikel kami “Menghadapi Ujian Nasional”. Mengejutkan bagi kami karena ternyata artikel ini mendapatkan sambutan cukup baik dengan cukup banyaknya situs yang merujuk pada artikel tersebut. Ternyata apa yang kami temukan secara kebetulan itu “Encapsulation” untuk menghafal, telah lama ditemukan dengan nama yang lain yaitu teknik “mind mapping” yang telah diterapkan dibanyak sekolah menengah.
Dari pengalaman yang kebetulan tersebut, kami akhirnya berkesimpulan jika anak kecil kelas tiga saja bisa menghafal dan menerapkan teknik “Encapsulation” untuk menghafal maka teknik “Encapsulation” ini juga bisa diterapkan pada pemrograman jika dirancang dengan benar. Jika anggota tim pengembangan anda sudah mengenal dan menyebutkan semua objek objek dengan benar maka apa perlunya dokumentasi perencanaan yang rumit dan panjang panjang.
Jadi posisi kami ada di mana sekarang? Apakah dalam kubu perencanaan ataukah kubu tampa perencanaan. Tidak dua duanya. Kami ada di tengah tengah mereka. Jika yang dimaksud dalam kubu perencanaan adalah bahwa kita harus selalu membuat perencanaan yang panjang yang memerlukan waktu berbulan bulan maka saya bilang terima kasih atas nasihatnya. Untuk kubu tampa perencanaan juga saya bilang tidak terima kasih, jika yang dimaksud oleh kubu itu adalah jangan membuat perencanaan sama sekali atau membuatnya dalam sebuah kertas tissue yang mudah hilang.
Hanya dengan menuliskan sesuatu dan membuat garis besar permasalahan membuat kami bisa menemukan sesuatu yang tidak pernah terpikirkan sebelumnya. Ada artikel menarik oleh Peter F Drucker (Bapak Manajemen dunia) dalam artikelnya mengelola diri sendiri dalam buku Classic Drucker yang diterbitkan oleh PT Bhuana ilmu Populer. Apakah anda seorang pembaca atau seorang pendengar?.
Setelah membuat garis besar perencanaan, menuliskan permasalahan, membuat garis besar arsitektur aplikasi yang harus selesai dalam waktu satu s/d dua minggu maka kami mulai membuat objek objek aplikasi dan membuatnya. Dan satu pengalaman buruk yang menjadi bahan pelajaran adalah tentang skope aplikasi. Kami selalu membatasi skope aplikasi yang tidak terlalu besar.
Bagaimana dengan pengalaman anda?
Posted: June 25th, 2007 under Programming.
Comments: 1