Varolan bir ürünü satın almak yerine genellikle kendiniz bir yazılım modülü yazıyorsunuz?


13

Ne zaman yapacağınıza dair karar mantığını bulmaya çalışıyorum. Daha fazla bağlam sunmaktan mutluluk duyuyorum, ancak şimdilik genel yapmak istiyorum.


Seçenek # 3, "açık kaynak kitaplığı kullanın?" Bu aslında bir uzlaşma olabilir, çünkü ihtiyaçlarınıza göre ayarlayabilirsiniz.
Nathan Long

@NathanLong: iyi bir nokta, ama OP bu soruyu soruyorsa, bu sadece ilginç bir senaryo olduğu anlamına gelir. Ayrıca, bir ürün açık kaynak olabilir ve hala ticari olarak satılabilir, bu yüzden "özgür yazılım" demek istediğinizi düşünüyorum. Ve lisans türüne bağlı olarak, ihtiyaçlarınızı (örneğin yeniden satış yapmayı planlıyorsanız ve örneğin uyumsuzsa) mutlaka ayarlayamazsınız, bu nedenle bu yolda bakmak için birçok farklı faktör var. (bunun kötü bir öneri olduğunu söylemiyorum)
haylem

Yanıtlar:


17

Aşırı basitleştirilmiş sanırım, ama bu tür bir genel kural olarak doğrudur:

Kişisel Bir Ortamda

  • Kodlarken eğlendim mi?
  • VEYA kodlamadan bir şey öğrenebilir miyim?

VE:

  • Kodlamak için yeterli zamanım var mı?

Evet ise, satın almaktan çok yazmayı tercih ederim.

Profesyonel Bir Ortamda

Eğer toplam sahip olma maliyeti (geliştirme, test, bakım, destek veya bununla ilgili giderler dahil) ürünün ürünün maliyetinden daha yüksektir ve yatırım hesaplanan getiri Bu maliyeti ofset olmaz, o zaman konum satın almak ve devam etmek daha iyi.


1
+1 bazı şeyleri zaman zaman kendiniz kodlamak için çok önemlidir, aksi takdirde bir şey bir İnternet Tesisatçısı gibi diğerine katılırsınız. Ayrıca "ondan bir şeyler öğren" dengesini dengelemeniz ve bunu öğrenmek isteyip istemediğinizi / gerekip gerekmediğini belirlemeniz gerekir.
Gary Rowe

2
@GaryRowe: teşekkürler. "İnternet Tesisatçısı" ve mevcut web trendleri ve web dev iş piyasası hakkında bir şaka yapmaya direnmelidir. Arggghhhh, yine de oldukça cazip ...
haylem

Profesyonel bir ortamda, sadece geliştirme maliyeti değil, aynı zamanda devam eden bakım maliyeti ve geliştirme sırasında kaybedilen süre.
Gilbert Le Blanc

1
@ GilbertLeBlanc: doğru, Gilbert. Uçtan uca maliyet demek istedim, ancak önerdiğiniz gibi, ürünün toplam sahip olma maliyeti ile ilgili olması gerektiği için netleştireceğim.
haylem

9

Bir satın alma veya satın alma kararı için dikkat edilmesi gerekenler

  • geliştirme maliyeti / bakım maliyeti vs ürün maliyeti / bakım sözleşmesi maliyeti: elbette, bu bariz şey, ama aslında tek şey bu değil. Örneğin, yazılımı sadece kendi şirketim için değil, aynı zamanda başkalarına satmak istiyorum, o zaman hesaplama oldukça farklı görünüyor

  • Uygun bir ürünün mevcudiyeti. Birçok iş süreci için, yalnızca standart bir raf yazılımı yoktur. Veya mevcut bir şey var, ancak uygun değil, çünkü 2 farklı özellik eksikken sadece 3'e ihtiyacınız olan 100 özellik içeriyor.

  • Bir üçüncü taraf satıcıdan bağımlı olmak istiyor mu? Özellikle küçük satıcılar her zaman satıcının gelecekte piyasadan kaybolması veya ürünün daha fazla geliştirilmesi için ihtiyacınız olan yöne gitmeme riskini size sağlar. Kendi kontrolünüz altında olan bir ürün için, geliştirme yönünü çok daha iyi yönlendirebilirsiniz.

  • Ne zaman belirli bir yazılıma ihtiyacım var ve daha hızlı olan şey nedir: kendi başıma geliştirin veya bir şey satın alın, süreçlerime uyacak ve uyarlanana kadar uyarlayın? Raftan bir şey satın almak daha hızlı ve bazen daha ucuz bir alternatif gibi görünebilir, ancak şahsen bir şirketin ihtiyaçlarına tam olarak bir yazılım geliştirmenin, mevcut iş süreçlerine uymanın, bir şey satın almak ve birkaç öğretmeye kıyasla çok zaman kazandığı senaryolar gördüm. yüzlerce kullanıcı, yeni ve farklı bir şekilde işlerini yapmak için, geliştirme maliyetinin ihmal edilebilir olduğunu.


8

Kriptografi ile ilgili her şey. Yanlış yapmanın ve yazılımınızı ciddi güvenlik açıklarına maruz bırakmanın 100.000 yolu ve doğru yapmanın sadece birkaç yolu vardır. Bunun için yüksek uzmanlık gereklidir.



Bu iyi bir nokta, ama ben de "bu ile vidalama" etiketi altına düşmeye layık olacak birçok şey olduğunu düşünüyorum. Bununla birlikte, kişisel kullanım için (ve maruz kalma olmadığı ve hassas veriler için olmadığı sürece), kendiniz bir çekim yapmak kripto ile hala eğlencelidir. Birkaç yıl önce eğlenceli ve kendi kendine öğrenme için birkaç şifreyi yeniden uyguladım. Bakmak için çok büyük problemler vardı, bunu yaparken çok eğlendik ve bir ton öğrendim.
haylem

Kripto satın almaktan kaçınırdım. Güvenilir kripto kütüphaneleri genellikle açık kaynaklı veya işletim sisteminin bir parçasıdır. Çoğu kapalı kaynak kütüphanesinde kendi koduma güvenirim. En azından kripto kodunun nasıl çalıştığına dair açık ve eksiksiz bir spesifikasyon yayınlamayan herhangi bir kütüphane kullanmam.
CodesInChaos

@CodesInChaos size birkaç ticari "kapalı kaynak" paketi kaynak kodu verir.
Pieter B

Aslında bir hakemli kod daha iyi olduğunu düşünüyorum ve saldırganın algo bilmiyor varsayarak bir hata olduğunu düşünüyorum. Ama bunu neden kriptografiye bağlıyorsun?
Ramzi Kahil

0
  • yüksek zaman çaba, mevcut uydurma ürün >> ürün satın
  • tekniğe kişisel ilgi veya tüm gereksinimleri karşılayan ürün yok >>
    kendi başıma geliştir

0

Kişisel düzeyde, ne istediğimin ve neyin yazılmasının ilginç olacağını garip bir şekilde geliştiriyorum.

Profesyonel düzeyde, @haylem, ne zaman satın alınacağı ve ne zaman yazılacağı konusunda iyi bir genel noktaya işaret eder. Göz ardı edilen devasa bir unsur olduğunu söyleyeceğim: fırsat. Daha büyük şirketler için, bence, iş uygulamalarının çekirdek satırını ( tüm iş uygulamaları hattı değil) özel olarak yazmak , işletmeyi daha çevik hale getirir. Yazılım satın almayla ilişkili bir fırsat maliyeti vardır, çünkü o zaman işletmeniz (yalnızca BT'niz değil) satıcının alanınıza bakma yoluna kilitlenir.

Çoğu şey için önemli değil. Muhasebe sisteminiz yaratıcı olmasa iyi olur. Kelime işlemciniz herkesinkiyle aynı olacaktır. Ama sizi yapan şeyler evde daha iyi yazılabilir, böylece işinizin başarmaya çalıştığı şeye uyum sağlayabilir.


0

Diğer tüm cevapların söylediği gibi, bir maliyet-fayda kararıdır:

  • Bu projeyi şirket içi bir geliştiriciye veya harici bir yükleniciye özel olarak geliştirmeme için çalışma saatlerinde, malzemelerde vb. (genellikle yüksek; genel giderlerinin yanı sıra maaş ve faydaları da hesaba katarak, deneyimli bir geliştirici size büyük bir güne mal olacak; belki de ilgili finansmana bağlı olarak biraz daha fazla veya daha az)
  • Bilinen ürünü raftan satın almak bana ne kadara mal olacak? (Ürüne bağlı olarak; metin editörleri gibi genel kullanım programları genellikle ucuz, hatta ücretsizken, devre yolu tasarım ürünleri gibi özel programlar milyonlara mal olabilir)
  • Özel geliştirilmiş bir çözümden ne gibi faydalar elde edeceğim? (Tipik olarak özel bir çözüm, işletmenize daha yakındır ve böylece daha fazlasını otomatikleştirebilir veya en azından dijitalleştirebilir)

Özel olarak geliştirilmiş bir çözümün faydalarıyla dengelenen maliyetinin, hazır ürünün maliyetinden daha düşük olup olmadığı anlaşılmaktadır.

Dikkate alınması gereken fırsat maliyetleri de vardır. Bunların, satın alma ve geliştirmenin gerçek maliyetlerine dahil edilmemesi gerektiğini, ancak daha geniş dünyada bunları dikkate almanız gerektiğini anlayın. Kurum içi geliştirme personeliniz bu proje üzerinde çalışıyorsa, başka bir proje üzerinde çalışmazlar; Bu, listede her gün yapılmayan paraya mal olan başka bir proje varsa, özel geliştirmeyi rafa kaldırmanıza, hatta iptal etmenize ve hazır paketle gitmenize neden olan daha yüksek bir öncelik olabilir. Bununla birlikte, bu projeyi yapmamak şirket içi personelinizin ellerinde oturduğu anlamına gelirse, geliştirici maliyeti düşer; geliştirme personelinize çalışıp çalışmadıklarını ödüyorsunuz, bu nedenle potansiyelleri için kullanmanız genel olarak daha az maliyetli olacaktır.


0

Profesyonel, ticari bir bağlamda sorduğunuzu ve sisteminizin tek bir kütüphane yerine büyük bir kısmından bahsettiğimizi varsayıyorum.

Yap veya Satın Al ve Yap veya Özelleştir

Kuruluşunuzun hazır bir ürünü kullanabileceği durumlar vardır. Örneğin, çok az kişi kendi kelime işlemcisini yazacaktı - MS Word, OpenOffice ya da her neyse kullanıyorlar. Elektronik tablolar için de aynı şey geçerli. Kelime işlemcinizi kendi şablonlarınızla veya makrolarınızla "özelleştirebilirsiniz", ancak insanlar bunu özelleştirme olarak düşünmüyor. Bu sadece gördükleri gibi kelime işlemciyi "kullanıyor".

Web mağazalarından ERP sistemlerine kadar daha karmaşık sistemleri aynı şekilde kullanmak mümkün olabilir. Ancak tasarımcılarınızın veya iş geliştirme personelinizin standarda dahil olmayan bir değişiklik isteyeceği bir nokta gelecek. Ödeme sayfasının yeniden tasarlanması, belki de indirim tekliflerini hesaplamanın yeni bir yolu.

Bunu en baştan biliyorsanız, kararınız gerçekten Yap veya Özelleştir . Just Buy artık bir seçenek değil. Ve şu anda böyle bir gereksinim olmasa bile , meslektaşlarınızın daha sonra onlarla gelmesini bekler misiniz ?

  • Şirket logonuzu doğru yerlere yüklemenin ötesinde sistemi özelleştirmenize izin var mı?
  • Bu ne kadar zor ve personeliniz tarafından yapılabilir mi yoksa satıcıyla sözleşme yapmak zorunda mısınız? Tüm iş modeli geliştirdikleri ücretsiz bir yazılım için birinci sınıf hizmetler sunmak olan şirketler olduğunu unutmayın.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.