Cara Menentukan Proses Penyusunan Anggaran dalam Pengembangan Sistem

Badr Interactive
- 27 July 2020


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 perkiraan angka ini dengan memberikan buffer yang besar sehingga tidak efisien di sisi perusahaan. Atau membuat estimasi yang underestimate sehingga pelaksana proyek akan 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 yang menjadi penyedia jasa pembuatan aplikasi atau jasa pembuatan website mereka. Jelas masing-masing memiliki struktur cost yang berbeda, sehingga perlu dipertimbangkan baik buruknya dalam menggunakan jasa outsource.

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, dan pengalaman yang masih ‘hijau’. 

Sebagai gambaran, jika perusahaan ingin membentuk tim in-house development, setidaknya cost structure yang harus disiapkan adalah beberapa aspek berikut:

 

1.      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.

2.      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.

3.      Biaya sumber daya manusia yang terdiri dari:

a.       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

b.      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.

c.       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.

Kira-kira itulah tiga komponen utama untuk pembiayaan tim in-house development. Dan sekali lagi perlu dicatat bahwa semuanya bersifat fixed cost atau hal yang harus selalu dibayar setiap bulan. Selama tim pengembangan tersebut masih menjadi bagian dari perusahaan, apalagi sudah menjadi karyawan tetap. Maka pastikan ketika Anda merekrut satu paket tim pengembang, pastikan aktivitas development sudah tervalidasi kebutuhannya dan intens dibutuhkan, sehingga memang harus ada tim dedicated untuk mengerjakannya.

 

Kalau Budgeting Pakai Software House Bagaimana?

Banyak perusahaan merasa tidak worth untuk mengeluarkan fixed cost seperti di atas karena kebutuhan pengembangan biasanya insidental dan tidak panjang. Atau kekhawatiran bahwa tim tersebut tidak bisa disupervisi dengan optimal. Dalam hal ini kebijakan outsourcing ke software house atau perusahaan software yang memberikan jasa pembuatan software seperti jasa pembuatan website , jasa pembuatan website company profile , jasa pembuatan aplikasi , jasa pembuatan aplikasi web , jasa pembuatan aplikasi mobile , jasa pembuatan aplikasi android , dan jasa pembuatan aplikasi ios ,  adalah pilihan yang tepat.

Ketika menentukan biaya pengembangan ke software house , secara umum cost structure-nya hanya ada tiga aspek:

1.      Jumlah mandays untuk menyelesaikan

2.      Jumlah developer yang dibutuhkan

3.      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 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 yang terjadi di tengah development 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 sudah tidak relevan lagi), sehingga aplikasi ter-deliver namun tidak sesuai dengan harapan pengguna. 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 yang dialokasi dalam suatu proyek biasanya tergantung dari dua hal:

1.      Kebutuhan Technology Stack yang bervariasi.

2.      Faktor kompleksitas sistem maupun kebutuhan 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 serta 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 web maupun di mobile, maka setidaknya dibutuhkan empat developer yakni:

·         Developer Web Backend

·         Developer Web Frontend 

·         Developer Android

·         Developer iOS

Jika backend cukup kompleks serta deadline yang ketat, sangat mungkin jika developer backend ditambah menjadi dua bahkan tiga developer, agar tidak menjadi stopper untuk developer web frontend dan dua developer mobile. Karena ketika developer web dan mobile tidak berjalan optimal juga menjadi kerugian untuk perusahaan karena argo terus berjalan, sedangkan mereka tidak bisa bekerja dengan efektif karena 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, tinggal dikalikan saja.


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, lebih-lebih Anda memiliki budget yang terbatas. Anda bisa mempertimbangkan skema Agile saja. 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?

1.      Menyesuaikan dengan budget yang dimiliki, deliverable akan disesuaikan dengan budget yang disepakati.

2.      Tidak perlu membuat dokumen requirement yang detail dan rumit di awal, terlebih model bisnis masih dalam tahap validasi, sehingga dibutuhkan fleksibilitas akan perubahan.

3.      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.

Misalnya 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 Cost untuk Penyedia Infrastruktur dan penyedia 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 dua tahun adalah sebagai berikut.

Maka perkiraan total budget yang dibutuhkan dalam satu tahun. Kami tambahkan juga budget maintenance berbayar, sehingga ketika development sudah selesai tetap ada tim yang memantau sistem jika terdapat bug atau error. 

 

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

 

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 budget proses penyusunan anggaran dalam pengembangan suatu sistem? Jawabannya ternyata tidak sederhana. Maka untuk merangkum penjelasan di atas, berikut beberapa poin yang harus dipertimbangkan ketika merancang anggaran pembuatan sistem melalui perusahaan software development atau penyedia jasa pembuatan software custom
:

1.      Tentukan budgeting proyek menggunakan skema konvensional (waterfall) berbasis scope aplikasi atau skema agile yang berbasis budget yang ada.

2.      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.

3.      Jika skema waterfall

a.       Buat dokumen requirement se-detail mungkin.

b.      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

c.       Siapkan budget tambahan diluar angka yang tadi untuk alokasi change request karena project waterfall jarang yang tidak memiliki change request sama sekali

4.      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.

5.      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.



100+ Perusahaan bekerjasama dengan Badr Interactive untuk mengoptimalkan website dan aplikasi mereka.

Mari bergabung dan siapkan sistem terbaik untuk perusahaan Anda