Banyak yang sering bertanya ke kami, “Berapa sih biayanya jika ingin buat aplikasi A atau sistem B?” Jawaban yang selalu kami berikan kepada klien yang bertanya demikian adalah “tergantung“. Apa yang kemudian menyebabkan jawabannya seperti itu? Yaitu karena dalam proyek ada istilah “Project Triangle” yang sangat krusial dalam proses pengembangan sistem.
Pada dasarnya skema pricing development perangkat lunak berbeda dengan pricing pada jenis bisnis lain seperti ritel, properti, maupun manufaktur. Ambil contoh, jika kita ingin membangun sebuah rumah. Secara umum kita dapat lebih mudah mengukur harga pembangunan rumah tersebut bahkan hanya dengan mengetahui luas tanah. Biaya membangun rumah per meter pun sudah ada standarnya, sehingga dapat terestimasi besaran biaya yang harus dikeluarkan dengan presisi.
Pada saat dibangun, kecil kemungkinan tanah kita akan bertambah atau berkurang luasnya karena semua sudah fixed diawal. Maka luas tanah menjadi variabel tetap yang membuat estimasi harga pembangunan rumah lebih terprediksi.
Disisi lain, jika kita berbicara mengenai pengembangan aplikasi atau sistem, tidak ada tolak ukur yang pasti sebelum development dimulai. Segala requirement disisi development sifatnya dinamis sekali dan mudah berubah. Yang sudah disepakati di awal pun ketika proses pengembangan berjalan, besar kemungkinan tetap akan berubah karena berbagai faktor seperti klien berubah pikiran setelah proses iterasi bersama tim developer, berubahnya keinginan pengguna dan sebagainya. Pada akhirnya akan membawa kita pada isu the cone of uncertainty seperti yang dijelaskan di artikel sebelumnya.
Dalam tulisan ini setidaknya kami akan membahas alasan dibalik mengapa harga development itu tidak mudah untuk dijawab di awal karena kualitas produk sangat bergantung dengan beberapa faktor. Faktor ini sering dikenal dengan konsep project triangle atau triple constraint dalam dunia project management. Konsep project triangle menjelaskan bahwa kesuksesan sebuah proyek dipengaruhi oleh tiga hal utama yaitu budget/cost; deadline/time; dan features/scopes.
Time/Deadline
Waktu yang dibutuhkan untuk menyelesaikan suatu proyek sangat bervariasi tergantung dari jumlah fitur yang ingin dikembangkan, kompleksitas fitur tersebut, kebutuhan integrasi dengan sistem lain, dan lain sebagainya. Hal lain yang juga mempengaruhi kecepatan waktu development adalah jumlah developer atau orang yang incharge di proyek tersebut, pengalaman, kemampuan, product knowledge, dan lain sebagainya.
Cost/Budget
Disisi lain biaya yang dibutuhkan dalam sebuah proyek, sangat bergantung pada jumlah orang yang incharge dalam proyek tersebut dan estimasi waktu yang dibutuhkan. Dengan jumlah orang yang lebih banyak waktu development dapat berkurang, namun biaya personal akan meningkat.
Features/Scopes
Scopes menggambarkan outcome dari proyek yang dikerjakan, yang biasanya meliputi list of deliverables, standard quality, project documentation, dan lain sebagainya. Scopes menjadi kunci utama yang menentukan jumlah waktu yang dibutuhkan dan harga yang harus dikeluarkan dalam pengembangan sebuah aplikasi atau perangkat lunak.
Bagaimana Menerapkan Project Triangle?
Ketika kita me-manage sebuah proyek, ada beberapa variabel yang dapat berubah dan ada yang tidak. Project triangle ini memberikan kita pemahaman mengenai apa yang bisa dan tidak bisa disesuaikan selama proyek berjalan. Sebagai contoh, jika kita dikejar deadline untuk segera launching, kita dapat mengurangi beberapa fitur yang less important. Dalam hal ini mengurangi scope. Kemudian kita dapat mendedikasikan beberapa developer tambahan agar pekerjaan dapat selesai sesuai dengan deadline. Yang mana meningkatkan cost. Kita juga bisa, jika memungkinkan, merubah deadline untuk memberikan tambahan waktu. Semua skenario tersebut dapat diaplikasikan dalam proses manajemen project triangle tergantung dari kebutuhan kita saat itu
Setiap pilihan yang kita pilih membawa konsekuensi tersendiri. Jika ingin menghasilkan produk yang berkualitas, maka secara cost dan time akan lebih besar. Disisi lain jika kita ingin produk yang lebih cepat selesai, konsekuensinya dari sisi harga bisa lebih mahal, namun secara kualitas tidak begitu baik. Jika fokus kita adalah budget constraint, maka konsekuensinya adalah kualitas produk yang tidak begitu baik dan butuh waktu yang lebih lama untuk digunakan. Satu hal yang pasti, tidak mungkin satu produk mampu memenuhi kriteria produk berkualitas namun dengan waktu pengerjaan yang cepat dan harga yang murah.
Penutup
Pada dasarnya, konsep ini memainkan peran penyeimbang, sebagaimana ketika kita juggling, hal itu terlihat mudah sampai kita mencobanya sendiri. Dan sama seperti juggling, membutuhkan waktu untuk latihan. Untuk seorang project manager, hal ini berarti butuh waktu untuk mengerti konsep dari project triangle dan proyek yang akan dikerjakan. Anda harus mampu menganalisis dan melakukan riset terlebih dahulu mengenai skenario apa yang mungkin terjadi kedepan, sehingga jika Anda harus menyesuaikan pada salah satu faktor, baik itu budget, time, atau scope, Anda melakukannya based on pengetahuan dan pertimbangan yang matang.
Tips! At least pilih dua diantara ketiga faktor ini untuk diprioritaskan dan biarkan satu faktor yang lain berada pada titik yang tidak optimal. Contoh, fokus pada kualitas yang bagus dan harga yang affordable, maka kita harus menerima bahwa waktu deliverables akan lebih lama.