อะไรคือเศรษฐกิจเท็จที่เลวร้ายที่สุดในการพัฒนาซอฟต์แวร์? [ปิด]


126

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


2
:( ฉันได้เห็นสิ่งเหล่านี้หลายครั้งบ่อยเกินไป
Tony


@Casey: มันเกี่ยวข้องเล็กน้อย แต่ไม่ใช่ทั้งหมด ลิงค์ที่คุณให้ข้อตกลงกับเงินโดยตรงในขณะที่คำตอบในคำถามนี้เกี่ยวข้องกับเงินและความเชื่อด้วย ตัวอย่างดูคำตอบของฉัน: programmers.stackexchange.com/questions/19573/…
Gan

คุณเพิ่งเยี่ยมชม บริษัท ของฉัน .. ไม่เป็นไร; P
pramodc84

1
@ Mark - ฟังดูเหมือนเป็นคำถามที่ดี เฉพาะอีกสองสามข้ออาจจะดี
Jon Hopkins

คำตอบ:


182

หนี้ทางเทคนิค

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

น่าเศร้าที่หลายคนยังคิดว่ามันช่วยให้รอบนักพัฒนาซอฟต์แวร์สามารถทำสิ่งที่รวดเร็วได้ ฉันคิดว่ามันเป็นไปได้ แต่ฉันยังไม่เห็นมันในทางปฏิบัติ


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

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

9
เราได้รับรหัสเต็มไปด้วยความคิดเห็นเช่น "นี่คือแฮ็ค, แทนที่หลังจากการสาธิต" ที่อยู่ในฐานเป็นเวลา 3 ถึง 5 ปีแล้ว ไม่มีใครจำได้ว่ามันทำในจุดนี้ดังนั้นจึงไม่มีใครพบจนกระทั่งมีคน (ฉัน) กำลังแก้ไขข้อบกพร่องและวิ่งข้ามมัน บทเรียนวัตถุนี้สอนให้ฉันเป็นอย่างดีในครั้งแรกหากฉันไม่สามารถทำได้
CodexArcanum

22
และอย่างสุจริตฉันตกใจอย่างต่อเนื่องตามจำนวนครั้งที่มันไม่ได้ช่วยประหยัดระยะสั้น!
PeterAllenWebb

6
@Jorg - อืม? "หนี้ทางเทคนิคและหนี้การออกแบบมีความหมายเหมือนกันคำอุปมาอุปมัยใหม่หมายถึงผลกระทบในที่สุดของสถาปัตยกรรมซอฟต์แวร์ slapdash และการพัฒนาซอฟต์แวร์อย่างรวดเร็ว" en.wikipedia.org/wiki/Technical_debtนี่คือสิ่งที่ฉันพูดถึง ชื่อที่เฉพาะเจาะจงมากขึ้นอาจจะเป็น "หนี้สินทางเทคนิคที่เกิดขึ้นโดยไม่มีเจตนาที่จะชำระคืน" แต่หลาย ๆ คนในสถานการณ์นี้บอกตัวเองว่าพวกเขาตั้งใจจะชำระคืน (แต่ไม่) และฉันต้องการชื่อที่กัดอย่างด่างข้อความตัวหนาที่ด้านบน "หนี้ทางเทคนิค" ดูเหมือนจะเป็นบทสรุปที่ดีพอ
Inaimathi

163

จ้างนักพัฒนา2 คนราคาถูกแทนที่จะเป็น1ที่ยอดเยี่ยมจริงๆ (สำหรับราคาเดียวกัน)


9
อย่างน้อยหนึ่งนี้ดูเหมือนว่าจะมีพื้นฐานในความเป็นจริง; โปรดทราบว่าคนที่ไม่ใช่ด้านเทคนิคไม่สามารถบอกได้ว่าใครเป็นนักพัฒนาที่ยอดเยี่ยม (ดังนั้นพวกเขาจึงมีแนวโน้มที่จะจ่ายเพียงสองเท่าของการสุ่ม
Inaimathi

112
หรือน่าเศร้าเพียงแค่จ้าง 1 อันราคาถูก ...
DevSolo

4
... หรือจ้างกูรูที่หุ่นสองตัวจะทำ 1.5 ของสิ่งที่กูรูทำเพื่อเงินเดือน 1.0 ของกูรู: /
bobah

14
คุณไม่ได้รับกูรู 75% จากคนบ้า ๆ บอๆ และโปรแกรมเมอร์ที่เก่งคนใดคนหนึ่งจะทำในสิ่งที่จำเป็นโดยไม่ต้องดูถูก
Peter Boughton

8
โปรแกรมเมอร์ 10x หรือ 100x ถือว่าคุ้มค่าอย่างเหลือเชื่อ พวกเขาจะได้รับเงิน 1.5 เท่าอาจเป็น 2 เท่า ดังที่ Michael Lopp (Rands in Repose) กล่าวว่าหากคุณจ้างหนึ่งในสิ่งเหล่านี้ในอาชีพการงานทั้งหมดของคุณมันเป็นชัยชนะสุทธิ
Tim Williscroft

85

ตัวอย่างของฉันจะตรงข้ามกับตัวอย่างของ NimChimpskyกล่าวคือ:

พยายามพัฒนาสิ่งที่อยู่ภายในบ้านที่สามารถหาซื้อได้จากชั้นวาง

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

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


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

9
@NimChimpsky - ฉันคิดว่ามีตัวอย่างที่ถูกต้องของทั้งสอง ฉันเคยเห็นคนทำลายกระบวนการทางธุรกิจและสูญเสียความได้เปรียบโดยพยายามปรับให้เข้ากับซอฟต์แวร์ชั้นวาง แต่ฉันยังเห็นนักพัฒนาที่ประสบปัญหา "ไม่ได้คิดค้นที่นี่" ซินโดรมโค้ดที่พวกเขาสามารถดาวน์โหลดได้เพราะ มันน่าสนใจกว่าสำหรับพวกเขา
Jon Hopkins

3
@NimChimpsky หากข้อมูลจำเพาะต้องการการพัฒนาตามความต้องการนั่นเป็นสิ่งที่ดี - มันทำให้เราอยู่ในงาน :) ปัญหาเกิดขึ้นเมื่อผู้คนไม่ตรวจสอบก่อนว่ามีบางสิ่งที่พัฒนาแล้วที่เหมาะกับใบเรียกเก็บเงินและดำน้ำในการพัฒนา การวิจัยเล็กน้อยสามารถไปได้ไกล!
Dan Diplo

6
ทำไมต้องคิดค้นล้อใหม่ เพราะคุณเป็นวิศวกรล้อ หรือเพราะล้อของคุณดีกว่าวงล้อของคนต่อไป หรือเพราะล้อไม่พอดี ดูที่: manymaths.net/2010/03/…
ดีเร็ก

2
ที่ผมทำงานเกือบทุกอย่างโอทีเอสอาจจะซื้อ - และเกือบทุกอย่างมีการคิดค้นใหม่ในบ้านเพราะตามผู้นำกล้าหาญของเรา (TM) "สภาพแวดล้อมของเราที่มีความซับซ้อนเพื่อให้ไม่มีอะไรในตลาดอาจอาจจะจัดการกับมัน" Pfeh! แต่สิ่งที่เฮ้ - มันจ่ายค่า เราได้รับแจ้งเมื่อวานนี้ว่าส่วนประกอบสำคัญของซอฟต์แวร์ของเรากำลังจะถูกเขียนใหม่ในปีหน้า - ด้วยส่วนต่อประสานกราฟิกที่น่าทึ่ง! ooooooh-aaaaaaah! ฉันทุกคนพูดเบาและรวดเร็ว ... (<pheh!>)
Bob Jarvis

73

ไม่มีทรัพยากรเฉพาะสำหรับการจัดการโครงการ

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

อุปกรณ์ไม่ดีสำหรับโปรแกรมเมอร์ใหม่

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


19
+1 การไม่จัดหาอุปกรณ์ที่ดีสำหรับพนักงานของคุณได้เขียน "ผูกมัดกับความล้มเหลว" ไว้ทั่วแล้ว
Terence Ponce

3
+1 แต่ให้สังเกตสิ่งต่อไปนี้: ในหลาย ๆ บริษัท งบประมาณด้านฮาร์ดแวร์อยู่ภายใต้โครงสร้างพื้นฐานและแยกจากงบประมาณด้านการพัฒนา ผู้จัดการโครงสร้างพื้นฐานจะไม่กระทบงบประมาณของเขาเพื่อช่วยบรรเทางบประมาณของผู้จัดการการพัฒนา ฉันเคยเห็นการเมืองที่น่ารังเกียจเล่นหลายครั้ง
Fil

3
แล้วอุปกรณ์ที่ไม่ดีสำหรับโปรแกรมเมอร์ทั้งหมดล่ะ? อดีตนายจ้างของฉันจ่ายเงินค่าจ้างให้ Silicon Valley ให้เราเขียนรหัสบนเดสก์ท็อปที่มีค่าปานกลางเมื่อห้าปีก่อน พวกเขาเลิกจ้างพนักงานครึ่งปีที่แล้วและที่เหลือส่วนใหญ่ในเดือนกรกฎาคม - แต่เด็กผู้ชายพวกเขาประหยัดเงินในอุปกรณ์!
Bob Murphy

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

3
เมื่อฮาร์ดแวร์ไม่เพียงพอฉันทำให้มันเป็นจุดที่จะให้ฝ่ายบริหารทราบโดยการทำงานที่มีประโยชน์เช่นการตัดเล็บเท้าหรืออ่านกระดาษในระหว่างการคอมไพล์ที่ยาวนาน ฉันได้เครื่องเก่าช้า แน่นอนว่าไม่มีปัญหา โอ้คุณได้รับการแก้ไขข้อผิดพลาดเร่งด่วนและฉันจะต้องสร้าง? แน่นอน Mr-Manager-bwana-sahib-dude - ดูยาใน 90 นาที! (เคยมีผู้จัดการถามฉันว่าฉันทำอะไรตลอดทั้งวัน - ฉันบอกเขาว่า "สร้างแอปใหม่ขึ้นมาสี่ครั้ง" "ในแปดชั่วโมง?!?" เขาร้องไห้ "ไม่แน่นอน" ไม่ใช่ฉันตอบ " นั่นใช้เวลา 10 ชั่วโมง "เครื่องจักรใหม่ปรากฏตัวหลังจากนั้นไม่นาน ... :-)
บ็อบจาร์วิส

71

เราสามารถประหยัดเงินได้โดยให้โปรแกรมเมอร์เป็นสองเท่าในฐานะผู้ทดสอบ / นักเขียนด้านเทคนิค

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

BTW: นักพัฒนาอยู่เสมอกับเส้นตายที่แน่น


12
คนฉลาดสามารถทำอะไรผิดพลาดได้ดี
Jon Hopkins

3
ฉันป้อนข้อมูลเสร็จแล้วถึงแม้ว่าฉันจะไม่ลดราคาลงแน่นอน พวกเขาต้องการคนที่รวดเร็วและแม่นยำสำหรับการป้อนข้อมูลที่สำคัญและพวกเขาไม่สนใจที่จะจ่ายอัตราการป้อนข้อมูลอย่างน้อยสามเท่า ทางเลือกของพวกเขา
David Thornley

1
ฉันยืนยันว่ามันเป็นหน้าที่ของโปรแกรมเมอร์ในการทดสอบโค้ด แต่ไม่แน่ใจว่าเป็นสิ่งที่คุณอ้างถึงหรือไม่
Ben Lakey

3
โปรแกรมเมอร์ควรทดสอบโค้ดของตัวเองไม่ใช่เพื่อยกเว้นการมีผู้ทดสอบเฉพาะที่เป็นมืออาชีพในการทำลายซอฟต์แวร์
JohnFx

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

63

การวิจัย / การอ่าน / การเขียนรหัสที่ไม่เกี่ยวข้องกับการพัฒนาผลิตภัณฑ์เป็นการสิ้นเปลืองทรัพยากร

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

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


3
ฉันหวังว่าฉันจะสามารถลงคะแนนได้มากกว่าหนึ่งครั้ง
MAK

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

58

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


18
+1 ประสบการณ์ของฉันเมื่อไม่ได้อยู่ที่นั่นคือมันมีค่าใช้จ่ายที่ดีกว่าการประหยัดอย่างหลีกเลี่ยงไม่ได้
Adam Crossland

2
+1 แต่ต่างประเทศสามารถทำงานได้หากใช้อย่างถูกต้อง

3
+1 ดูเหมือนว่าเราจะได้นักพัฒนานอกชายฝั่งที่แตกต่างกันในแต่ละโครงการใหม่ซึ่งหมายความว่านักพัฒนาบนฝั่งใช้เวลาส่วนใหญ่ในการสอนนอกชายฝั่งใหม่พัฒนาโมเดลธุรกิจและเทคนิคโดเมนนอกเหนือจากการให้การสนับสนุนทางเทคนิค ในตอนท้ายของโครงการและพวกเขาไปที่อื่นและเราเริ่มต้นใหม่อีกครั้งกับนักพัฒนา 'ถูก' ชุดต่อไป
Chris Knight

8
หลายทีมเพียงแค่จ้างโหลนอกประเทศและแทบจะไม่ใช้เลยดังนั้นพวกเขาจึงสามารถรับเหมาได้ 4 แห่ง ว้าว.
poolie

1
และการลืมว่าความแตกต่างของธรรมชาติจะเป็นไปตามกำหนดเวลา เรามีระบบประกันคุณภาพในต่างประเทศและอาจใช้เวลา 3-4 วันในการหาข้อมูลใหม่ที่คน twp ในสำนักงานเดียวกันอาจมีการปรับตัวต่ำกว่าหนึ่งชั่วโมงเนื่องจากเวลาต่างกัน
HLGEM

50

ข้อเสนอแนะยาวลูป!

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

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

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

เมื่อคุณเริ่มสังเกตเห็นความสำคัญของลูปป้อนกลับสั้น ๆ คุณจะเห็นมันทุกที่ เช่นความคิดทางทหารของวง OODA


6
+1 ยิ่งคุณป้อนคำติชมวนมากขึ้นเท่าไหร่คุณก็ยิ่งจำได้น้อยลง ที่สุดขีดคุณต้องทำความคุ้นเคยกับ codebase ทั้งหมดอีกครั้ง
โจเซฟ Tanenbaum

เศรษฐกิจที่ผิดเป็นอย่างไร เงินออมที่ตั้งใจไว้คืออะไร?
Chris Pitman

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

นี่คือเหตุผลที่จำเป็นที่ผู้ตรวจสอบและเพื่อนคู่มีความอ่อนน้อมถ่อมตนและความเคารพต่อ coder มากที่สุด ผู้ตรวจทานที่ลำบากคนหนึ่งซึ่งปฏิบัติต่อ coder ไม่ดีและคุณสามารถรับประกันลูปการตอบรับจะเพิ่มขึ้นเป็นจำนวนมาก
Jonathan Neufeld

47

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

คำจำกัดความของเศรษฐกิจที่ผิด ๆ


4
มันค่อนข้างพิเศษ เปรียบเทียบและเปรียบเทียบกับธนาคารพ่อค้าบางแห่งในลอนดอนที่มีสตาร์บัคส์ที่ได้รับการสนับสนุนในตัวอาคารเพื่อกำจัดเวลาที่ต้องออกไปข้างนอกและซื้อกาแฟ
Jon Hopkins

48
ฉันไม่เห็นด้วยว่านี่เป็นเศรษฐกิจที่ผิดโดยอัตโนมัติ - 10 นาทีของอากาศบริสุทธิ์ในขณะที่เดินออกไปข้างนอกเพื่อซื้อกาแฟจะทำให้พนักงานมีออกซิเจนและเพิ่มความเข้มข้นของพวกเขาและการปฏิสัมพันธ์ทางสังคม (แม้ว่ามี จำกัด ) จะลดภาวะซึมเศร้า พนักงานที่ไม่ได้รับกาแฟเพราะไม่ฟรีมีแนวโน้มว่าจะกลับบ้านตรงเวลานอนหลับให้มากขึ้นและมีสุขภาพที่ดีขึ้นเนื่องจากการบริโภคคาเฟอีนลดลง
JBRWilkinson

6
-1, ใช้เวลาเดิน 20 นาทีเหมาะสำหรับเพิ่มความคิดของคุณและรับมุมมองใหม่ ๆ เกี่ยวกับปัญหา
Malfist

23
@ มัลลิสต์: ฉันเข้าใจแล้วว่ามันไม่ใช่แค่เดิน 20 นาที แต่ยังรอ 15 นาทีเพื่อรับกาแฟที่ขัดจังหวะการทำงาน การหยุดพัก 45 นาที ณ จุดใด ๆ ในวันนั้นจะเป็นการทำลายประสิทธิภาพการผลิตในช่วงชั่วโมงครึ่ง ทั้งหมดเพื่อประหยัด 100 เหรียญต่อเดือนกับกาแฟ
EricBoersma

8
20 + 15 = 35 [ตัวละครอีกหกตัว]
Malfist

47

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

การตั้งค่าหลายจอภาพสามารถทำให้งานใด ๆ มีประสิทธิภาพมากขึ้นไม่เพียง แต่งานพัฒนาเท่านั้น จอภาพสามจอดียิ่งกว่าสองจอ แต่เอฟเฟกต์เด่นชัดน้อยลงทุกหน้าจอพิเศษ

การตั้งค่าหลายจอภาพ:

  • ลดค่าใช้จ่ายในการสลับหน้าต่าง
  • อนุญาตให้คุณจับตาดูสิ่งที่ทำงานในพื้นหลัง (เมลการรวบรวมและอื่น ๆ )
  • ให้ความรู้สึกอิสระ มันเหมือนอยู่ในห้องโถงใหญ่กับอยู่ในตู้เสื้อผ้าไม้กวาด
  • ฯลฯ ...

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

39

ฮาร์ดแวร์ที่ถูกที่สุดให้กับที่ปรึกษาเมื่อที่ปรึกษาค่าใช้จ่ายมากกว่า$ 150

การใช้ฮาร์ดแวร์อย่างดีกว่าอาจทำให้งานมีประสิทธิภาพมากขึ้น 30 นาทีต่อวัน นั่นจะให้ 30 นาที * 20 วันทำงานต่อเดือน = 600 นาที / เดือน = 10 ชั่วโมง / เดือน> มากกว่านั้น 1 วันงาน = 10 ชั่วโมง * 150 $ / ชั่วโมง = 1500 $

ตอนนี้ที่ปรึกษาจะไม่ทำงานมีประสิทธิภาพมากขึ้นถ้าเขา / เธอมีคอมพิวเตอร์ราคา 1,500 เหรียญ? มันจะทำให้ที่ปรึกษาระคายเคืองน้อยลงหรือไม่

ตอนนี้ปัญหาดูเหมือนว่าจะมีสองงบประมาณหนึ่งสำหรับที่ปรึกษาและหนึ่งสำหรับฮาร์ดแวร์พีซี


8
ในฐานะที่ปรึกษาฉันเคยไปที่นั่นแล้วทำอย่างนั้นและรับเสื้อยืด (เพียงแค่รับ $ 80 / ชั่วโมง) แต่เดี๋ยวก่อนนั่นคือเหตุผลหนึ่งที่ฉันชอบทำสัญญารายชั่วโมง ซึ่งแตกต่างจากตำแหน่งที่ได้รับเงินเดือนหากลูกค้าที่ปรึกษาเลือกที่จะเสียเวลาของฉันและฉันต้องทำงานพิเศษเพื่อชดเชยมันนั่นคือเงินในกระเป๋าของฉัน
Bob Murphy

2
ไม่มีความผิด แต่ถ้าฉันจ่าย $ 150 / ชม. สำหรับที่ปรึกษาเขาควรมีคอมพิวเตอร์เป็นของตัวเอง
Steven Evers

8
@SnOrfus: ปกติแล้วมันจะไม่ทำงานในสภาพแวดล้อมขององค์กรซึ่งมีการควบคุมพีซีอย่างเข้มงวดซึ่งได้รับอนุญาตบนโดเมน คุณต้องให้พวกเขาด้วยฮาร์ดแวร์
HardCode

1
@HardCode - ใช่ฉันคิดว่า ฉันเห็นจุดนี้แล้ว
Steven Evers

3
@HardCode ในโครงการล่าสุดแทนที่จะเพิ่มเรา (ผู้รับเหมา) ในเครือข่ายภายในองค์กรพวกเขากักกันเราในสาย DSL ของเราเอง บรรทัด DSL เฉพาะสำหรับนักพัฒนา 3 คนที่ราคา $ 40 ต่อเดือนเป็นการเปลี่ยนแปลงอย่างรวดเร็วและทำให้เราง่ายต่อการผลักดันการอัปเดตจากระยะไกลโดยไม่ต้องส่งเจ้าหน้าที่ไอทีเข้าสู่ความตื่นตระหนก นอกจากนี้หากพีซีที่ใช้งานรหัสของเราได้รับการติดเชื้อและขัดข้องก็เป็นความผิดของเราโดยอัตโนมัติเนื่องจากเรารับผิดชอบด้านความปลอดภัยของการสื่อสารและแล็ปท็อปส่วนบุคคลของเรา คุณบอกได้ไหมว่า win-win-win
Evan Plaice

38

หลายเดือนในการทำงานช่วยประหยัดเวลาในการวางแผน

(ไม่ได้มีเวลามากพอในการวางแผน)


21
ในโรงเรียนระดับประถมมีคำกล่าวที่ว่าสองสามสัปดาห์ในห้องแล็บสามารถช่วยคุณประหยัดเวลาได้หนึ่งชั่วโมง
David Thornley

7
ได้. เมื่อฉันเข้าเรียนในห้องปฏิบัติการระดับปริญญาตรีที่เราระบุสารเคมีที่ไม่รู้จักศาสตราจารย์บอกเราว่า "หนึ่งชั่วโมงในห้องสมุดจะช่วยคุณสี่คนในห้องทดลอง" ฉันเอาเขาไปอย่างจริงจังและเป็นเรื่องตลกมากที่จะเต้นรำในห้องแล็บเป็นเวลาหนึ่งชั่วโมงต่อสัปดาห์และดูน่ารังเกียจจาก pre-meds ที่ใช้เวลาสิบสองชั่วโมงต่อสัปดาห์ทำการทดสอบ amine ในสารประกอบที่ไม่ได้เป็นเอมีน และเมื่อฉันสอนห้องทดลองเดียวกันหลายปีต่อมาฉันก็ให้คำแนะนำแก่นักเรียนและเพียงไม่กี่คนก็เอาไปใช้จริง
Bob Murphy

3
หากคุณล้มเหลวในการวางแผนคุณวางแผนที่จะล้มเหลว

27

ส่วนใหญ่ที่ฉันสงสัยว่าเป็นผู้จัดการก็ไม่ได้ให้เครื่องมือที่พวกเขาต้องการในการทำงานอย่างมีประสิทธิภาพ

โดยทั่วไปจุด 9 บนทดสอบโจเอล


2
ฉันอยู่ในโครงการที่พวกเขาทำให้เราเสียเวลาหนึ่งหรือสองสัปดาห์แทนที่จะซื้อเช่นห้องสมุดราคา $ 300 กับงานที่ทำไปแล้ว - และดีกว่า (เราไม่ได้ "ควบคุมนักพัฒนา" ที่ฉันทำงานอยู่) หรือเลือกเครื่องมือซอฟต์แวร์บางตัว "เพราะมันทำโดย" บริษัท นี้ "หรือ" บริษัท "แทนที่จะมองว่ามีทางเลือกที่ดีกว่านี้หรือเปล่า
MetalMikester

ฉันเจอสิ่งนั้นด้วยตัวเอง เหตุผลของ PM / ลูกค้าคือเราไม่มีรายการงบประมาณที่จะซื้อสิ่งต่าง ๆ สำหรับลูกค้า (การเปลี่ยนแปลงที่ติดต่อเป็นเรื่องเลว) ดังนั้นเราจะต้องบูรณาการล้อ (อีกครั้ง)
Ken Henderson

24

"โยนวัตถุ (พอ) ที่เป็นปัญหา"ยังคงสามารถใช้งานได้ในบางสถานที่โชคไม่ดี กฎหมายของบรู๊คไม่ตอบโต้เรื่องนี้จากThe Mythical Man-Monthแม้ว่าบางคนอาจต้องการประสบการณ์เพื่อเรียนรู้บทเรียนนี้ โดยทั่วไปนี่ไม่ใช่สิ่งที่ฉันต้องหยุดเพราะฝ่ายบริหารอาจเชื่อว่าข้อความเท็จเกี่ยวกับการเพิ่มผู้คนและไม่ต้องจ่ายราคา


2
+1 โอ้พระเจ้าใช่ สิ่งนี้กำลังเกิดขึ้นในระดับมหากาพย์ในโครงการสำคัญที่ฉันทำงานอยู่
Bobby Tables

3
ฉันทำงานกับกลุ่มผู้นำโครงการผู้จัดการ ฯลฯ ทุกคนมีใบรับรองการจัดการโครงการที่ยอดเยี่ยม (ไม่ว่ามันจะเรียกว่าอะไร) และไม่มีใครในพวกเขาเคยได้ยินThe Mythical Man-Monthก่อนที่ฉันจะแนะนำพวกเขา เพื่อมัน Sheesh!
Bob Jarvis

2
ฉันได้ยินคำพูดที่ยอดเยี่ยมเกี่ยวกับเรื่องนี้เพียงครั้งเดียว: ผู้หญิง 9 คนไม่สามารถมีลูกได้ในเดือน
ริชาร์ด

@ Richard ฉันใช้อันนั้นในการประชุม ให้ความสุขอันยิ่งใหญ่!
Tjaart

21

การประชุมทุกวัน :

(meeting duration in hours) x (Y team members) x (average salary per hour) = ...  

9
มีการประชุมเพียงเพื่อการประชุม ...
38890 Gan

5
วาระสำหรับวันนี้: สิ่งที่จะเป็นวาระการประชุมในวันพรุ่งนี้?
ทำเครื่องหมาย C

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

3
@ Mark C - อาจเป็นเรื่องตลก แต่จริง ๆ แล้วฉันได้รับเชิญให้เข้าร่วมประชุมเพื่อวางแผนว่าจะมีการประชุมวาระต่อไปในวันถัดไปอย่างไร ...
Gavin Coates

@Gavin Coates มันเป็นเรื่องจริงและเป็นสถานการณ์ ... :)
Zzz

20

ซื้อซอฟต์แวร์ชั้นวางแทนการพัฒนาภายใน

ฉันมีประสบการณ์เกี่ยวกับระบบการจัดการระดับเอนเตอร์ไพรส์ที่เน้นทั้งทรัพยากรบุคคลและห้องปฏิบัติการทางชีวภาพ

โซลูชันสำหรับชั้นวางราคา 50-100,000 ปอนด์และต้องการการพัฒนาและปรับแต่งเพิ่มเติมเพื่อตอบสนองความต้องการทางธุรกิจ

โซลูชันที่พัฒนาขึ้นภายในใช้เวลา (<6) เดือนในการพัฒนาโดยมีโครงการอื่น ๆ ทำงานคู่ขนานกันและใช้นักพัฒนาที่มีงานทำอยู่แล้ว

ฉันไปจากภาครัฐที่เรามี LIMS (ระบบการจัดการข้อมูลห้องปฏิบัติการ) ที่พัฒนาขึ้นภายในและเปิดใช้งานไปยังเวชภัณฑ์ระหว่างประเทศขนาดใหญ่ที่การดำเนินการแก้ปัญหาชั้นวางได้ใช้เวลานานกว่าหนึ่งปี

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

ฉันเห็นด้วยกับเว็บไซต์พื้นฐาน ฯลฯ ทำไมต้องกังวลกับการพัฒนาเว็บไซต์ของคุณเอง แต่สำหรับระบบที่ซับซ้อนใด ๆ ที่มีขนาดใหญ่และถ้าคุณมีอยู่แล้วในทักษะการบ้านผมสร้างมันเอง


26
ฉันพนันได้เลยว่ามีตัวอย่างของสิ่งที่ตรงกันข้าม
Jon Hopkins

13
การซื้อหรือการพัฒนานั้นเกิดขึ้นกับผู้คนที่มีความขยันเนื่องจาก เรียบง่ายเหมือนที่ คิดก่อนทำ (+1)
DevSolo

4
@DevSolo: จุดบน การตัดสินใจซื้อหรือซื้อควรได้รับการสนับสนุนโดยการวิเคราะห์ต้นทุน - ผลประโยชน์มากกว่าทัศนคติที่ไม่ได้คิดค้นขึ้นที่นี่หรือที่ฉันชอบซอฟต์แวร์ของ XXX
JBRWilkinson

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

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

15

ซื้อสินค้าราคาแพงเมื่อสินค้าทางเลือกโอเพนซอร์สดีกว่าและฟรี

มีกี่ บริษัท ที่ใช้คอมไพล์ มีกี่ บริษัท ที่ใช้การควบคุมเวอร์ชัน enterprisey เส็งเคร็ง?


1
เอ่อนี่ถือได้ว่าเป็น "เศรษฐกิจเท็จที่เลวร้ายที่สุด"? หรือคุณอาจต้องการรายละเอียดเพิ่มเติม ... ?
กาน

3
ฉันไม่แน่ใจว่าฉันเห็นด้วยอย่างสมบูรณ์กับตัวอย่างของการควบคุมแหล่งที่มาอย่างน้อยที่สุด Git ได้รับการออกแบบมาโดยเฉพาะเพื่อแก้ปัญหาโอเพนซอร์ซ: ผู้พัฒนาจำนวนมากการควบคุมจากศูนย์กลางเล็กน้อยสาขาจำนวนมาก ฯลฯ ซอฟต์แวร์ "enterprisey" ทำงานภายใต้สมมติฐานต่าง ๆ : ความต้องการในการจัดการผลิตภัณฑ์ที่หลากหลายในธุรกิจความปลอดภัย เวิร์กโฟลว์ ฯลฯ
PeterAllenWebb

1
@Gan: พวกเขาคิดว่าการใช้โอเพ่นซอร์สนั้นเป็นเศรษฐกิจที่ผิด ๆ แต่พวกเขากลับมีอยู่ทั้งหมด
hasen

3
ฉันเป็นผู้สนับสนุน X11 และ GNOME และค่อนข้างมีความสามารถในการใช้ git และการจัดการเซิร์ฟเวอร์ gitosis อย่างไรก็ตามในฤดูร้อนนี้ฉันเปลี่ยนที่ปรึกษาของฉันจาก git เป็นเซิร์ฟเวอร์ Perforce ที่ได้รับค่าจ้างเป็นการส่วนตัวเพราะมันทำสิ่งต่างๆมากมายโดยอัตโนมัติซึ่งคุณต้องทำด้วยตนเองด้วย git เนื่องจากฉันได้รับเงินสำหรับการส่งโค้ดและไม่พลาดกับการควบคุมเวอร์ชันการใช้และการจ่ายสำหรับ "Crappy enterprisey version control" นั้นคุ้มค่ากว่าการใช้ git
Bob Murphy

7
โอเพนซอร์ซกับผลิตภัณฑ์ในเชิงพาณิชย์เป็นพื้นฐานของประสบการณ์และความคิดของฉัน
MetalMikester

14

การใช้ภาษา "เรียบง่าย" โดยไม่มีความหมายมาก

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


4
@burnt_hand: โดยพื้นฐานแล้วฉันหมายถึงการหลีกเลี่ยงความเสี่ยงที่มากเกินไปของฝ่ายบริหารในแง่ของการเลือกภาษา
dsimcha

1
+1: ใช้ C ต่อไปเพราะ "เรามีทักษะเหล่านั้นและเรียนภาษาแปลกใหม่เช่น Python / Perl / PHP เพิ่มความเสี่ยง" ได้ยินมากกว่าหนึ่งครั้ง นั่นหมายความว่าทีมโง่เกินไปที่จะเรียนรู้ภาษาใหม่หรือไม่?
S.Lott

1
@ S.Lott ตัวแทนจัดหางานคิดว่าคุณเป็น! แต่นั่นเป็นอีกเรื่องหนึ่ง
burnt_hand

2
เช่น บริษัท ที่ติดกับ Java และ C # และกลัวที่จะสัมผัสหลามหรือทับทิมเพราะพวกเขาไม่ใช่ "มาตรฐานอุตสาหกรรม" ซึ่งทำให้ฉันนึกถึง: paulgraham.com/avg.html
hasen

1
@hansen: เรียงความ Paul Graham เป็นเพียงบางส่วนที่เป็นแรงบันดาลใจให้ฉันเขียนโพสต์นี้ แรงบันดาลใจอื่น ๆ ของฉันคือการพัฒนางานห้องสมุด (รวมถึงห้องสมุดมาตรฐาน) สำหรับภาษาโปรแกรม D
dsimcha

13

ผู้จัดการโครงการ / หัวหน้าทีมไม่ดี

เนื่องจากบุคคลไร้ความสามารถมีอำนาจทำลายงานของกลุ่มคนได้ ในท้ายที่สุดโครงการจะทำได้ดีขึ้นมากหากไม่มีการตัดสินใจระดับสูง (การบริหารโครงการ / นำทีม)

ปริมาณ "เพียงแค่ทำอย่างรวดเร็วเราจะ refactor ในภายหลัง" ตัดสินใจ


4
ฉันยอมรับว่ามีผู้จัดการที่ไม่ดี แต่ "โครงการจะทำได้ดีกว่านี้หากไม่มีการตัดสินใจของผู้บริหารระดับสูง"? โดยทั่วไปคนเหล่านี้เป็นผู้สนับสนุนโครงการ ฟังดูเป็นเรื่องเล็กน้อยเหมือนนักพัฒนาที่ฉันเคยพบใครคิดว่าการทำความเข้าใจเทคโนโลยีมีความสำคัญมากกว่าการทำความเข้าใจธุรกิจและลืมว่าลูกค้าที่แท้จริงคือใคร
Jon Hopkins

2
@Jon Hopkins ผู้บริหารระดับสูงไม่ได้แนะนำลูกค้า ประเด็นก็คือ "ผู้จัดการโครงการที่ไม่ดี" คือคนที่ทำผิดพลาดหลังจากเกิดข้อผิดพลาดและต่อต้านกลุ่มคน คุณคิดว่าใครเป็นคนตัดสินใจว่า "ทำอย่างรวดเร็วเราจะทำการปรับโครงสร้างภายหลัง" อ่านคำตอบด้วยอัตราสูงสุด!
Amir Rezaei

อาชัดเจนขึ้น ฉันลบ -1
Jon Hopkins

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

1
@Bernard - สามารถวัดเวลาและต้นทุนได้ คุณภาพ? ไม่มากนัก. แต่เป็นความจริงที่น่าเศร้า IMO ...
บ๊อบจาร์วิส

12

ไม่มีข้อกำหนดของผู้ใช้

ขั้นตอนที่สำคัญและยากในการออกแบบผลิตภัณฑ์ซอฟต์แวร์คือการพิจารณาว่าลูกค้าต้องการทำอะไร

เชื่อหรือไม่ว่าบางครั้งส่วนนี้ขาดหายไปหรือล้าสมัย สิ่งที่ต้องคำนึงถึงคือราคาหนึ่งสร้างฟังก์ชันการทำงานที่ผู้ใช้ไม่เคยถาม


ฉันคิดว่านี่ควรจะอยู่ด้านบน!
Roopesh Shenoy

8

ผลผลิตมีค่ามากกว่าความคิดสร้างสรรค์

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

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


6

ด้านล่างทั้งหมดอาจไม่ดีเมื่อใช้หรือไม่ได้ใช้อย่างไม่เหมาะสม

  • ซอฟต์แวร์ภายนอกและภายใน

  • การปฏิบัติตาม ISO 9001 (เศรษฐกิจ - ลดความเสี่ยงจากการสูญเสีย MSS หากคุณภาพของผลิตภัณฑ์ลดลง)

  • การพัฒนา / QA outsourcing

  • ขั้นตอนการพัฒนา / สร้าง / เผยแพร่ / สนับสนุน


"เศรษฐกิจ" ISO 9001 a (เท็จ) เป็นอย่างไร?
Andrew Grimm

@Andrew Grimm - การปฏิบัติตามทำให้มั่นใจในระดับคุณภาพบางอย่างซึ่งช่วยลดความเสี่ยงที่เกิดจากคุณภาพไม่ดี (เช่นการสูญเสีย MSS) เพื่อให้เศรษฐกิจมีความชัดเจน สำหรับหน่วยงานขนาดเล็กสิ่งนี้อาจไม่เหมาะสมเนื่องจากการสูญเสียค่าโสหุ้ยสูงกว่าจากนั้นความเสี่ยงที่อาจเกิดขึ้น
bobah

1
@Andrew - จากประสบการณ์ของฉันมันขึ้นอยู่กับสิ่งที่คุณต้องการ หากคุณต้องการเพิ่มคุณภาพอาจเป็นเศรษฐกิจที่ผิดเนื่องจากมีแนวโน้มที่จะมีราคาแพงและไม่เหมาะกับซอฟต์แวร์ หากคุณต้องการเป็นสิ่งทางการตลาดหรือเพราะเป็นเพียงการคาดการณ์ในอุตสาหกรรมของคุณนั่นอาจเป็นความคิดที่ดี
Jon Hopkins

5
@Andrew Grimm - "เพียง" สิ่งที่รับประกัน ISO 9001 มีคุณภาพสม่ำเสมอและทำซ้ำได้ ไม่รับประกันคุณภาพ "สูง" อย่างไรก็ตามหากการรับรอง ISO 9001 เป็นสิ่งที่ต้องการในพื้นที่ตลาดที่ บริษัท ต้องการเข้ามาก็จำเป็นต้องใช้
Vatine

1
@Vatine: อะไรที่รับประกัน ISO 9001 คือกระบวนการที่สอดคล้องและทำซ้ำได้ ในบางสาขาที่กระบวนการที่สอดคล้องให้คุณภาพที่สม่ำเสมอนั่นเป็นสิ่งสำคัญ ไม่รับประกันคุณภาพสูง แต่ถ้าลูกค้าเห็นสิ่งที่คุณทำได้ดีและรู้ว่าคุณได้รับการรับรองมาตรฐาน ISO 9001 พวกเขาจะมั่นใจในคุณภาพที่คล้ายคลึงกัน
David Thornley

4

มีผู้จัดการการจัดส่งที่ไม่สามารถเรียกเก็บเงินได้มากเกินไป

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


3

การเพิ่มประสิทธิภาพก่อนการทำโปรไฟล์ (aka การปรับให้เหมาะสมก่อนกำหนด)

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

เช่นนี้มันเป็นเศรษฐกิจที่ผิดพลาดมากและเศรษฐกิจแบบผิด ๆ ที่เข้ามาเกี่ยวข้องเป็นครั้งคราวแม้กระทั่งมืออาชีพที่มีประสบการณ์


3

อินเทอร์เน็ตมีจำนวน จำกัด หรือไม่มีเลย

เพราะเห็นได้ชัดว่าพนักงานของคุณจะใช้อินเทอร์เน็ตเพื่อเล่นเกมเฟสบุ๊คโดยไม่ต้องค้นคว้าคำตอบสำหรับคำถามทางเทคนิคเกี่ยวกับ Stackoverflow

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


2

การทำให้นักพัฒนาของคุณใช้จอภาพขนาด 15 นิ้วและพีซีที่มีสเป็คต่ำเนื่องจากเป็นมาตรฐานขององค์กร

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


2

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

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