ในการพัฒนาซอฟต์แวร์อิสระ บริษัท ควรมีบทลงโทษแบบใดเมื่อพวกเขาพลาดกำหนดเวลา [ปิด]


12

ฉันกำลังคุยกับผู้พัฒนาร่วม

เขามีลูกค้าที่ต้องการให้แน่ใจว่าเขาส่งตรงเวลา ลูกค้าต้องการผลสะท้อนสำหรับวันครบกำหนดที่ไม่ได้รับ

ในขณะที่ฉันไม่ทำงานอิสระฉันไม่สามารถให้คำตอบได้

ดังนั้นคำถามของฉันคือ:

ผลกระทบอะไรบ้างที่คุณ (มือปืนรับจ้าง) เห็นด้วยกับลูกค้าของคุณหากคุณพลาดกำหนดส่งมอบของคุณ (นอกเหนือจากการถูกไล่ออก)?


2
เขาจะเป็นคนโง่ที่จะยอมรับบทลงโทษใด ๆ อย่างน้อยที่สุดก็ไม่มีประโยครับตามความต้องการที่เปลี่ยนแปลง การประเมินงานไม่ถูกต้องในเวลาที่ดีที่สุดก่อนที่จะคำนึงถึงการจัดการการเปลี่ยนแปลงบัญชี เป็นพื้น Run
Matt D

4
ดังนั้นลูกค้าจะมีความสนใจทางการเงินในการที่คุณพลาดกำหนด ไม่ได้เสียงเหมือนความคิดที่ดีจริงๆ สิ่งนี้จะสมเหตุสมผลหากลูกค้ามีการสูญเสียทางการเงินอย่างหนักเมื่อคุณมาสาย (เช่นในตัวอย่างของ MainMa)
Doc Brown

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

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

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

คำตอบ:


25

หนึ่งในสิ่งที่มีประสิทธิภาพมากที่สุด: ลงโทษตามวันที่ล่าช้า นี่คือสิ่งที่ทำสำหรับโครงการขนาดใหญ่บางครั้งก็มีโทษหลายพันเหรียญต่อวัน

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

หากมาตรการที่รุนแรงดังกล่าวไม่เหมาะสมความจริงเพียงอย่างเดียวที่ลูกค้าที่จ่ายเงินดีจะออกไปหากโครงการนั้นสายสามารถทำได้

หมายเหตุสำหรับลูกค้า:

  1. ความล่าช้าหลายอย่างเป็นความผิดของลูกค้าเอง สาเหตุอาจมีหลายรายการ:

    • ไม่มี SRS แต่แทนที่จะมีสองย่อหน้าที่อธิบายว่าสิ่งที่ลูกค้าจินตนาการคือความต้องการของเขา (และแน่นอนว่าลูกค้าไม่ต้องการจ่ายเงินสำหรับการรวบรวมความต้องการโดยพิจารณาขั้นตอนนี้จะเสียเวลา)

    • มาสองสัปดาห์ก่อนถึงเส้นตายสุดท้ายและบอกว่ามันไม่สำคัญว่าโครงการจะทำใน Java จนกระทั่งตอนนี้และใช้ Oracle: มีความจำเป็นที่จะต้องเขียนใหม่ใน Python และใช้ MySQL เพราะลูกค้าได้อ่านนิตยสารเมื่อวานนี้ บอกว่าเทคโนโลยีเหล่านั้นเป็นอนาคต

    • มาพร้อมกับชุดข้อกำหนดใหม่ในการประชุมทุกครั้ง คะแนนโบนัสเมื่อข้อกำหนดเหล่านั้นขัดแย้งกับข้อกำหนดเกือบทั้งหมดที่มีให้จนถึงปัจจุบัน

  2. การสื่อสารที่ดีเป็นสิ่งจำเป็นสำหรับโครงการที่ดี

    ความล่าช้าอื่น ๆ อีกมากมายเกิดจากการขาดการสื่อสาร การปฏิบัติที่ลูกค้าไม่มีการสื่อสารใด ๆ กับ บริษัท เป็นเวลาหลายเดือนและคาดว่าจะได้รับการติดต่อเมื่อผลิตภัณฑ์เสร็จสิ้นและขัดเกลาเชิญภัยพิบัติ

  3. คุณจะได้รับสิ่งที่คุณจ่าย.

    มีขั้นตอนเฉพาะที่ช่วยให้โครงการจัดระเบียบและที่จริงการเขียนโปรแกรมควรใช้เวลาเพียง 10-15% ของเวลาสำหรับโครงการขนาดใหญ่และ 15% ถึง 20% ของเวลาสำหรับโครงการขนาดกลาง โครงการเหล่านั้นควรทำโดยคนที่รู้ว่ากำลังทำอะไรอยู่

    ในทางปฏิบัติลูกค้าไม่ยินดีจ่ายนักวิเคราะห์ $ 800 ต่อวันซึ่งจะสร้างสถาปัตยกรรมและการออกแบบซอฟต์แวร์และพวกเขาไม่ต้องการจ่ายสำหรับขั้นตอนอื่น ๆ โปรแกรมเมอร์ชาวแอลเบเนียมือใหม่ที่มีความสุขในการทำงานราคา $ 50 / วันดูเหมือนจะได้เปรียบกว่ามาก

    อย่าบ่นว่าโครงการนี้เป็นหายนะเมื่อคุณพร้อมที่จะจ่ายเงินสำหรับโครงการหายนะ

  4. อย่าต่อรองเวลาที่ต้องใช้ในการทำงาน

    ฉันมักจะพบกับการอภิปรายเช่นนี้:

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

    การเจรจาต่อรองเวลาเป็นสูตรสำหรับภัยพิบัติ

  5. ทราบลำดับความสำคัญของคุณ

    พิจารณากฎ 90% -done เมื่อโครงการได้รับการจัดการอย่างไม่ถูกต้องมันไม่แปลกที่จะเห็นนักพัฒนาบอกว่าพวกเขาได้ทำ 90% ของโครงการต่อเดือนหลังจากเริ่มโครงการ จากนั้นหนึ่งเดือนต่อมาก็ยังคง 90% และอีกหนึ่งเดือนต่อมา

    สิ่งนี้มีสองสาเหตุ:

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

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

    โดยการจัดลำดับความสำคัญตรงและกำหนดให้โครงการต้องทำอย่างถูกต้องจะช่วยกำจัด บริษัท เหล่านั้นออกจากรายชื่อผู้สมัคร


3
"อย่าบ่นว่าโครงการนี้เป็นหายนะเมื่อคุณพร้อมที่จะจ่ายเงินสำหรับโครงการหายนะ" ฉันสามารถใช้มันได้หรือไม่ นี่คือการโพสต์ btw ที่ดีและสรุปความเสี่ยงจากทั้งสองฝ่าย
Matt D

+1 คะแนนที่ดีมาก นอกจากนี้ยังมีความสุขที่ได้อ่าน :)
Radu Murzea

5
@MattD: คำตอบในการแลกเปลี่ยนสแต็คได้รับอนุญาตภายใต้ Creative Commons Attribution-ShareAlike 3.0 Unported ดังนั้นใช่คุณทำได้ นอกจากนี้อย่าลังเลที่จะอ่านโพสต์ที่เกี่ยวข้องในบล็อกของฉัน: เวลาและค่าใช้จ่ายเชิงปริมาณ: ทำไมเราถึงทำผิดพลาดอยู่เสมอ? เช่นเดียวกับคำตอบสำหรับคำถามของฉันที่นี่: programmers.stackexchange.com/q/158640/6605
Arseni Mourzenko

เหตุใดจึงไม่มีส่วน 4, 5, 6 เป็นต้นไปยังบล็อกโพสต์
Radu Murzea
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.