Apakah kode outsourcing lebih mahal dalam jangka panjang? Apakah itu merusak kualitas kode? [Tutup]


16

Saya mengetahui sebuah perusahaan yang memiliki kekayaan intelektual dari produk perangkat lunak yang layak dan menghasilkan pendapatan yang sangat baik dari lisensi per tahun. Namun, direktur (non teknis) mengeluh tentang biaya mempertahankan tim pengembangan, karena memakan margin keuntungan secara signifikan, dan sedang mempertimbangkan outsourcing pengembangan modul tertentu ke negara lain yang mengenakan biaya pada tingkat yang lebih rendah.

Secara pribadi, saya tidak berpikir ini akan menjadi solusi yang lebih efektif dalam jangka panjang. Hal ini dapat menyebabkan gangguan komunikasi ketika ada masalah, selain itu spesifikasi harus kedap air yang akhirnya bisa memakan waktu lebih lama. Menurut pendapat saya, ketika bekerja dalam tim komunikasi adalah kuncinya - atau adakah cara yang efektif untuk membuat ini berhasil?


24
Biaya gaji programmer memakan margin keuntungan perusahaan perangkat lunak? Siapa yang akan melemparnya ?!
Dima

20
PHB menginginkan lebih banyak uang -> PHB menyadari bahwa ia harus membayar upah -> PHB memutuskan untuk menyingkirkan semua orang untuk orang yang lebih murah -> perusahaan turun ke tabung. Ini catatan lama yang lelah.
Steven Evers

2
"Biaya gaji pemrogram memakan margin keuntungan dari perusahaan perangkat lunak? Siapa yang akan membuangnya?", Dan, pada saat itu saatnya bagi perusahaan untuk keluar dari pengembangan perangkat lunak dan fokus pada dukungan perangkat lunak sekarat produk. : - /
the Tin Man

19
Ini dapat bekerja, tetapi Anda memerlukan perusahaan inti untuk berlokasi di negara baru karena komunikasi yang diperlukan. Perusahaan Anda mungkin akan menghemat sedikit uang outsourcing posisi direktur itu juga.
dietbuddha

1
Salah satu contoh yang lebih buruk adalah Quark dan QuarkXPress, yang berubah dari 95% pangsa pasar menjadi hampir tidak ada.
gnasher729

Jawaban:


41

Saya yakin seseorang memiliki contoh kerja ini, tetapi saya belum melihatnya.

Saya telah bekerja di perusahaan Fortune 500 selama bertahun-tahun di mana mereka mengalihdayakan banyak pengembangan. Saya tidak punya satu contoh pun di tahun-tahun itu tentang proyek outsourcing yang harganya lebih murah daripada jika kami melakukannya sendiri (in-house).

Sementara tingkat pemrograman mereka kurang dari kami, kami menghabiskan 3 kali jumlah waktu mengelola tim outsourcing daripada yang kami lakukan untuk tim in-house. Itu di atas waktu tambahan yang diperlukan untuk memiliki persyaratan lebih rinci daripada yang dibutuhkan tim internal kami dan waktu tambahan yang diperlukan dalam QA karena kode tidak pernah hampir benar.


1
+1 - Milik saya juga ... Saya ingin tahu apakah semua perusahaan menggunakan buku pedoman yang sama.
Ali

Itu yang saya harapkan.
Seth

Saya telah melihat ini di tempat kerja lama saya. Mereka menghabiskan lebih banyak uang pada akhirnya, karena mereka harus terbang bolak-balik untuk mengelola pengembang jarak jauh. Perusahaan tidak lagi melakukan pengembangan perangkat lunak: mereka menyesuaikan produk M $.
Giorgio

31

Anda dapat memiliki dengan cepat, Anda dapat memilikinya dengan murah, atau Anda dapat melakukannya dengan baik. Anda tidak dapat memiliki ketiganya, dan saya berpendapat bahwa bahkan dua dari tiga bisa menjadi peregangan.


18

Untuk perusahaan perangkat lunak, ini benar-benar bodoh. Keputusan terdekat yang bisa diambil untuk mengambil keputusan yang cukup cerdas adalah memindahkan perusahaan ke lokasi lain yang memiliki bakat lebih murah.

Perusahaan perangkat lunak melakukan alih daya pengembangan perangkat lunak mereka bukan lagi perusahaan perangkat lunak. Saya berpendapat bahwa setiap keuntungan yang diperoleh akan berumur pendek, karena Anda menciptakan pesaing Anda sendiri. Begitu mereka menyadari bahwa mereka tahu produk itu lebih baik daripada Anda, maka mereka juga menyadari bahwa mereka tidak membutuhkan Anda lagi.


9
+1 Saat ini menyentuh pada aturan "Jangan pernah mengalihdayakan kompetensi inti Anda"
Sparky

Sangat tergantung pada pengembangannya - misalnya, kami mengalihdayakan laporan skrip dan dasbor yang menggunakan API produk basis data time series kami, karena kami tidak memiliki cukup staf untuk melakukan semua skrip atau penyesuaian pelanggan yang berbeda di rumah . Mengalihtugaskan pengembangan produk inti, ya, tetapi tidak semua pengembangan perangkat lunak adalah kompetensi inti.
Pete Kirkham

13

Satu-satunya pengalaman saya melakukan outsourcing ke perusahaan di negara lain adalah yang terakhir. Perusahaan yang disewa, gagal menyelesaikan pekerjaan mereka tepat waktu atau bahkan memenuhi spesifikasi secara jarak jauh, dan mengakibatkan kami harus mengulangi seluruh lot lagi di rumah.

Namun, jika Anda dapat menemukan perusahaan yang dapat dipercaya yang dapat Anda percayai (yaitu Anda telah melihat / mendengar hal-hal baik tentang mereka dari orang lain) maka mungkin itu bermanfaat.


Apakah tidak ada klausul dalam kontrak yang menentukan produk akhir?
snmcdonald

16
@ snmcdonald: Klausa seperti itu sangat sulit untuk ditentukan secara memadai, dan sangat sulit untuk ditegakkan melintasi batas-batas internasional. Dan jika perusahaan outsourcing tidak memberikan, tidak masalah apa yang ada dalam kontrak: Anda kacau. Bahkan jika Anda akhirnya tidak membayar sepeser pun kepada mereka, Anda baru saja mencurahkan usaha Anda sendiri dan semua waktu kalender ke toilet.
Bob Murphy

1
@ snmcdonald Ya produk akhir jelas ditentukan, dengan bagian-bagian individu ditentukan oleh prioritas. Ketika sampai pada mereka mengirimi kami apa yang telah mereka lakukan 3 bulan kemudian, sekitar 2 minggu dari rilis produk, mereka mengirimi kami versi yang sangat tidak lengkap yang mencakup beberapa hal yang tidak kami butuhkan bersama implementasi yang sangat buruk dari yang paling penting (jika mereka ada di sana sama sekali). Secara keseluruhan sangat mahal dan mengecewakan!
adamk

10

Direktur ingin mengganti beberapa pengembang lokalnya yang berpengalaman dengan orang-orang di negara yang jauh yang keahliannya tidak kompeten untuk dinilai, yang tidak memiliki pengalaman dengan kode sama sekali, dan yang tidak dapat secara langsung diawasi atau dibimbing oleh siapa pun yang tahu Kode.

Saya sudah melalui itu dua kali. Dalam kedua kasus, perusahaan asing yang murah gagal memberikan tepat waktu dengan kualitas yang memadai. Ketika pengembang lokal mendengar pekerjaan menuju ke luar negeri, mereka menemukan pekerjaan lain daripada menunggu untuk dibuat mubazir. Ketika pendarahan keahlian berlanjut, jadwal merosot, bug kritis tidak diperbaiki, pelanggan menjadi marah dan beralih ke pesaing, dan akhirnya kedua perusahaan terlipat.

Ada juga masalah aneh dengan komunikasi, harapan, dan budaya. Misalnya, tim asing tidak memeriksa banyak kode atau merespons email dengan segera. Ternyata manajer TI lokal mendapat bonus karena menekan biaya, sehingga ia memiliki seluruh kantor dengan koneksi internet berkecepatan rendah. Di lain waktu, penguji QA dunia ketiga secara rutin memasukkan beberapa bug yang sangat berbeda ke dalam laporan bug yang sama; manajer mereka takut kehabisan nomor bug.

Beberapa tim di tempat yang murah tidak masalah. Dari apa yang saya dengar, Red Hat tampaknya memiliki tim yang sangat kompeten di Beijing. Tetapi mereka sudah memiliki pengalaman bertahun-tahun dengan orang-orang yang bekerja dari seluruh dunia melalui telecommute sebelum mereka mulai melakukan itu, dan orang-orang di Beijing adalah karyawan Red Hat, bukan perusahaan outsourcing.


9

Ya - Anda mendapatkan apa yang Anda bayar.

Dalam pengalaman saya, kecuali kebutuhan pasar dan pengembangan Anda sangat sederhana, mereka dapat dengan mudah dijelaskan melalui email ke pengembang mana pun dengan hambatan bahasa yang mungkin, dan sangat sederhana sehingga bahkan pengembang yang tidak benar-benar berinvestasi di perusahaan masih dapat berhasil dalam menciptakan produk yang berkualitas, maka ya produk Anda akan menderita .

Saya bekerja di sebuah perusahaan di mana kami memiliki tim pengembangan lokal yang besar, dan produk kami menderita hanya karena tim manajemen mencurahkan lebih banyak uang dan upaya dalam penjualan. Karena begitu banyak upaya dicurahkan ke dalam penjualan, tampaknya kami melakukan "baik-baik saja" - tetapi itu berarti untuk mendapatkan pendapatan kami terikat untuk terus menuangkan uang dan sumber daya ke dalam proses penjualan.

Kami memiliki tim jarak jauh tetapi kami mengintegrasikan mereka sepenuhnya ke dalam perusahaan dan mereka berpartisipasi pada tingkat yang sama dengan tim lokal kami. Itulah satu-satunya cara agar bisa bekerja . Saya adalah pemimpin tim lokal untuk mereka dan kami terbang untuk bekerja di lokasi bersama mereka secara teratur. Kami memberi mereka kemeja dan jaket perusahaan seperti tim lokal. Setelah semua dipertimbangkan, mungkin menghemat 20-30% kami. Jika Anda menyusun sistem yang berupaya memotong biaya lebih dari itu, produk Anda akan menderita karenanya.


3

Jika Anda bekerja dengan tim outsourcing yang berkualitas, dan manajemen bersedia untuk berkomunikasi dan menegakkan kriteria penerimaan.

Maka biayanya kira-kira sama dengan produk yang dikembangkan sendiri.

Anda juga bisa mendapatkan kualitas yang sama, jika Anda beruntung.

Saya mungkin sedikit bias karena perusahaan saya menyimpan staf pengembangan in-house, dan belum outsourcing pengembangan produk apa pun. Saya menduga pengalaman yang kami miliki dengan mitra integrasi yang mengalihdayakan pembangunan terkait dengan keputusan itu.


3

Dalam pengalaman saya, outsourcing proyek bukan solusi terbaik ketika mencoba untuk mendapatkan margin yang lebih baik.

Di tempat kerja kami mengalami hal seperti itu dan baik, seperti yang orang lain juga katakan, kami akhirnya melakukan hal lubang dan mempertahankan apa yang ada di server produksi. Kesimpulannya, biayanya dua kali lipat.

Pendapat saya tentang masalah ini adalah bahwa jika Anda berpikir untuk mencoba membuat perbedaan tentang pengembangan outsourcing margin, Anda mungkin membuang investasi Anda. Jika Anda berpikir tentang hal itu, kesuksesan produk adalah masalah hal-hal yang berfungsi sebagaimana mestinya, jadi jika Anda mengubah tim pengembang, hal-hal dapat berubah menjadi buruk.


1

Perangkat lunak open source yang terencana / dikerjakan dengan baik bisa menjadi jawaban Anda, karena itu bisa sangat menguntungkan dan pemeliharaannya agak didelegasikan ke komunitas, tetapi tidak ada resep untuk sukses. Saran terbaik yang bisa saya berikan adalah merekomendasikan beberapa pembicaraan tentang apa yang sebenarnya open source dan kebodohannya:

Dan mungkin juga:

Hal tentang open source, menurut saya, adalah untuk membangun sesuatu yang bernilai dan menarik tidak hanya untuk Anda tetapi untuk semua, kekuatan open source terletak di dalam komunitas.

Juga, jika bos / perusahaan Anda enggan untuk membuka perangkat lunak, cukup isolasi spesifik logika dan pengetahuan bisnis Anda sendiri. Jadi, apa yang akan Anda lakukan:

  1. Inkubasikan proyek sumber terbuka dengan sumber daya Anda
  2. Tumbuhkan komunitas
  3. ???
  4. Keuntungan =)

Ya, saya serius, dan "???" melibatkan strategi apa pun yang ingin Anda kejar setelah Anda mengumpulkan cukup minat. Dengan alat hari ini seperti Github dan twitter Anda dapat menyebarkan kata lebih mudah, tetapi ingatlah bahwa kesan pertama Anda harus cukup menarik.

Jika Anda tidak benar-benar menginginkan open source ( yang harus Anda pahami sebagai model bisnis sebelum mengimplementasikannya, jika Anda ingin sukses ), Anda selalu dapat meluncurkannya sebagai layanan, untuk itu periksa video Carsonified, tetapi itu menyiratkan keseluruhan banyak hal lain untuk perusahaan Anda.

Pada akhirnya, menjadi open source atau meluncurkannya sebagai layanan adalah cara untuk membuat proyek ini berkelanjutan dalam jangka panjang.


1

Saya tidak ingat penulis kutipan ini, tetapi itu memukul paku.

" Tim yang digabungkan secara longgar bekerja bersama pada komponen yang berpasangan erat gagal. Tidak dapat dihindari "

Alih daya = tim yang digabungkan secara longgar.

Mencoba mengurangi biaya dengan membagi pekerjaan secara geografis pada komponen yang saling tergantung selalu gagal.

Di sisi lain, berdasarkan pengalaman saya, memindahkan seluruh bagian dari portofolio perangkat lunak mungkin bekerja, artinya dapat dikembangkan dengan kualitas yang baik dengan biaya yang lebih murah.


bagaimana ini menjawab pertanyaan yang diajukan?
nyamuk

Tubuh pertanyaannya adalah tentang outsourcing = tim yang digabungkan secara longgar. Mencoba mengurangi biaya dengan membagi pekerjaan secara geografis pada komponen yang saling tergantung selalu gagal. Di sisi lain, berdasarkan pengalaman saya, memindahkan seluruh bagian dari portofolio perangkat lunak mungkin bekerja, artinya dapat dikembangkan dengan kualitas yang baik dengan biaya yang lebih rendah.
Maros Urbanec

1
@MarosUrbanec - komentar Anda harus menjadi bagian dari jawaban Anda. Kutipan itu sendiri tidak cukup kuat untuk berdiri sendiri sebagai jawaban.

1
@MarosUrbanec +1 Kutipan yang bagus, saya menambahkan komentar Anda ke badan jawaban untuk membuatnya lebih seperti jawaban.
Tulains Córdova
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.