หลีกเลี่ยงการถูกนักพัฒนาของคุณจับเป็นตัวประกัน

ตัวประกัน 100107สุดสัปดาห์นี้ฉันเริ่มต้นการสนทนากับศิลปินในพื้นที่ซึ่งให้ความช่วยเหลือเจ้านายของเธอในการจัดการแอปพลิเคชันเว็บที่เจ้านายของเธอเป็นเจ้าของ

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

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

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

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

เคล็ดลับบางประการหากคุณจะได้รับทีมพัฒนาภายนอก:

  1. ลงทะเบียนโดเมน

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

  2. การโฮสต์แอปพลิเคชันหรือไซต์ของคุณ

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

  3. เป็นเจ้าของรหัส

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

  4. รับความคิดเห็นที่สอง!

    ไม่ทำร้ายความรู้สึกของฉันเมื่อมีคนบอกฉันว่าพวกเขากำลังเสนอราคาหรือปรึกษากับผู้เชี่ยวชาญคนอื่น ๆ อันที่จริงฉันขอแนะนำ!

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

6 คอมเมนต์

  1. 1

    ฉันเป็นนักพัฒนาเว็บแอปและฉันเห็นด้วยกับประเด็นส่วนใหญ่ของคุณ (อาจทั้งหมด) แต่ฉันต้องการคำชี้แจงเกี่ยวกับ # 3

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

    ตัวอย่าง:
    ลูกค้าต้องการระดับเพจและการควบคุมระดับฟิลด์ที่เชื่อมโยงกับบทบาทของผู้ใช้ ฟังก์ชัน“ นอกกรอบ” สำหรับ ASP.Net ไม่อนุญาตระดับโฟลเดอร์ ดังนั้นฉันจึงขยายสิทธิ์ดั้งเดิมสำหรับ. Net และส่งมอบโซลูชันเป็นส่วนหนึ่งของแอปพลิเคชันเว็บโดยรวม

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

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

    • 2

      โดยทั่วไปแล้ว

      ฉันคิดว่าเราเห็นด้วย ประเด็นของฉันคือเพื่อให้แน่ใจว่าคุณมีรหัสและสามารถเดินออกจากประตูไปได้ หากนักพัฒนาของคุณกำลังรวบรวมโค้ดให้คุณและส่งออกไปยังไซต์ของคุณแสดงว่าคุณไม่มีโค้ด ฉันเคยเห็นสิ่งนี้เกิดขึ้นกับทุกอย่างตั้งแต่กราฟิก, Flash, .NET, Java ... อะไรก็ตามที่ต้องใช้ไฟล์ต้นฉบับและถูกส่งออก

      ดั๊ก

  2. 3

    ฉันเห็นว่าคุณมาจากไหนและในขณะที่ฉันไม่เห็นด้วยกับทุกสิ่ง 100% (ฉันมีข้อแม้) บริษัท ต่างๆควรคำนึงถึงสิ่งนี้เสมอ

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

    2. ฉันเห็นด้วยบางส่วน แต่ก็ขึ้นอยู่กับสถานการณ์ หากคุณกำลังปรับใช้แอพ PHP ง่ายๆและต้องการโฮสติ้งราคาประหยัดให้ซื้อบัญชี LunarPages หรือ DreamHost หรืออะไรบางอย่างแล้วทิ้งไว้ ให้สิทธิ์การเข้าถึงแก่นักพัฒนา อย่างไรก็ตามโฮสติ้งที่ใช้ร่วมกันราคาประหยัดมีข้อเสียอย่างแน่นอน…โดยเฉพาะอย่างยิ่งสำหรับสิ่งที่ใหญ่กว่า แต่ถ้าคุณใหญ่พอที่จะกังวลว่าคุณควรมีเจ้าหน้าที่ด้านเทคนิคที่สามารถจัดการกับมันได้ เห็นได้ชัดว่าหลายอย่างเกี่ยวกับความไว้วางใจ แน่นอนว่านรกได้ทำสัญญาบางอย่างหากคุณสามารถทำสิ่งนี้ได้ (ข้อ จำกัด และอื่น ๆ ) การโฮสต์ของบุคคลที่สามนั้นดีมากหากนักพัฒนาไม่จำเป็นต้องทำอะไรที่หรูหรา ฉันยอมรับว่าฉันขาดเพราะมันเป็นสถานการณ์จริงๆ นอกจากนี้ยังขึ้นอยู่กับขนาดของไซต์อาร์เรย์ของเทคโนโลยีที่ใช้ ถ้ามันจะใหญ่ให้พิจารณาจ้างคนเป็นพนักงาน ไม่ใช่ทางเลือกเสมอไป แต่ปลอดภัยกว่าสำหรับของใหญ่

    3. นี่เป็นสิ่งที่ บริษัท เดิมของฉันทำ คุณสามารถออกไปได้พวกเขาจะให้ HTML รูปภาพ ฯลฯ ... แต่ไม่มีรหัส รหัสนี้เป็นบริการเช่าโดยทั่วไป ที่ถูกกล่าวว่ามีเจ้าของและเป็นเจ้าของ ฉันทำการขายแบบไม่ผูกขาดมาโดยตลอด โดยพื้นฐานแล้วฉันต้องสามารถนำส่วนประกอบของฉันกลับมาใช้ใหม่ได้ ฉันไม่มีปัญหากับลูกค้าที่เป็นเจ้าของมันทำในสิ่งที่พวกเขาต้องการและมีคนอื่นทำงานให้ ... แต่ฉันจะไม่จำนองตัวเองและต้องสร้างวงล้อใหม่ทุกครั้ง

    4. เสมอ เสมอ. เสมอ.

  3. 4

    โพสต์ได้ดี ... ทำได้ดีแม้ว่าฉันจะไม่เห็นด้วยกับหนึ่งรายการ (# 2):

    “ เป็นเรื่องดีที่นักพัฒนาของคุณอาจมี บริษัท โฮสติ้งและสามารถโฮสต์ไซต์ของคุณให้คุณได้ แต่อย่าทำ”

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

    นอกจากนี้จากมุมมองเชิงปรัชญาหากคุณปฏิเสธที่จะใช้แพลตฟอร์มโฮสติ้งของนักพัฒนาซอฟต์แวร์ของคุณเพราะคุณไม่ต้องการถูก“ จับเป็นตัวประกัน” สิ่งนี้จะทำให้เกิดความไม่ไว้วางใจตั้งแต่เริ่มต้น หากคุณไม่ไว้วางใจนักพัฒนาซอฟต์แวร์ของคุณมากพอที่จะโฮสต์กับพวกเขาจริงๆแล้วคุณต้องการทำงานร่วมกับพวกเขาตั้งแต่แรกหรือไม่?

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

    อีกครั้งโพสต์ที่ดีและข้อมูลที่มีประโยชน์มาก

    ขอบคุณ!
    ไมเคิลเรย์โนลด์ส

    • 5

      สวัสดีไมเคิล

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

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

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

      ฉันขอขอบคุณที่ผลักกลับไมเคิล

  4. 6

    ฉันเป็นนักพัฒนาเว็บแอปด้วยและฉันคิดว่าคุณโดนตอกกลับหัว ความคิดบางอย่าง:

    ฉันคิดว่าทุกคนส่วนใหญ่จะเห็นด้วย (และได้ขึ้นอยู่กับความคิดเห็นด้านล่าง) # 1 เป็นสิ่งที่แน่นอน ไม่เคยทำเลย เคย. ภายใต้สถานการณ์ใด ๆ

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

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

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

    อย่างที่คนอื่นบอก # 4 มักจะแนะนำ เสมอ!

    ความนับถือ,
    ทิมยัง

คุณคิดอย่างไร?

ไซต์นี้ใช้ Akismet เพื่อลดสแปม เรียนรู้วิธีการประมวลผลข้อมูลความคิดเห็นของคุณ.