ตรงตามกำหนดเวลาหรือข้อบกพร่องน้อยลง?


15

ในโลกอุดมคติมันเหมาะกว่าที่จะพบกับกำหนดเวลาที่มีข้อบกพร่องน้อยกว่า แต่จากประสบการณ์ของคุณซึ่งเป็นที่นิยมมากกว่า / เป็นที่ยอมรับ:

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

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

ออกรุ่นที่ไม่มีข้อผิดพลาดก่อน
abel

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

3
XKCD มีความเกี่ยวข้องเช่นเคย xkcd.com/844
Maxpm

คำตอบ:


5

คำตอบของคำถามนี้ขึ้นอยู่กับเป้าหมายทางธุรกิจและลูกค้าเป็นสำคัญ

องค์กร :

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

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

ที่เพิ่งเริ่มต้น :

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

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

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

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


14

หรือ ... 3. ตัดการทำงานที่ไม่จำเป็น

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

การอ้างอิงจากหนังสือเล่มนี้ "Rework" ซึ่งเป็นหัวใจสำคัญ / ศูนย์กลาง / จุดศูนย์กลางจากซอฟต์แวร์ของคุณคือสิ่งที่ธุรกิจต้องการใช้งานเช่นเดียวกับขาตั้งฮอทดอกสามารถเป็นฮอทด็อกฮ็อตที่ไม่มีท็อปปิ้งใด ๆ สุนัขร้อน

เจรจาใหม่

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

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

การทำภายหลังก็หมายความว่าทำได้ดีขึ้น

... และยังพบกับกำหนดเวลาที่มีข้อบกพร่องน้อยลง


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

ฟังก์ชั่นเป็นสิ่งจำเป็น ทั้งหมดของมัน.
mauris

1
ไม่ได้ทุกฟังก์ชันการทำงานเป็นสิ่งสำคัญ
Jürgen A. Erhard

2
ไม่ใช่ทุกฟังก์ชั่นที่จำเป็น มีหลายสิ่งที่ดีที่มีหรือรอจนกว่าการเปิดตัวครั้งต่อไป (สมมติว่ามีการวางแผนการปล่อยถัดไป) ฉันไม่เคยทำงานในโครงการที่ไม่มีคุณสมบัติที่สามารถตัดได้
Anne Schuessler

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

9

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


นั่นเป็นจุดที่ดีมาก :-)
Joshua Partogi

8

ตรงตามกำหนดเวลาและนำเสนอรายการปัญหาที่ทราบแล้ว

ผู้คนเกลียดการค้นหาข้อบกพร่อง แต่ถ้าพวกเขาถูกบอกล่วงหน้าพวกเขามักจะผ่อนปรนมากขึ้น


5

ขึ้นอยู่กับสถานการณ์ทั้งหมด ...

มีหลายปัจจัยที่ควรพิจารณา:

  1. วิธีง่าย ๆ ในการแผ่ออกแพทช์?
  2. เป็นไปได้หรือไม่ที่จะปล่อยรุ่นพื้นฐานที่มีการปลดล็อคและใช้งานฟังก์ชั่นใหม่ (ตัวพิมพ์ขอบ) ในช่วงเวลาหนึ่ง
  3. วัฒนธรรมทั่วไปของอุตสาหกรรมลูกค้าสำหรับผลิตภัณฑ์ดังกล่าวคืออะไร? พวกเขาคาดหวังการเปิดตัวที่สมบูรณ์แบบครั้งเดียวหรือพวกเขาเคยชินกับแนวคิดของระบบการพัฒนาซึ่งอาจจะบั๊กกี้เมื่อเปิดตัวครั้งแรก?
  4. ธุรกิจเริ่มต้นมีความเสี่ยงต่อธุรกิจมากน้อยเพียงใดเมื่อเทียบกับการกำหนดเส้นตาย?

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

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

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


2

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


1

ฉันคิดว่ามันขึ้นอยู่กับข้อผิดพลาด คุณต้องการที่จะชะลอการปล่อยเพื่อแก้ไขข้อผิดพลาดที่แอพขัดข้องในนาทีที่เปิดตัวบนคอมพิวเตอร์เครื่องใด ๆ หรือไม่? ได้แน่นอน. คุณต้องแก้ไขข้อผิดพลาดที่เกิดขึ้นเฉพาะใน Windows ME ขณะที่มีพระจันทร์เต็มดวงหรือไม่? ที่อาจจะรอ

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

สำหรับการอัปเดตที่สำคัญน้อยกว่าคุณสามารถปล่อยการอัปเดตแบบรวมซึ่งจะช่วยลดค่าใช้จ่ายในระดับหนึ่ง

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


1

ทั้ง ทำไมไม่อบด้วยรหัสของคุณอย่างมีคุณภาพ? สามารถตรงตามกำหนดเวลาด้วยรหัสคุณภาพหรือไม่ คุณอาจผลักดันฟีเจอร์ที่น้อยลง แต่ถ้าคุณภาพถูกอบเข้าสู่กระบวนการคุณสามารถบรรลุทั้งสองอย่างได้

สิ่งที่จะเกิดขึ้นในตอนนี้คือคุณจะต้องมีหัวหน้าทีมที่มีอำนาจหรือผู้จัดการฝ่ายพัฒนาที่สามารถให้ธุรกิจกลับมาและมีการสนทนาได้ 2 เรื่อง:

  1. อบที่มีคุณภาพเป็นรหัส = 2 คุณสมบัติน้อยลงต่อการสร้าง
  2. จัดลำดับความสำคัญสูงสุดของคุณสมบัติที่จำเป็นจากผู้มีส่วนได้เสียว่าเป็นสิ่งที่พวกเขาต้องการจริงๆ

จากนั้นคุณสามารถมุ่งเน้นไปที่คุณสมบัติที่มีมูลค่าสูงสุดและผลักดันพวกเขาด้วยความเป็นเลิศ


0

เท่าที่การทดสอบนั้นเกี่ยวข้องจะไม่สิ้นสุด มันจบลง แต่ไม่จบ

เปิดตัวด้วยบั๊กที่มีความรุนแรงและให้ความสำคัญมากกว่า


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

@Jason พูดดี +1
Dan McGrath

0

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


0

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

แต่ถ้าคุณดูที่ด้าน "ขั้นตอน" หมายความว่าแอปพลิเคชันต้องการการทดสอบที่มากขึ้นและเป็นส่วนหนึ่งของชีวิตตามธรรมชาติของซอฟต์แวร์

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


0

นี่เป็นคำถามเดียวที่คุณสามารถตอบได้ ขึ้นอยู่กับประเภทของผลิตภัณฑ์ว่าลูกค้าคือใครสิ่งที่ลูกค้าต้องการ ฯลฯ ไม่สามารถให้คำตอบ 'a หรือ b' อย่างง่ายได้ มันขึ้นอยู่กับสถานการณ์อย่างสมบูรณ์

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

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