เมื่อใดที่คุณมักจะเขียนโมดูลซอฟต์แวร์ด้วยตัวคุณเองกับการซื้อผลิตภัณฑ์ที่มีอยู่


13

ฉันกำลังพยายามหาเหตุผลการตัดสินใจของคุณว่าจะทำอะไรเมื่อไหร่ ฉันยินดีที่จะให้บริบทเพิ่มเติม แต่ฉันต้องการทำให้เป็นเรื่องปกติในตอนนี้


สิ่งที่เกี่ยวกับตัวเลือก # 3 "ใช้ไลบรารีโอเพ่นซอร์ส" นั่นอาจเป็นการประนีประนอมเพราะคุณสามารถปรับแต่งตามความต้องการของคุณ
นาธานลอง

@NathanLong: มันเป็นจุดที่ดี แต่ฉันคาดหวังว่าถ้า OP ถามคำถามนี้หมายความว่ามันเป็นเพียงสถานการณ์นี้ที่น่าสนใจ นอกจากนี้ผลิตภัณฑ์ยังสามารถเป็นโอเพ่นซอร์สและยังคงขายได้ในเชิงพาณิชย์ดังนั้นฉันคิดว่าคุณหมายถึง "ซอฟต์แวร์เสรี" และขึ้นอยู่กับประเภทของใบอนุญาตคุณไม่สามารถปรับแต่งได้ตามความต้องการของคุณ (ถ้าคุณวางแผนที่จะขายต่อและไม่เข้ากันเป็นต้น) ดังนั้นจึงมีหลายปัจจัยที่แตกต่างกันในการมองไปตามถนนสายนี้ (ไม่ได้บอกว่ามันเป็นข้อเสนอแนะที่ไม่ดีแม้ว่า)
haylem

คำตอบ:


17

มันง่ายมากเกินไปฉันเดา แต่การเรียงลำดับนั้นเป็นจริงตามแนวทางทั่วไป:

ในสภาพแวดล้อมส่วนบุคคล

  • ฉันสนุกกับการเขียนโค้ดหรือไม่
  • หรือฉันจะเรียนรู้อะไรบางอย่างจากการเข้ารหัสมันได้หรือไม่

และ:

  • ฉันมีเวลาพอที่จะเขียนโค้ดหรือไม่

ถ้าใช่ฉันชอบที่จะเขียนมากกว่าซื้อ

ในสภาพแวดล้อมแบบมืออาชีพ

หากต้นทุนรวมในการเป็นเจ้าของผลิตภัณฑ์ (รวมถึงการพัฒนาการทดสอบการบำรุงรักษาการสนับสนุนหรือค่าใช้จ่ายที่เกี่ยวข้อง) สูงกว่าต้นทุนของผลิตภัณฑ์และผลตอบแทนจากการลงทุนที่คำนวณได้จะไม่หักล้างค่าใช้จ่ายนี้ ดีกว่าที่จะซื้อมันและเดินหน้าต่อไป


1
+1 สำคัญมากที่ต้องเขียนโค้ดบางอย่างด้วยตัวคุณเองไม่เช่นนั้นคุณจะต้องเข้าร่วมกับสิ่งอื่นเช่น Internet Plumber นอกจากนี้คุณยังต้องปรับสมดุล "เรียนรู้บางสิ่งจากมัน" และพิจารณาว่าคุณต้องการ / จำเป็นต้องเรียนรู้บางสิ่งนั้นหรือไม่
Gary Rowe

2
@GaryRowe: ขอบคุณ ต้องต่อต้านการสร้างเรื่องตลกเกี่ยวกับ "ช่างประปาอินเทอร์เน็ต" และแนวโน้มของเว็บในปัจจุบันและตลาดงานด้านการพัฒนาเว็บ Arggghhhh ก็ค่อนข้างที่ดึงดูด แต่ ...
haylem

ในสภาพแวดล้อมแบบมืออาชีพไม่เพียง แต่ค่าใช้จ่ายในการพัฒนาเท่านั้น แต่ยังรวมถึงค่าบำรุงรักษาอย่างต่อเนื่องและเวลาที่เสียไปในการพัฒนา
Gilbert Le Blanc

1
@GilbertLeBlanc: จริงอย่างนั้น Gilbert ฉันหมายถึงค่าใช้จ่ายตั้งแต่ต้นจนจบ แต่ฉันจะอธิบายให้ชัดเจนตามที่คุณแนะนำเพราะควรจะเกี่ยวกับ TCO ของผลิตภัณฑ์
เฮย์เล็ม

9

สิ่งที่ต้องพิจารณาสำหรับการตัดสินใจซื้อหรือซื้อ

  • ค่าใช้จ่ายในการพัฒนา / ค่าใช้จ่ายในการบำรุงรักษาเทียบกับค่าใช้จ่ายของผลิตภัณฑ์ / ค่าใช้จ่ายสำหรับสัญญาการบำรุงรักษา: แน่นอนว่านั่นคือสิ่งที่เห็นได้ชัด แต่จริงๆแล้วไม่ใช่เพียงสิ่งเดียว ตัวอย่างเช่นถ้าฉันจะใช้ซอฟต์แวร์ไม่เพียง แต่สำหรับ บริษัท ของฉันเอง แต่ยังต้องการขายให้ผู้อื่นการคำนวณจะมีลักษณะที่แตกต่างออกไป

  • ความพร้อมใช้งานของผลิตภัณฑ์ที่เหมาะสม สำหรับกระบวนการทางธุรกิจจำนวนมากไม่มีเพียงซอฟต์แวร์มาตรฐานที่ยอดเยี่ยม หรือมีบางอย่างที่ใช้ได้ แต่ไม่เหมาะเพราะมันมี 100 ฟีเจอร์ที่คุณต้องการเพียง 3 อย่างในลักษณะที่แตกต่างกันเล็กน้อยในขณะที่ฟีเจอร์สำคัญอื่น ๆ หายไป 2 อย่าง

  • ต้องการที่จะได้รับการพึ่งพาจากผู้ขายบุคคลที่สามหรือไม่? โดยเฉพาะผู้ค้ารายย่อยที่ให้ความเสี่ยงแก่คุณเสมอที่ผู้ขายจะหายไปจากตลาดในอนาคตหรือการพัฒนาเพิ่มเติมของผลิตภัณฑ์ไม่เป็นไปตามทิศทางที่คุณต้องการ สำหรับผลิตภัณฑ์ที่คุณมีภายใต้การควบคุมของคุณเองคุณสามารถบังคับทิศทางการพัฒนาได้ดีกว่ามาก

  • ฉันจะต้องใช้ซอฟต์แวร์เฉพาะเมื่อใดและสิ่งใดที่เร็วกว่า: พัฒนาซอฟต์แวร์ด้วยตัวเองหรือซื้อบางอย่างปรับให้เข้ากับกระบวนการของฉันและนำไปใช้ การซื้อบางอย่างจากชั้นวางอาจเป็นทางเลือกที่เร็วกว่าและราคาถูกกว่า แต่ฉันเองเคยเห็นสถานการณ์ที่พัฒนาซอฟต์แวร์ตรงตามความต้องการของ บริษัท เหมาะสมกับกระบวนการทางธุรกิจที่มีอยู่ประหยัดเวลาได้มากเมื่อเทียบกับการซื้ออะไรบางอย่าง ผู้ใช้หลายร้อยคนทำงานของพวกเขาด้วยวิธีการใหม่และแตกต่างกันว่าค่าใช้จ่ายในการพัฒนานั้นถูกละเลย


8

สิ่งที่เกี่ยวข้องกับการเข้ารหัส มีวิธี 100,000 อย่างที่จะทำผิดและเปิดเผยซอฟต์แวร์ของคุณต่อช่องโหว่ด้านความปลอดภัยที่ร้ายแรงและเพียงไม่กี่วิธีในการทำให้ถูกต้อง ความเชี่ยวชาญระดับสูงเป็นสิ่งจำเป็นสำหรับสิ่งนี้


+1 ดูเพิ่มเติมที่: programmers.stackexchange.com/q/175489/7167
Gary Rowe

เป็นจุดที่ดีแม้ว่าฉันคิดว่ามีสิ่งอื่น ๆ อีกมากมายที่น่าจะตกอยู่ภายใต้ป้ายกำกับ "อย่าขันกับสิ่งนี้" อย่างไรก็ตามสำหรับการใช้งานส่วนตัว (และตราบใดที่ไม่มีการรับแสงและไม่ใช่สำหรับข้อมูลที่ละเอียดอ่อน) การถ่ายภาพตัวเองยังคงสนุกกับ crypto ฉันนำ ciphers ไปใช้ใหม่เพื่อความสนุกและเรียนรู้ด้วยตนเองไม่กี่ปีหลัง ปัญหาที่ยอดเยี่ยมมากมายที่ต้องดูมีความสนุกมากมายที่ทำและเรียนรู้มากมาย
เฮย์เล็ม

ฉันจะหลีกเลี่ยงการซื้อ crypto ไลบรารี crypto ที่เชื่อถือได้มักจะเป็นโอเพ่นซอร์สหรือเป็นส่วนหนึ่งของระบบปฏิบัติการ ฉันเชื่อถือรหัสของตัวเองในไลบรารี่แหล่งที่ปิดส่วนใหญ่ ฉันจะไม่ใช้ไลบรารี่ใด ๆ ที่ไม่ได้เผยแพร่สเปคที่ชัดเจนและครบถ้วนว่าโค้ด crypto ทำงานอย่างไร
CodesInChaos

@CodesInChaos แพคเกจ "แหล่งที่มาปิด" ค่อนข้างเชิงพาณิชย์ให้รหัสแหล่งที่มา
Pieter B

อันที่จริงฉันคิดว่ารหัสตรวจทานที่ดีกว่าและสมมติว่าผู้โจมตีไม่รู้ว่าตัวเองเป็นความผิดพลาด แต่ทำไมคุณถึงเชื่อมโยงกับการเข้ารหัส?
Ramzi Kahil

0
  • ความพยายามสูงเวลาผลิตภัณฑ์กระชับที่มีอยู่ >> ซื้อผลิตภัณฑ์
  • ความสนใจส่วนบุคคลในด้านเทคนิคหรือไม่มีผลิตภัณฑ์ใดที่เหมาะสมกับความต้องการทั้งหมด >>
    พัฒนาด้วยตัวเอง

0

ในระดับส่วนตัวฉันพัฒนาด้วยการผสมผสานที่แปลกประหลาดของสิ่งที่ฉันต้องการและสิ่งที่จะน่าสนใจในการเขียน

ในระดับมืออาชีพ @haylem ให้คะแนนโดยรวมที่ดีเกี่ยวกับเวลาที่จะซื้อเมื่อเทียบกับเวลาที่จะเขียน ฉันจะบอกว่ามีองค์ประกอบใหญ่ที่มองข้าม: โอกาส สำหรับ บริษัท ขนาดใหญ่มันมักจะสมเหตุสมผลสำหรับความคิดของฉันในการเขียนแอปธุรกิจหลัก (ไม่ใช่แอพธุรกิจทั้งหมด ) เมื่อทำเช่นนั้นจะทำให้องค์กรมีความคล่องแคล่วว่องไวยิ่งขึ้น มีโอกาสเสียค่าใช้จ่ายที่เกี่ยวข้องกับการซื้อซอฟต์แวร์เนื่องจากองค์กรของคุณ (ไม่ใช่แค่ไอที) ถูกล็อคเป็นวิธีการดูโดเมนของผู้ขาย

สำหรับสิ่งส่วนใหญ่มันไม่สำคัญ ระบบบัญชีของคุณดีกว่าไม่สร้างสรรค์ โปรแกรมประมวลผลคำของคุณจะเหมือนกับคนอื่น ๆ แต่สิ่งที่ทำให้คุณคุณเขียนได้ดีขึ้นในบ้านเพื่อที่จะสามารถปรับให้เข้ากับสิ่งที่ธุรกิจของคุณกำลังพยายามทำให้สำเร็จ


0

การตัดสินใจเรื่องค่าใช้จ่ายและผลประโยชน์นั้นเป็นไปได้ค่อนข้างมาก

  • ฉันต้องเสียค่าใช้จ่ายเป็นชั่วโมงแรงงานวัสดุ ฯลฯ เพื่อมอบโครงการนี้ให้กับนักพัฒนาภายใน บริษัท หรือผู้รับจ้างภายนอกเพื่อพัฒนาเอง (โดยปกติจะสูงการนับส่วนของค่าใช้จ่ายบวกกับเงินเดือนและผลประโยชน์นักพัฒนาที่มีประสบการณ์จะเสียค่าใช้จ่ายประมาณวันหนึ่งอาจจะมากหรือน้อยขึ้นอยู่กับการเงินที่เกี่ยวข้อง)
  • ฉันต้องเสียค่าใช้จ่ายเท่าไรในการซื้อผลิตภัณฑ์ที่รู้จักจากชั้นวาง? (ขึ้นอยู่กับผลิตภัณฑ์; โปรแกรมที่ใช้งานทั่วไปเช่นโปรแกรมแก้ไขข้อความมักจะราคาถูกแม้ฟรีในขณะที่โปรแกรมพิเศษเช่นผลิตภัณฑ์การออกแบบพา ธ วงจรสามารถมีค่าใช้จ่ายหลายล้าน)
  • ฉันจะได้รับประโยชน์อะไรจากโซลูชันที่พัฒนาขึ้นเอง? (โดยทั่วไปโซลูชันที่กำหนดเองนั้นเหมาะสมกับธุรกิจของคุณมากขึ้นและสามารถทำให้เป็นอัตโนมัติมากขึ้นหรืออย่างน้อยก็เป็นดิจิตอลมากขึ้น)

มันลงมาว่าค่าใช้จ่ายชดเชยด้วยผลประโยชน์ของโซลูชันที่พัฒนาขึ้นเองนั้นน้อยกว่าต้นทุนของผลิตภัณฑ์นอกชั้นวางหรือไม่

นอกจากนี้ยังมีค่าใช้จ่ายโอกาสในการพิจารณา เข้าใจว่าสิ่งเหล่านี้ไม่รวมอยู่ในต้นทุนที่แท้จริงของการพัฒนากับการซื้อ แต่ในโลกกว้างคุณต้องพิจารณาด้วย หากพนักงานพัฒนาภายในของคุณกำลังทำงานในโครงการนี้พวกเขาจะไม่ทำงานในโครงการอื่น นั่นหมายความว่าหากมีโครงการอื่นในรายการที่ทำให้คุณเสียเงินทุกวันที่ไม่ได้ทำมันอาจจะมีความสำคัญสูงกว่าซึ่งทำให้คุณต้องหยุดหรือยกเลิกการพัฒนาที่กำหนดเองและไปกับแพ็คเกจนอกชั้นวาง อย่างไรก็ตามหากไม่ได้ทำโครงการนี้หมายความว่าพนักงานของคุณกำลังนั่งทำงานอยู่ต้นทุนของนักพัฒนาจะจม คุณกำลังจ่ายพนักงานพัฒนาของคุณไม่ว่าพวกเขาจะทำงานหรือไม่ดังนั้นมันจะเสียค่าใช้จ่ายโดยรวมน้อยลงถ้าคุณใช้พวกเขาเพื่อศักยภาพของพวกเขา


0

ฉันสมมติว่าคุณกำลังถามในบริบททางการค้าและมืออาชีพและเรากำลังพูดถึงส่วนสำคัญของระบบของคุณมากกว่าห้องสมุดเดียว

ทำหรือซื้อเทียบกับสร้างหรือปรับแต่ง

มีสถานการณ์เมื่อองค์กรของคุณสามารถใช้ผลิตภัณฑ์ที่ไม่ได้วางจำหน่าย ตัวอย่างเช่นบางคนจะเขียนโปรแกรมประมวลผลคำของตัวเอง - พวกเขาใช้ MS Word หรือ OpenOffice หรืออะไรก็ตาม เช่นเดียวกับสเปรดชีต โปรดทราบว่าคุณอาจ "ปรับแต่ง" โปรแกรมประมวลผลคำด้วยเทมเพลตหรือมาโครของคุณเอง แต่ผู้คนไม่คิดว่ามันเป็นการปรับแต่ง นั่นเป็นเพียง "การใช้" โปรแกรมประมวลผลคำตามที่พวกเขาเห็น

อาจเป็นไปได้ที่จะใช้ระบบที่ซับซ้อนมากขึ้นในลักษณะเดียวกันจากการสัมมนาทางเว็บถึงระบบ ERP แต่จะมีจุดที่นักออกแบบหรือนักพัฒนาธุรกิจของคุณจะต้องการการเปลี่ยนแปลงที่ไม่รวมอยู่ในมาตรฐาน การออกแบบหน้าชำระเงินใหม่หรืออาจเป็นวิธีใหม่ในการคำนวณข้อเสนอส่วนลด

หากคุณทราบว่าตั้งแต่เริ่มต้นแล้วการตัดสินใจของคุณเป็นจริงสร้างหรือปรับแต่ง เพียงแค่ซื้อไม่มีตัวเลือกอีกต่อไป และแม้ว่าจะไม่มีข้อกำหนดดังกล่าวในตอนนี้คุณคาดหวังว่าเพื่อนร่วมงานของคุณจะมากับพวกเขาในภายหลังหรือไม่?

  • คุณได้รับอนุญาตให้ปรับแต่งระบบนอกเหนือจากการอัพโหลดโลโก้ บริษัท ของคุณในสถานที่ที่เหมาะสมหรือไม่
  • มันยากแค่ไหนและพนักงานของคุณสามารถทำได้หรือคุณต้องทำสัญญากับผู้ขายหรือไม่ โปรดทราบว่ามี บริษัท ที่มีโมเดลธุรกิจทั้งหมดเพื่อให้บริการระดับพรีเมียมสำหรับซอฟต์แวร์ฟรีที่พวกเขาพัฒนา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.