Saya mencoba mencari tahu alasan keputusan Anda tentang kapan melakukan apa. Saya senang memberikan lebih banyak konteks, tetapi saya ingin menjadikannya umum untuk saat ini.
Saya mencoba mencari tahu alasan keputusan Anda tentang kapan melakukan apa. Saya senang memberikan lebih banyak konteks, tetapi saya ingin menjadikannya umum untuk saat ini.
Jawaban:
Kurasa terlalu disederhanakan, tapi semacam itu berlaku sebagai pedoman umum:
DAN:
Jika ya, maka saya lebih suka menulisnya daripada membelinya.
Jika total biaya kepemilikan produk (termasuk pengembangan, pengujian, pemeliharaan, dukungan atau pengeluaran terkait) lebih tinggi dari biaya produk, dan bahwa pengembalian investasi yang dihitung tidak akan mengimbangi biaya ini, maka Anda lebih baik membelinya dan pindah.
Hal-hal yang perlu dipertimbangkan untuk keputusan membuat-atau-beli
biaya pengembangan / biaya pemeliharaan vs biaya produk / biaya untuk kontrak perawatan: tentu saja, itu adalah hal yang jelas, tetapi itu sebenarnya bukan satu-satunya hal. Misalnya, jika saya akan menggunakan perangkat lunak tidak hanya untuk perusahaan saya sendiri, tetapi juga ingin menjualnya kepada orang lain, maka perhitungannya terlihat sangat berbeda.
Ketersediaan produk yang cocok. Untuk banyak proses bisnis, tidak ada standar perangkat lunak yang tersedia. Atau ada sesuatu yang tersedia, tetapi tidak cocok, karena berisi 100 fitur yang Anda perlukan hanya 3 dengan cara yang sedikit berbeda, sementara 2 fitur penting lainnya hilang.
Apakah seseorang ingin mendapatkan ketergantungan dari vendor pihak ketiga? Terutama vendor yang lebih kecil memberi Anda selalu risiko bahwa vendor menghilang dari pasar di masa depan, atau pengembangan lebih lanjut dari produk tidak berjalan ke arah yang Anda butuhkan. Untuk produk yang Anda miliki di bawah kendali Anda sendiri, Anda dapat mengarahkan arah pengembangan dengan lebih baik.
Kapan saya memerlukan perangkat lunak tertentu, dan apa yang lebih cepat: kembangkan sendiri, atau beli sesuatu, sesuaikan sampai cocok dengan proses saya dan jalankan? Membeli sesuatu dari rak mungkin tampak alternatif yang lebih cepat dan kadang-kadang lebih murah, tetapi saya pribadi telah melihat juga skenario di mana mengembangkan perangkat lunak tepat untuk kebutuhan perusahaan, menyesuaikan dengan proses bisnis yang ada, menghemat banyak waktu dibandingkan dengan membeli sesuatu dan mengajar beberapa ratusan pengguna melakukan pekerjaan mereka dengan cara yang baru dan berbeda, sehingga biaya pengembangannya terabaikan.
Apa pun yang ada hubungannya dengan kriptografi. Ada 100.000 cara untuk melakukan kesalahan dan mengekspos perangkat lunak Anda terhadap kerentanan keamanan serius dan hanya beberapa cara untuk melakukannya dengan benar. Dibutuhkan keahlian tinggi untuk ini.
Pada tingkat pribadi, saya mengembangkan kombinasi aneh dari apa yang saya inginkan dan apa yang akan menarik untuk ditulis.
Pada tingkat profesional, @haylem membuat poin keseluruhan yang bagus tentang kapan membeli dan kapan harus menulis. Saya akan mengatakan bahwa ada elemen besar yang diabaikan: kesempatan. Bagi perusahaan yang lebih besar, menurut saya, masuk akal untuk menulis lini inti aplikasi bisnis (tidak semua lini aplikasi bisnis) ketika melakukan hal itu membuat perusahaan lebih gesit. Ada biaya peluang yang terkait dengan pembelian perangkat lunak karena dengan demikian perusahaan Anda (bukan hanya TI Anda) dikunci ke cara vendor memandang domain Anda.
Untuk kebanyakan hal, itu tidak masalah. Sistem akuntansi Anda sebaiknya tidak kreatif. Pengolah kata Anda akan sama dengan yang lainnya. Tetapi hal-hal yang membuat Anda menjadi lebih baik ditulis di rumah sehingga dapat beradaptasi dengan apa yang ingin dicapai oleh bisnis Anda.
Ini, seperti hampir semua jawaban lain katakan, keputusan biaya-manfaat:
Ini berujung pada apakah biaya, yang diimbangi dengan manfaat, dari solusi yang dikembangkan sesuai pesanan lebih kecil daripada biaya produk yang tidak tersedia.
Ada juga biaya peluang untuk dipertimbangkan. Memahami bahwa ini tidak termasuk dalam biaya riil pengembangan vs pembelian, tetapi di dunia yang lebih luas, Anda harus mempertimbangkannya. Jika staf pengembangan in-house Anda mengerjakan satu proyek ini, mereka tidak mengerjakan proyek lain; itu berarti jika ada proyek lain dalam daftar yang membebani Anda uang setiap hari itu tidak dilakukan, itu mungkin menjadi prioritas yang lebih tinggi yang menyebabkan Anda menangguhkan atau bahkan membatalkan pengembangan kustom dan pergi dengan paket off-the-shelf. Namun, jika tidak melakukan proyek ini berarti staf di rumah Anda duduk di tangan mereka, biaya pengembang hangus; Anda membayar staf pengembangan Anda apakah mereka bekerja atau tidak, sehingga Anda akan dikenakan biaya keseluruhan lebih sedikit jika Anda menggunakannya untuk potensi mereka.
Saya berasumsi Anda bertanya dalam konteks profesional, komersial, dan bahwa kita sedang berbicara tentang bagian utama dari sistem Anda daripada perpustakaan tunggal.
Ada situasi ketika organisasi Anda dapat menggunakan produk yang tidak tersedia. Misalnya, beberapa orang akan menulis pengolah kata mereka sendiri - mereka menggunakan MS Word, atau OpenOffice, atau apa pun. Sama untuk spreadsheet. Perhatikan bahwa Anda mungkin "menyesuaikan" pengolah kata Anda dengan template atau makro Anda sendiri, tetapi orang-orang tidak menganggapnya pengubahsuaian. Itu hanya "menggunakan" pengolah kata, seperti yang mereka lihat.
Dimungkinkan untuk menggunakan sistem yang lebih rumit dengan cara yang sama, dari webshop ke sistem ERP. Tetapi akan ada titik di mana desainer Anda atau orang-orang pengembangan bisnis akan menginginkan perubahan yang tidak termasuk dalam standar. Desain ulang halaman checkout, mungkin, atau cara baru untuk menghitung penawaran diskon.
Jika Anda tahu itu dari awal, maka keputusan Anda benar-benar Membuat atau Menyesuaikan . Hanya Beli tidak lagi menjadi pilihan. Dan bahkan jika tidak ada persyaratan seperti itu saat ini, apakah Anda mengharapkan kolega Anda datang dengan mereka nanti?