Apa kewajiban Anda saat pengisian oleh jam vs pengisian oleh proyek?
Intinya sama saja. Menjadi profesional.
Jika Anda setuju untuk mengambil proyek, berikan perkiraan kasar bahwa mungkin perlu 10 hari bagi Anda untuk bekerja dan menagih £ X per jam - apakah Anda berkewajiban bekerja secara gratis setelah 10 hari itu habis dan Anda masih belum berhasil untuk menyelesaikan proyek Anda karena masalah yang tidak terduga?
Tidak - selama kira-kira 10 hari, maka Anda baik-baik saja. Saya akan mendefinisikan sekitar 10 hari di mana saja antara 50 - 120 jam di ujung yang ekstrim. Lebih dari 120 jam (50% dikuasai) cukup banyak di luar batas.
Meskipun "masalah yang tidak terduga" meninggalkan banyak ketidakjelasan. Para profesional yang berpengalaman mengantisipasi lebih banyak masalah daripada pengembang baru. Namun, jika klien tahu Anda adalah pengembang baru (dan tahu mereka mendapatkan diskon signifikan karenanya) maka ada beberapa ruang gerak di sini.
Bagaimana jika Anda telah mengirimkan proyek tetapi bug ditemukan - haruskah Anda memperbaiki bug ini secara gratis jika 10 hari sudah habis atau Anda harus membebankan biaya kepada klien Anda?
Bug? Ya - Anda harus memperbaikinya secara gratis. Anda tidak dibayar selama 10 hari untuk menghasilkan kode yang rusak.
Sekarang, sekali lagi, "bug" agak kabur. Ada bug show-stopper (seperti, program tidak berjalan - jelas kesalahan Anda) dan bug case-edge (program memotong teks pada Windows yang dilokalkan Turki dengan IME Cina diaktifkan - tidak terlalu masuk akal). Sebagian besar jatuh di suatu tempat di tengah, tetapi beban pembuktian ada pada Anda.
Ada juga bug spesifikasi - ini yang paling sulit. Anda harus menggunakan penilaian Anda, apakah Anda seharusnya mengantisipasi, mempertanyakan atau menyiratkan perubahan spesifikasi. Sekali lagi, saya akan membebani Anda.
Untuk proyek 10 hari (80 jam) dengan pengembang hijau, 10 - 15 jam perbaikan bug lainnya tidak akan terlalu banyak untuk ditanyakan. Apa pun yang terjadi, saya akan mencoba menghitung pembayaran - meskipun saya mungkin akan melakukan 5 hingga 10 jam gratis sebelum memecat klien.
Juga, untuk proyek di atas, apa yang harus menjadi hasil ketika Anda memulai proyek, tetapi setelah 10 hari untuk alasan apa pun Anda harus menyerah dan memberi tahu klien Anda bahwa Anda tidak dapat melakukannya lagi? Saya menyadari bahwa ini tidak melakukan apa pun untuk membangun reputasi dan hubungan Anda dengan klien tetapi apakah Anda berkewajiban untuk membayar kembali uang yang dibayarkan kepada Anda atau apakah Anda hanya memberikan kode sumber yang setengah hampir selesai dan membantu mereka menemukan orang lain untuk menyelesaikannya?
Anda mengembalikan uang itu. Jika Anda tidak dapat menyelesaikan proyek, kemungkinan Anda tidak dapat menilai setengah selesai. Jika klien mempekerjakan Anda, kemungkinan besar mereka tidak dapat menilai setengah jadi. Jika Anda dapat menemukan orang lain untuk menyelesaikannya, Anda dapat mensubkontrakkan kepada mereka - perbedaan dalam apa yang mereka kenakan kepada Anda dan apa yang sudah Anda hasilkan adalah keuntungan (atau kerugian) Anda.
Pada akhirnya, sering kali lebih baik membungkuk ke klien dan menuliskannya sebagai pelajaran. Setelah beberapa saat, Anda akan dapat menemukan "klien bermasalah" dan menghindarinya (atau menaikkan harga mereka) di awal. Anda juga akan belajar memperkirakan sedikit lebih baik, membuat biaya perbaikan bug ke dalam harga Anda, dll.
Sebagai pengembang siswa, Anda memiliki beberapa kelonggaran. Tidak ada yang akan menuntut Anda atas bayaran yang Anda kenakan untuk proyek 10 hari. Anda tidak akan pernah mendapatkan bisnis apa pun dari klien itu (atau teman-temannya) lagi - tetapi, karena mereka mempekerjakan pengembang siswa, kemungkinan mereka hanya menginginkan tenaga kerja murah dan tidak mengerti berapa biaya sebenarnya untuk menyewa pengembang yang baik. Anda tidak akan kehilangan banyak hal di masa depan kecuali sakit kepala - meskipun dengan biaya hati nurani yang bersih.
Saranku? Selesaikan saja - Anda akan merasa lebih baik, klien akan merasa lebih baik, dan Anda akan menjadi pengembang dan pengusaha yang lebih baik untuk itu. Ini bukan pekerjaan yang layak selama bertahun-tahun - dan Anda memiliki semua teman di Stackoverflow dan Stackexchange untuk membantu. ;)