Jika perangkat lunak harus digunakan secara taktik atau strategis atau merupakan inti dari bisnis Anda, maka memiliki programmer yang juga memahami bisnis dapat menjadi kunci. Mereka juga perlu memahami dukungan dan siklus hidup dan berapa biaya perusahaan Anda untuk mendukung sistem setelah rilis.
Saya tidak berpikir bahwa biaya umumnya merupakan faktor nyata. Jika seseorang mengklaim itu, mereka tidak tahu atau berbohong. Jika Anda melakukan outsourcing, Anda membayar margin keuntungan orang lain di atas biaya mereka. Penghematan apa pun karena perbedaan pasar tenaga kerja geografis biasanya dengan cepat dibuat dalam peningkatan biaya komunikasi dan pendidikan, dan perbedaan angka itu tidak sebesar sebelumnya, karena negara berkembang disebut demikian karena suatu alasan.
Ada banyak jenis perangkat lunak di luar sana. Dalam banyak kasus, Anda dapat memasang iklan sesuatu dan baik-baik saja. Masalahnya adalah bahwa keputusan harus diambil berdasarkan kasus, dan Anda tidak dapat menyelesaikannya dalam satu ukuran untuk semua situasi.
Saya yakin ada sejuta hal yang harus dicari dalam proses pengambilan keputusan.
Akan ada kasus di mana pengembangan perangkat lunak inti yang ditentukan dengan baik mungkin dengan mudah diserahkan kepada perusahaan yang berspesialisasi dalam pekerjaan semacam itu - misalnya hal tingkat sistem seperti driver perangkat atau server web mungkin masih di-outsource oleh sebuah perusahaan yang membuat alat dan ingin mengkhususkan pada pengalaman pengguna lebih dari sekadar bahan dasar.
Di sisi lain, jika Anda akan mengendarai server web itu dengan cara khusus dan meskipun Anda telah menentukannya dengan baik, Anda akan memiliki komponen ini terikat erat dengan inisiatif pengembangan multi-fase utama, Anda mungkin tidak akan t akan ingin melakukan outsourcing itu.