Saya merasa sangat bersyukur karena akhir-akhir ini ada beberapa tawaran dari teman-teman untuk mengerjakan proyek secara bersama-sama. Ada yang sangat serius sampai menelepon dan berdiskusi berkali-kali. Ada juga yang sekedar menjanjikan saja. Mungkin karena tulisan “Mengapa Tidak Banyak Lulusan Informatika yang Menjadi Entrepreneur?” ya.
Walaupun baru sebatas prospek, tetapi saya sudah coba pikirkan seperti apa model kolaborasi yang nanti harus digunakan. Karena kalau mengaca dan mengukur diri sendiri, saya hanyalah sebuah kelas yang mempunyai fungsi dan peran tertentu. Kalaupun ada sifat polimorfisme, sifat itu terbatas untuk diaplikasikan pada bererapa keperluan tertentu saja. Butuh kelas-kelas lain dengan fungsi dan peran lainnya.
Idealnya untuk bisa mengerjakan proyek secara bersama-sama dengan baik, dibutuhkan kelas-kelas yang tergabung dalam package sebagai berikut:
- Investor. Mencari dan menyediakan dana untuk modal dan pembiayaan operasional sebelum, saat, dan setelah pelaksanaan pekerjaan.
- Fasilitator. Menyediakan tempat maupun alat.
- Konseptor. Merencanakan dan menyusun base line dan sistem kerja beserta indikator dan tolok ukur keberhasilannya, melakukan riset dan eksplorasi.
- Eksekutor. Melaksanakan pekerjaan seperti pembuatan prototype dan produk perangkat lunak (produksi), pemasaran, dan administrasi.
- Evaluator. Melakukan monitoring dan evaluasi, melaksanakan quality control.
Supaya kelas-kelas yang tergabung dalam package diatas dapat saling berinteraksi sesuai yang diharapkan, diperlukan interface-interface yang berisi deklarasi method-method sesuai base line dan sistem kerja yang digunakan. Misalnya interface SistemKerja untuk kelas Developer dan Pemasaran pada package Eksekutor.
Pada tahap awal, tidak semua package kelas harus diwujudkan secara bersamaan (karena pengerjaan proyeknya pasti tidak akan mulai-mulai!). Konsep incremental change seperti pada model proses eXtreme Programming dapat digunakan untuk mewujudkannya.
Apabila di kemudian hari ternyata kolaborasi antar kelas mandeg karena faktor-faktor non-teknis, mungkin harus dibentuk package kelas Motivator yang dapat memberikan event atau trigger dari luar. Jika perlu, bisa ditambahkan juga package kelas Provokator. Asal jangan ada package kelas KambingHitam saja jika terjadi kegagalan.
Tertarik untuk mencoba?
