Untuk lebih mudah dalam tulisan ini, sofware, aplikasi web atau aplikasi mobile kita sebut sebagai aplikasi saja.
Pertanyaan tersebut diatas sangat umum ditanyakan oleh orang yang ingin membuat sebuah aplikasi. Beberapa developer yang Anda tanya, mereka tidak langsung menjawab. Sebenarnya ini pertanda bagus, karena developer yang sedang Anda tanya cukup berpengalaman. Dia pasti akan balik menanyakan beberapa hal seperti deskripsi aplikasi, lingkup pekerjaan dan fitur yang diinginkan.
Mari kita kembali lagi dan membuat pertanyaan yang lebih spesifik. Misalnya; Berapakah harga untuk membuat aplikasi seperti Bukalapak?
Walaupun si developer sudah tahu bisnis model yang dijalankan oleh Bukalapak tesebut, mereka tidak serta merta langsung mengetahui bagaimana proses Bukalapak bekerja dibelakang layar. Lazimnya dia akan menganalisa halaman-halaman yang dibutuhkan untuk membuat aplikasi tersebut. Seperti; Login, lupa password, landing, halaman satu produk, halaman produk per-kategori, halaman dashboard penjual, halaman dashboard untuk admin (anda sebagai pemilik web app) dan lain sebagainya. Selain hal tersebut, pasti developer akan memikirkan bagaimana desain infrastrukturnya seperti; apakah menggunakan shared hosting, virtual private server atau colocation. Lebih jauh lagi analisanya tentang security seperti secure socket layer dan lain sebagainya.
Jadi, sudah terbayang bukan betapa sebenarnya relatif kompleknya sebuah proses development dan aplikasi bekerja. Tentu saja seorang developer yang berpengalaman tidak mau asal beri jawaban, terlalu murah jadi rugi, terlalu mahal pemesan lari/rugi. Sementara itu menyesuaikan harga layanan dengan kualitas software yang dihasilkan juga bukan merupakan solusi karena bisa merusak reputasi baik developer maupun pemesan aplikasi.
Setelah kalkulasi hal-hal tersebut, maka developer akan mengkalkulasi sumber daya dan waktu yang dibutuhkan untuk menyelesaikan pekerjaan.
Software development adalah jenis pekerjaan penawaran jasa. Semua pekerjaan jasa erat kaitannya dengan sumber daya manusia.
Sebagai analogi yang relatif cocok dan dapat dipahami semua orang adalah pekerjaan membangun rumah. Dalam pekerjaan jasa membangun rumah, ada banyak tukang yang terlibat. Komponen harga utama dari jasa pembangunan rumah adalah upah harian.
Jadi, sangat tidak mungkin jika membuat website perusahaan yang waktu pengerjaan selama 30 hari dibayar 3 juta. Ini artinya membayar developer 100.000 IDR/hari. Bayangkan jika developernya tinggal di Jakarta, ini tidak mencukupi biaya hidup minimum di Jakarta. Dapat dipastikan software developernya bulan depan sudah ngutang alias rugi.
Selain faktor sumber daya manusia, development sangat erat juga kaitannya dengan waktu. Saya membagi 2 kategori hubungan antara sumber daya manusia dan upah per satuan waktu:
1. Developer yang berpengalaman, upah satuan waktu mahal.
2. Developer yang belum berpengalaman, upah satuan waktu relatif murah.
Jika kita ambil persamaan harga untuk developer yang berpengalaman dan developer yang tidak berpengalaman, maka hasil akhir harga sebenarnya sama.
Kita mengambil contoh kasus pengerjaan website perusahaan:
Jika kita berikan kepada developer yang berpengalaman, dia sanggup mengerjakan dalam waktu 15 hari dengan upah harian 2 juta. Total biaya yang harus dibayarkan oleh perusahaan pemesan adalah 30 juta.
Sementara jika kita berikan kepada developer yang belum berpengalaman, dia mengerjakan dalam waktu 30 hari dengan upah harian 1 juta. Total biaya yang dibayarkan oleh perusahaan adalah sama, yaitu 30 juta.
Jadi, berapakah harga pembuatan aplikasi itu?
Dari tulisan diatas, kita dapat menarik kesimpulan bahwa pembuatan aplikasi itu tidak ada standar bakunya tetapi harga sangat erat kaitannya dengan waktu yang dibutuhkan.
Sebagai seseorang yang sedang mencari jasa pembuatan aplikasi, Anda sebaiknya sedikit menganalisa bisnis model aplikasi yang akan Anda buat dan usahakan mampu menakar harga. Ibarat seperti dalam lelang baik swasta atau pemerintah, ada istilah harga perkiraan sendiri (HPS). Istilah ini sangat lazim pada proyek lelang di pemerintahan. Sehingga dengan ini Anda dapat menakar apakah harga yang ditawarkan oleh developer mahal atau tidak.
Sebagai penutup, saya ingin menambahkan 2 hal yang sebaiknya disiapkan untuk keberhasilan aplikasi yang Anda pesan;
1. Deskripsi
Tentau Anda punya gambaran tentang aplikasi yang diinginkan. Gambaran ini bisa diceritakan kepada developer* atau dituliskan pada sebuah dokumen. Gambaran atau deskripsi inilah yang akan diterjemahkan oleh developer menjadi sebuah aplikasi.
2. Fitur
Salah satu kunci sukses dalam pengembangan aplikasi adalah terpenuhinya fitur-fitur yang diinginkan.
Sebagai pemesan, tentu saja Anda dapat menggambarkan fitur-fitur yang diinginkan dan harus ada dalam aplikasi.
------
*) Idealnya disini yang lebih kompeten adalah sistem analis. Tetapi untuk memudahkan bercerita dan mengambil sudut pandang dari seorang pemesan jasa development langsung kepada seorang developer.