Apakah itu enterprise system (selanjutnya disingkat ES)? Dalam konteks tulisan saya berikut, istilah ini mengacu pada sistem berbasis software untuk membantu pengelolaan sistem informasi pada suatu organisasi dengan skala besar. Skala besar berarti volume transaksi yang besar, concern terhadap kualitas informasi yang tinggi, mengintegrasikan berbagai proses bisnis, lintas bidang (horisontal) maupun lintas strata (vertikal). Contoh dari ES adalah ERP (Enterprise Resource Planning) atau e-Business secara umum, e-Government, dan ingrated software lainnya.
Implementasi
Mengimplementasikan ES tidak mudah, atau setidaknya memilki strategi yang berbeda dengan sistem lain yang terbatas ruang lingkupnya, penggunanya dan tidak terpadu. Implementasi di sini bermakna bahwa software telah dapat digunakan dan bisa memberikan value bagi penggunanya sesuai tujuan pemanfaatan software tsb. Implementasi ini bisa dilakukan secara internal organisasi (oleh divisi IT/MIS) atau dengan pihak eksternal dalam kerangka proyek dan terikat legalitas berbentuk kontrak.
Catatan : Supaya memudahkan pemahaman dalam membaca artikel ini, saya mengistilahkan implementator sebagai pihak eksternal yang melakukan implementasi dan klien sebagai organisasi yang diimplementasikan softwarenya.
Implementasi ES berbeda dengan implementasi software berskala kecil atau yang penggunanya tunggal seperti MS Word, Database Rental VCD atau website, meskipun produknya sama-sama software yang berjalan di atas server dan membutuhkan konektivitas.
Ini sama seperti analogi berikut : Seorang insinyur sipil terbiasa membangun rumah tipe 70 selama 3 bulan, dengan jumlah kuli bangunan dan mandornya sekitar 10 orang. Nah, untuk membangun sebuah gedung berlantai 20 yang sizenya sekitar 100 kali dari rumah sederhana tadi, tentu tidak cukup dengan hanya mengalikan waktu dan sumber daya yang dibutuhkan, bukan?
Tentu nanti ada strategi yang berbeda, metode pemilihan bahan yang berbeda, tahapan yang berbeda, standar-standar tertentu, dst. Demikian pula dalam konteks software, bisa dipilah berdasar cakupan penggunaannya, bisa dilihat juga dari jenisnya (generik dan customized), yang masing-masing punya strategi implementasi yang berbeda.
Ini yang saya lihat sering tidak disadari oleh para newbie atau mungkin juga tidak disadari oleh sebagian besar organisasi di Indonesia, terutama pemerintahan atau UKM. Tak heran seperti diungkap pada
hasil penelitian Standish Group yang sangat legedaris, bahwa sebagian besar proyek IT (khssusnya software) di US itu gagal. Apalagi di Indonesia, banyak kantor pemerintah memberikan pekerjaan pengembangan sistemnya seperti halnya memesan website atau bahkan MS Office! cenderung memperlakukan software sebagai ”barang”. Saya lihat produk anda sekilas, saya beli, saya minta anda pasangkan dan latihkan cara menggunakannya. Selesai.
SE tidak bisa diperlakukan dengan cara seperti itu, tidak sekedar jual-beli dan pasang-bongkar barang, SE berkaitan dengan pengelolaan sistem informasi, yang tidak hanya bicara teknologi saja, tapi berkaitan dengan proses bisnis, struktur organisasi dan manusianya.
Pola PikirDari pengamatan saya, banyak implementator yang memposisikan diri sebagai ”developer” ataupun ”project manager”. Sebetulnya, IMO ini kurang pas. Mengapa?
Pola pikir ”developer” adalah menganggap suatu problem bisa selesai dengan solusi berbasis software yang baik dan tepat. Tapi apakah cukup seperti itu? Dalam membangun solusi, ya itu cukup, tapi belum tentu menjamin kesuksesan implementasi. Pola pikir developer cenderung berfokus pada analisis dan development tidak pada implementasinya. Padahal sukses tidaknya proyek software, baik buruknya reputasi implementator, seringkali orang luar melihat pada keberhasilan implementasinya dan value yang didapatkan klien.
Jika klien adalah perorangan atau organisasi kecil yang jumlah penggunanya kurang dari 10 orang, mungkin tidak masalah. Tapi kita saat ini sedang bicara ES untuk organisasi dengan puluhan divisi, ribuan orang, puluhan kepentingan, dan mungkin ratusan konflik. Apalagi jika software yang kita implementasikan bukan sekedar supporting tools tapi adalah core dari bisnis itu sendiri (konsep e-business). Cara implementasi dengan pola pikir seperti ini hanya akan menghasilkan solusi dan software yang bagus, tapi tidak optimal dan memberikan value untuk organisasi tsb, atau bahkan malah tidak pernah akan digunakan.
Pola pikir kedua adalah sebagai ”project manager”. Ini menurut saya juga kurang tepat. Implementator tidak bisa memposisikan diri sebagai project manager pada sebuah proyek yang berkaitan langsung dengan proses bisnis internal klien. Seorang project manager harus mampu mengelola semua resource berkaitan dengan proyek. Kadang kita tidak menyadari bahwa sebagaian besar resource dari proyek software justru berada di sisi organisasi klien. Sementara, project manager seharusnya memiliki akses ke seluruh resource tersebut, karena jika tidak, itu bukan project manager namanya. Dalam kasus ini, maka project manager seharusnya justru berada di sisi klien, bukan implementator. Akan sia-sia jika aktivitas
project planning, project controlling dsb sepenuhnya dilakukan oleh implementator, sementara klien hanya ”tahu beres” saja. Pada akhirnya aktivitas-aktivitas project management tsb hanya akan menghasilkan berkas-berkas dan dokumen administratif saja, yang pada kenyataannya tidak pernah dilaksanakan.
Menurut saya, peran yang paling pas untuk implementator adalah sebagai konsultan. Tugas utama dari konsultan adalah memberikan informasi, mendampingi, memfasilitasi dan menjadi motor ”behind the screen”. Tentu saja jika kontraknya melibatkan pengadaan software, konsultan juga akan melakukan development atau implementasi secara teknis, namun implementasi keseluruhannya harus dipimpin oleh klien sendiri melalui project manager. Jika klien tidak memiliki pengetahuan yang cukup untuk mengelola proyek software, itulah tugas konsultan untuk mendampinginya, sehingga proses project planning, control, evaluation, dst sepenuhnya akan berasal dari ide-ide, komitmen dan effort dari klien sendiri. Tugas konsultan adalah memfasilitasi dan mengarahkannya. Model seperti ini yang kemudian memunculkan teknik
JAD (Joint Application Design), yang intinya adalah melibatkan dan kolaborasi seluruh stakeholder proyek.
Mengapa pola pikir ini cenderung tepat, karena salah satu fase dalam implementasi sistem adalah fase transisi, yang pasti akan menuntut perubahan baik kecil maupun besar. Adanya sistem baru, mau tidak mau akan merubah proses bisnis. Perubahan proses bisnis berarti perubahan cara kerja, alur kerja dan bahkan budaya kerja. Perubahan ini menyangkut aspek people dan proses bisnis, sehingga dikenal konsep
change management. Dalam eksekusinya, change ini harus dipimpin dan dimanage oleh leader di internal organisasi.
Analoginya adalah sbb. Seorang pasien berobat ke dokter. Di sini ”proyek”-nya adalah penyembuhan. Dokter berperan sebagai konsultan proyek, sementara yang menjadi project manager adalah pasien itu sendiri. Dokter hanya memberikan obat, saran tentang pantangan dst, namun eksekusi dari penyembuhan tetap berada di tangan pasien, karena pasien sendirilah yang bisa mengontrol pola makannya, mengikuti anjuran dokter, dsb. Obat di sini berlaku seperti halnya solusi software. Apa yang terjadi jika dokter hanya memberikan obatnya begitu saja, sementara pasien tidak mau peduli dengan anjuran bedrest ?
KonsekuensiKonsekuensi dari pemilihan peran konsultan ini juga banyak, namun tidak dibicarakan dalam tulisan ini. Tentu saja yang paling jelas adalah terkait SDM. Kualifikasi seorang konsultan tentu berbeda dengan developer atau project manager. Yang jelas seorang konsultan tidak hanya dituntut memiliki pengetahuan tentang software engineering dan hal-hal teknis, dan juga tidak cukup ditambah dengan pengalaman dan keterampilan project management, namun konsep dan bestpractice tentang change management, communication skill yang excellent sangat diperlukan. Selain SDM, di sisi legal seharusnya juga berbeda. Apakah kontrak dengan model fix-cost masih pas diterapkan di sini? Jika tidak, yang seperti apa.
Dalam konteks apapun, strategi dibuat berdasarkan analisis, sehingga kejelian implementator dalam melihat karakter software menjadi sangat penting. Karena jika salah, pasti strategi yang dibuat juga tidak akurat. Strategi yang tidak akurat, akan menjadi bencana dalam pelaksanaannya. Efek domino!