Saya telah ditugaskan untuk mengelola proyek yang di-outsourcing-kan ke beberapa pengembang Ukraina.
Perusahaan mempekerjakan mereka melalui Elance dengan harga tetap . Pada saat itu bos saya meninggalkan saya sendirian untuk menangani mereka dan menyelesaikan pekerjaan. Saya membuat spesifikasi terperinci dari hal lengkap yang perlu dilakukan.
Proyek ini melibatkan berurusan dengan hal-hal seperti XMPP, RabbitMQ, dan Database. Dalam pertemuan pertama saya dengan mereka (selalu IM) saya menjelaskan dengan seksama apa yang harus mereka lakukan. Mereka tampaknya memahaminya - dan mereka sangat yakin bahwa itu akan dilakukan dengan mudah.
Sejauh ini bagus. Tetapi setelah satu minggu, ketika kami bertemu lagi, mereka penuh dengan kesalahpahaman tentang apa yang perlu dilakukan. Ketika saya bertanya kepada salah satu pengembang apakah dia mengenal XMPP, dia bilang dia bekerja dengannya untuk pertama kalinya. Pada pertemuan pertama kami, saya secara khusus menyebutkan kompleksitas proyek dan teknologi yang terlibat. Plus, saya telah berulang kali meminta mereka untuk menulis spesifikasi fungsional persis BAGAIMANA mereka akan melakukannya. Tetapi mereka mengatakan TIDAK, dan bersikeras bahwa mereka lebih suka menulis kode. Saya bilang OK.
Proyek selesai setelah 3 minggu dan mereka mengirimkan apa yang dibutuhkan. Pada saat itu saya mulai meninjau kode. Sebagian besar tidak apa-apa, tetapi ada beberapa masalah penting:
- mereka mengkodekan beberapa hal yang perlu dipisahkan menjadi file konfigurasi
- ada beberapa file konfigurasi yang perlu saya konsolidasi menjadi satu
- mereka menulis sama sekali TIDAK dokumentasi
- beberapa perubahan kecil lainnya
Saya meminta mereka untuk melakukan perubahan ini (kecuali dokumentasi) - Dan, kami memiliki argumen.
Mereka berkata, karena harganya sudah tetap, saya tidak adil dalam meminta mereka untuk melakukan perubahan begitu mereka menyelesaikan kode kerja. Bahwa mereka telah bekerja untuk waktu yang tidak masuk akal pada proyek dan sekarang benar-benar salah untuk meminta apa pun.
Akhirnya sekarang mereka telah membuat perubahan, dan proyek selesai. Tapi itu meninggalkan beberapa pertanyaan di benak saya ...
Mereka melakukan apa yang dibutuhkan tetapi saya perlu melakukannya dengan benar , dan karenanya perubahan. apakah saya benar-benar tidak adil?
Mengapa saya setuju membiarkan mereka kode tanpa spesifikasi fungsional?
Mengapa saya tidak memastikan bahwa mereka memahami segalanya pertama kali?
Adakah yang menemukan diri mereka dalam posisi yang sama? Apakah Anda pikir ada cara yang lebih baik untuk mengelola proyek outsourcing?
- PEMBARUAN -
Terima kasih untuk semua pendapat - setelah merefleksikan seluruh pengalaman, saya dapat menyimpulkan ...
Meskipun saya tidak samar-samar dalam spesifikasi dari sisi saya, saya pasti tidak membuatnya kaku seperti yang disarankan. Jadi kesimpulannya adalah: selalu sespesifik mungkin - baca spesifikasi Anda dari sudut pandang mereka juga dan lihat apakah Anda melewatkan sesuatu. Ulangi setidaknya tiga kali.
Hanya menentukan apa yang harus dilakukan kode itu tidak cukup. Anda harus menentukan seperti apa kode itu seharusnya. Akan seperti apa struktur direktori; bahkan nama file jika memungkinkan. Ini akan menyelamatkan Anda dari banyak gangguan nanti. Tentukan dengan jelas pedoman pengkodean, konvensi penamaan variabel, format dokumentasi internal, dll. Pastikan bahwa mereka mematuhi pedoman tersebut, dan jika tidak, teriak.
Menuntut spesifikasi fungsional dari pihak mereka - bersikeras bahwa itu ditulis sebelum kode apa pun. Ini akan menghilangkan banyak kebingungan dan kesalahpahaman.
Tinjau kode yang sedang dikembangkan sehingga Anda mengidentifikasi anomali sebelumnya dan memperbaikinya. Bicaralah dengan mereka setidaknya sekali setiap hari.
Terakhir, cobalah membuat hubungan yang baik dengan mereka. Buat mereka merasa bahwa Anda menghargai pekerjaan mereka. Jangan memaksakan mereka secara berlebihan agar sesuai dengan pedoman Anda - sebaliknya minta mereka untuk melakukannya dan katakan pada mereka bahwa itu akan membuat pemeliharaan kode jauh lebih mudah bagi Anda setelah mereka menyelesaikan proyek.