Perusahaan yang paham tentang pentingnya transformasi digital terutama di era COVID-19 hari ini, pasti telah merencanakan beberapa proses penyusunan anggaran dalam proyek pengembangan sistemnya. Bagi yang sudah berpengalaman, mungkin sudah terbayang proyek-proyek tersebut perlu dibudgetkan di angka berapa. Namun tidak sedikit pula yang masih menerka-nerka berapa perkiraan harga pembuatan website dan aplikasi mobile. Sehingga dalam penyusunan anggaran, banyak yang kemudian memberikan buffer yang besar sehingga tidak efisien di sisi budgeting perusahaan. Disisi lain, bisa jadi ada perusahaan yang membuat estimasi dengan asumsi yang terlalu kecil sehingga pelaksana proyek menjadi kesulitan dengan budget yang terbatas.
Budget Penyedia Jasa Pembuatan Aplikasi VS Budget In-house Development
Dalam pengembangan sistem, perusahaan dapat memilih apakah sistem akan dikembangkan dengan sumber daya internal (in-house development) atau dengan skema outsourcing ke software house sebagai penyedia jasa pembuatan aplikasi atau jasa pembuatan website mereka. Jelas masing-masing memiliki struktur biaya yang berbeda, sehingga perlu dipertimbangkan baik buruknya dalam menggunakan jasa outsource ini.
In-house development biasanya terlihat lebih low budget, padahal belum tentu lebih efektif. Terutama jika anggota tim masih baru dibentuk, mayoritas fresh graduate, kemampuan dibawah rata-rata, serta pengalaman yang masih ‘hijau’.
Sebagai gambaran, jika perusahaan ingin membentuk tim in-house development, setidaknya struktur biaya yang harus disiapkan adalah beberapa aspek berikut:
- Penyediaan Perlengkapan Kerja dan Lisensi Software. Perusahaan default-nya juga menanggung perlengkapan kerja karyawan seperti laptop, device testing, lisensi development tools, lisensi software desain, dan lain-lain. Untuk beberapa role seperti designer atau programmer biasanya butuh device dengan spek yang lebih mahal dari rata-rata.
- Operasional Kantor. Jika sebelumnya kita tidak punya kantor, maka ketika memiliki tim development, kita mau tidak mau kita harus sewa gedung kantor atau coworking space, pasang internet, listrik, air, dan lain -lain.
- Biaya sumber daya manusia yang terdiri dari:
- Biaya Rekrutmen. Tidak mudah mencari developer yang skillful hari ini. Kalaupun ada biasanya expected salary-nya tinggi. Setiap proses rekrutmen pasti butuh cost, terlebih jika mencari talent yang diatas rata-rata yang biasanya memerlukan jasa outsource headhunter. Peran yang direkrut juga harus beragam sesuai spesialisasi yang dibutuhkan, seperti:
- Product/Project Manager
- Web Programmer
- Mobile Programmer
- Business Analyst
- UI/UX Designer
- Quality Assurance
- Technical Writer
- DevOps Engineer
- Remunerasi Tetap per bulan. Setelah direkrut, pasti ada fixed cost baru perusahaan untuk role-role di atas, baik yang bersifat fixed income maupun variable income. Termasuk cost tambahan seperti BPJS Kesehatan, Ketenagakerjaan, PPH, dan sebagainya.
- Management Cost. Agar role diatas dapat bekerja dengan optimal tentu harus dikelola dengan baik. Secara struktur perusahaan, tim ini harus ada yang melakukan supervisi dengan detail. Selain itu perlu diberikan training sesuai expertise masing-masing atau dilibatkan dalam agenda-agenda kultural perusahaan. Belum lagi jika ada yang resign, sakit, cuti, dan seterusnya, yang menjadi bagian dari management cost yang harus ditanggung.
- Biaya Rekrutmen. Tidak mudah mencari developer yang skillful hari ini. Kalaupun ada biasanya expected salary-nya tinggi. Setiap proses rekrutmen pasti butuh cost, terlebih jika mencari talent yang diatas rata-rata yang biasanya memerlukan jasa outsource headhunter. Peran yang direkrut juga harus beragam sesuai spesialisasi yang dibutuhkan, seperti:
Kira-kira itulah tiga komponen utama untuk pembiayaan tim in-house development. Dan sekali lagi perlu dicatat bahwa semuanya bersifat fixed cost atau harus selalu dibayar setiap bulan. Selama tim pengembangan tersebut masih menjadi bagian dari perusahaan, apalagi sudah menjadi karyawan tetap maka biaya akan terus keluar setiap bulannya. Oleh karena itu pastikan ketika Anda merekrut developer, sebelumnya statement of work dari pekerjaan tersebut sudah didefinisikan dengan detail dan sudah tervalidasi kebutuhannya. Sehingga investasi yang Anda keluarkan untuk merekrut tim dedicated adalah jumlah yang memang Anda perlu lakukan.
Berapa Harga Pembuatan Website dengan Jasa Software House?
Banyak perusahaan merasa tidak worth untuk mengeluarkan fixed cost in-house developer karena kebutuhan pengembangan biasanya insidental dan tidak panjang. Alasan lain yaitu karena kekhawatiran bahwa tim tersebut tidak bisa disupervisi dengan optimal. Dalam hal ini mekanisme outsourcing ke software house atau perusahaan software yang memberikan jasa pembuatan software seperti jasa pembuatan website, pembuatan aplikasi mobile, infratruktur IT dan lain sebagainya adalah pilihan yang tepat.
Ketika menentukan harga pembuatan website atau aplikasi mobile ke software house , secara umum struktur biayanya terdiri dari tiga aspek:
- Jumlah mandays untuk menyelesaikan
- Jumlah developer yang dibutuhkan
- Rate harga per mandays
1. Menghitung Jumlah Mandays
Bagaimana cara menghitung jumlah mandays proyek? Tentu jawaban ini harus keluar dari estimasi penyedia jasa aplikasi itu sendiri. Tugas klien cukup memberikan brief requirement se-detail mungkin kebutuhannya. Semakin detail requirement yang diberikan, maka akan semakin presisi estimasi yang diberikan vendor.
Pastikan requirement anda benar-benar detail. Karena jika tidak, Anda bisa mendapatkan harga pembuatan website dalam proposal komersial yang tinggi sekali karena masih banyak hal-hal yang belum dirinci disana. Kemungkinan lainnya, kalaupun proyek sudah deal dan berjalan, potensi change request di tengah development menjadi cukup tinggi. Jika tidak ada budget lagi dari perusahaan untuk change request, maka dengan terpaksa aplikasi akan dibuat sesuai dengan daftar fitur lama di kontrak (yang mungkin sudah tidak relevan lagi), sehingga aplikasi tersampaikan namun tidak sesuai dengan harapan atau ekspektasi user . Ketika aplikasi tidak sesuai harapan, aplikasi tidak akan dipakai alias investasi perusahaan dalam proyek ini gagal.
Maka pastikan Anda telah memiliki requirement yang detail dalam proyek Anda. Dalam pengalaman kami, jumlah mandays setiap proyek sangat bervariasi. Aplikasi sederhana seperti web profile biasanya membutuhkan waktu kurang dari satu bulan (20 mandays). Kebutuhan website ecommerce, learning management system standar biasanya membutuhkan waktu tiga sampai empat bulan (60-80 mandays). Jika sistemnya sangat customize, bisa memakan waktu enam bulan hingga satu tahun (120-240 mandays).
2. Memperkirakan Jumlah Developer
Jumlah developer juga sangat terkait dengan harga pembuatan website atau aplikasi mobile. Jumlah developer yang dialokasi dalam suatu proyek biasanya tergantung dari dua hal:
- Kebutuhan Technology Stack yang bervariasi.
- Faktor kompleksitas sistem maupun kebutuhan untuk mengejar deadline
Seperti yang kita ketahui, ada banyak teknologi yang biasa digunakan untuk web dan mobile. Web sendiri biasanya dibagi dua, ada yang berperan sebagai frontend dan ada yang sebagai backend. Beberapa teknologi web frontend yang sering dipakai adalah React, Angular, dan Vue. Sedangkan di backend ada Golang, Node.js, PHP, Java, ASP.NET, dan seterusnya. Teknologi mobile pun bervariasi, ada Android native, iOS native, React Native, Flutter, dan sebagainya.
Misalnya kita hendak membuat aplikasi ecommerce paket lengkap baik di website maupun di mobile, maka setidaknya dibutuhkan empat developer yakni:
- Developer Web Backend
- Developer Web Frontend
- Developer Android
- Developer iOS
Jika backend cukup kompleks serta ada deadline yang ketat, sangat mungkin jumlah developer backend ditambah menjadi dua bahkan tiga developer. Hal ini dibutuhkan agar tidak menjadi stopper untuk developer web frontend dan dua developer mobile. Ketika developer website dan mobile tidak berjalan dengan optimal, maka hal ini akan menjadi kerugian untuk perusahaan karena argo terus berjalan, sedangkan mereka tidak bisa bekerja dengan efektif karena ada dependensi dengan developer backend.
3. Rate Harga Per Mandays
Rate harga per mandays tentu berbeda-beda di setiap software house, tergantung dari bagaimana setiap penyedia jasa aplikasi tersebut mampu mengatur ‘dapur’-nya masing-masing. Ada yang ekonomis, sedang, hingga relatif tinggi. Semua tergantung pada value proposition yang ditawarkan oleh masing-masing penyedia jasa aplikasi dan jasa website tersebut.
Dari ketiga komponen diatas, secara singkat rumus perhitungan harga pembuatan website atau aplikasi mobile dari software house adalah sebagai berikut:
Budget Pengembangan Proyek = Jumlah Estimasi Mandays x Jumlah Developer x Rate Mandays
Sebagai contoh jika ada sebuah perusahaan ingin membuat aplikasi eCommerce. Sementara ini MVP dibuat di web dulu, jika sudah tervalidasi baru akan dibuat versi mobile-nya. Setelah memberikan dokumen requirement yang detail pada sebuah vendor, software house nanti akan mengestimasi untuk menyelesaikan web eCommerce tersebut dalam waktu 4 bulan atau 80 mandays dengan satu orang developer web frontend dan satu orang developer web backend. Misalnya rate developer-nya disamakan di angka 2 juta per hari. Maka perkiraan budget pengembangan yang dibutuhkan adalah:
= 80 mandays x 2 developer x Rp 2.000.000
= Rp 320.000.000, –
Masih Belum Kebayang Budgeting-nya? Pertimbangkan Skema Agile
Mungkin masih sulit terbayang menentukan jumlah mandays sendiri dan jumlah developernya, apalagi jika Anda memiliki budget yang terbatas. Salah satu solusi untuk permasalahan tersebut adalah dengan menggunakan skema agile. Simpelnya dalam skema ini software house atau penyedia jasa aplikasi akan menerapkan model ‘argo’, pembayaran sejumlah tertentu, per periode tertentu sampai batas limit budget yang telah disepakati.
Mengapa skema Agile ini menjadi menarik?
- Menyesuaikan dengan budget yang dimiliki, deliverable akan disesuaikan dengan budget yang disepakati.
- Tidak perlu membuat dokumen requirement yang detail dan rumit di awal, terlebih model bisnis masih dalam tahap validasi, sehingga dibutuhkan fleksibilitas akan perubahan.
- Kontrol penuh terhadap tim yang di-hire dalam setiap sprint, apa yang dikerjakan oleh tim development. Bisa memutuskan untuk go live di sprint atau bulan tertentu sesuai progress development yang ada.
Misalnya dengan studi kasus yang sama di atas, karena klien belum bisa untuk memberikan detail requirement, maka klien menginfokan budget maksimalnya yakni di angka 250 juta. Dengan asumsi dari pihak penyedia jasa aplikasi punya rate satu developer per bulan di angka 35 juta, jika dua developer berarti 70 juta per bulan. Maka penyedia jasa aplikasi tersebut akan menyediakan satu tim development dedicated dengan dua developer selama sekitar 3.5 bulan. Kemudian pihak penyedia jasa aplikasi dan klien akan bersama-sama menyusun roadmap MVP selama tiga setengah bulan itu untuk mendapatkan deliverable yang optimal. Requirement software pun dapat berubah sewaktu-waktu menyesuaikan validasi model bisnis yang paralel dijalankan. Rencana go live juga lebih fleksibel tidak harus menunggu di akhir bulan ke tiga.
Jangan Lupa Biaya untuk Penyedia Infrastruktur dan Penyedia Jasa Lainnya.
Ibarat bangunan baik itu rumah atau gedung, tidak akan bisa berdiri sendiri jika tidak ada tanahnya. Maka aplikasi juga tidak akan bisa berdiri sendiri tanpa adanya infrastruktur, baik berupa hosting, virtual private server (VPS), hingga dedicated server. Ini juga cost yang harus dipertimbangkan, semakin besar traffic user yang mengakses, semakin besar juga spesifikasi server yang dibutuhkan.
‘Penyedia lainnya’? Ya, seperti penyedia layanan email jika website Anda terdapat fitur konfirmasi email sehingga membutuhkan penyedia layanan email untuk mengirimkan email ke customer Anda. Penyedia layanan SMS jika dalam aplikasi Anda terdapat fitur registrasi menggunakan OTP, maka dibutuhkan penyedia layanan SMS untuk mengirimkan SMS ke customer kita. Belum lagi jika membutuhkan layanan Google Maps, layanan notifikasi, dan layanan aplikasi lainnya yang mayoritas tidak gratis.
Sebagai contoh untuk proyek web eCommerce dengan skema Agile diatas, ternyata membutuhkan subscription pada penyedia layanan email, penyedia layanan SMS, dan penyedia layanan third party payment. Maka budgeting yang harus disiapkan minimal dalam setahun adalah sebagai berikut.
Budget Development Skema Agile | 3.5 bulan | Rp 250.000.000 | |
Budget Paid Maintenance (Rp 10.000.000 per bulan) | 6 bulan | Rp 60.000.000 | |
Penyedia Layanan Email “MailGun” paket 50.000 email per bulan ($35 per bulan), asumsi rupiah per dollar Rp 15.000 | 12 bulan | Rp 6.300.000 | |
Penyedia Layanan SMS “Zenziva” paket 10 SMS per menit (Rp 500.000 per bulan) | 12 bulan | Rp 6.000.000 | |
Penyedia Layanan Third Party “Midtrans” paket Virtual Account, asumsi 1000 transaksi per bulan (Rp 4.000 per transaksi) | 12 bulan | Rp 48.000.000 | |
Penyedia Layanan Server VPS “IDCloudHost” CPU 16core Memory 16GB Disk 200GB (Rp 1.400.000 per bulan) | 12 bulan | Rp 16.800.000 | |
Total | Rp 387.000.000 |
Kami tambahkan juga budget maintenance berbayar, sehingga ketika development sudah selesai tetap ada tim yang memantau sistem jika terdapat bug atau error. Kira-kira itulah angka yang perlu disiapkan dengan spesifikasi proyek diatas. Tentu lebih baik lagi jika ada buffer dana untuk development tambahan. Jaga-jaga jika diperlukan penambahan fitur selama satu tahun itu, karena kalau dalam satu tahun aplikasi tidak ada update fitur baru, tidak ada perubahan tampilan, tentu boring bukan? Berapa angkanya, disesuaikan saja dengan budget yang tersedia.
Kesimpulan
Jadi bagaimana cara menentukan harga pembuatan website atau aplikasi mobile? Jawabannya ternyata tidak sederhana. Maka untuk merangkum penjelasan di atas, berikut beberapa poin yang perlu dipertimbangkan ketika merancang anggaran pembuatan sistem melalui perusahaan software development atau penyedia jasa pembuatan software custom:
- Tentukan budgeting proyek menggunakan skema konvensional (waterfall) berbasis scope aplikasi atau skema agile yang berbasis budget yang ada.
- Jika Anda memilih skema agile, maka yang harus dilakukan adalah: 1) Tentukan berapa limit budget Anda. 2) Diskusikan ekspektasi Minimum Viable Product (MVP) dengan penyedia jasa aplikasi yang Anda percaya. Penyedia jasa aplikasi tersebut akan memberikan rekomendasi terkait teknologi MVP yang akan dibuat dan jumlah developer yang dialokasikan.
- Jika skema waterfall: Buat dokumen requirement se-detail mungkin; Berikan range estimasi budget kepada tim penyedia jasa aplikasi Anda agar mereka dapat memberikan feedback terkait scope yang diekspektasikan, apakah bisa ter-cover keseluruhan atau ada yang tidak bisa masuk scope, dari dokumen requirement yang diberikan; Siapkan budget tambahan diluar angka yang tadi untuk alokasi change request karena project waterfall jarang yang tidak memiliki change request sama sekali.
- Siapkan Budget untuk Infrastruktur dan penyedia layanan yang lainnya. Diskusikan dengan pihak penyedia jasa aplikasi terkait dengan ekspektasi pengguna dan kompleksitas sistem, sehingga mereka bisa memberikan rekomendasi spesifikasi server yang efektif dan efisien.
- Siapkan pula budget maintenance sistem untuk memastikan aplikasi yang dikembangkan oleh penyedia jasa aplikasi Anda tetap bisa berjalan dengan lancar.
Selamat menentukan budget proyek Anda. Semoga bermanfaat.