การตัดสินใจทางเทคโนโลยีที่แย่ที่สุดที่คุณเคยเห็นคืออะไร? [ปิด]


10

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

คำตอบ:


22

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

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

นักพัฒนาอื่น ๆ : "โอ้คุณไม่ลืมมีข้อ จำกัด ที่ไม่ซ้ำกันในฟิลด์นั้นฉันเพิ่งลบมัน"

ฉัน : "ทำไมคุณลบออก"

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

ฉัน: "คุณหยุดที่จะพิจารณาว่าอาจมีปัญหาหากเราได้รับข้อมูลใหม่ที่ซ้อนทับกับข้อมูลที่มีอยู่และคิดว่าจะพูดถึงใครบางคนก่อนนำเข้าหรือไม่"

ผู้พัฒนาอื่น ๆ : (blank stare)

ฉัน : Facepalm


นั่นแค่เจ็บ


7

ไม่แน่ใจว่านี่เป็นการตัดสินใจทางเทคโนโลยีหรือไม่ แต่ฉันรับผิดชอบเว็บไซต์การจัดการเอกสารแบบ CMS ที่เขียนด้วย PHP เป็นเวลาสี่ปี ตลอดหลายปีที่ผ่านมาผมพยายามหลายครั้งที่จะรับคน (ผู้จัดการผู้ที่มีคุณลักษณะ requestors) ไปบางทีอาจจะเป็นเช่นอาจจะพิจารณาความเป็นไปได้ของการนั่งร่วมกันและความคิดเกี่ยวกับความต้องการและทิศทางในอนาคตของสิ่ง มันไม่เคยเกิดขึ้น มันเป็น“ เพิ่มฟีเจอร์นี้”,“ เพิ่มฟีเจอร์นั้น” และทุกคนต่างก็ไม่รู้วิธีต่าง ๆ ทั้งหมดที่คนอื่นใช้เว็บไซต์ ตอนที่ฉันจากไปมันกลายเป็นความยุ่งเหยิงขนาดใหญ่ของคุณสมบัติที่เชื่อมต่อระหว่างกัน แต่ไม่เกี่ยวข้องกันและฉันก็เป็นเพียงคนเดียวใน บริษัท ทั้งหมดที่รู้จักคุณสมบัติทุกอย่าง ตอนนี้ไม่มีใครทำ Mwahaha


ได้เวลาปรึกษากับคณะ!
Kirk Broadhurst


4

การเขียนใหม่ระบบจดหมายเสียงระดับ Telco

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

มันน่าเกลียด ทั้งหมดนี้เกิดขึ้นประมาณสองปีก่อนที่โจเอลเขียนบทความของเขา: สิ่งที่คุณไม่ควรทำตอนที่ 1


3

การนำไลบรารี่ภายนอก (ในกรณีนี้คือSpring RCP ) มาใช้ก่อนรีลีสเวอร์ชันแรกโดยอิงจากสแน็ปช็อต SVN รับประกันค่อนข้างมากว่าโครงการจะจบลงไม่มากก็น้อยและคุณจะพบว่าตัวเองผูกติดอยู่กับศพ ในกรณีของเรามันอาจแย่กว่านี้ ยังคงเป็นความเสี่ยงใหญ่


อาร์แกคุณแค่เตือนฉันถึงอีกส่วนหนึ่งของอดีตที่ฉันอยากจะลืม ฉันสืบทอดส่วนหนึ่งของโครงการ (โครงการเดียวกับที่ฉันพูดถึงในคำตอบของฉัน) ที่สร้างขึ้นจากภาพรวมของ Spring RCP ฉันไม่เคยเข้าใจว่าทำไม ดูเหมือนว่าจะไม่เพิ่มอะไรนอกจากความยุ่งยาก
Dan Dyer

3

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

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


1

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

ในเดือนกุมภาพันธ์ปีนี้พวกเขาประกาศว่าระบบใหม่จะใช้ Sharepoint 2010 ต้องการเดาว่าทำไม เพราะทันใดนั้นนี่เป็นชื่อที่ Pharmas รู้จักและเป็นชื่อที่พวกเขาคุ้นเคย!
เราจะเห็นสิ่งที่ 2012 นำมา!

\\ uSlackr


0

การเขียนระบบปฏิบัติการที่ทันสมัยใน C / C ++ เรารู้จักกันมาตั้งแต่มอร์ริสเวิร์ม (ช่วงปลายยุค 80) ว่าเป็นภาษาที่ไม่เหมาะสมอย่างสมบูรณ์สำหรับการสร้างซอฟต์แวร์เครือข่ายใน แต่ก็ไม่ได้หยุดยั้งไม่ให้ใครทำเช่นนั้น


5
-1 เป็นฉันหรือนี่เป็นครั้งที่ 5 หรือครั้งที่ 6 ที่คุณโพสต์เกี่ยวกับ C ว่าผิดหรือเปล่า? FUD กำลังเหนื่อย เพียงเพราะคุณไม่สามารถรหัส C โดยไม่ทำผิดพลาดด้านความปลอดภัยไม่ได้หมายความว่าคนอื่นไม่สามารถ คุณไม่สามารถเกลียดภาษาได้ตามการปฏิบัติที่ไม่ดี
ทางเลือก

2
มันเป็น FUD ที่ระบุว่าความจริงที่ว่า "C เป็นภาษาที่ไม่ดี" เป็นความรู้ทั่วไปที่มีวัตถุประสงค์
ทางเลือก

2
@ มาธาปิก: ฉันพูดอะไรที่คลุมเครือเหมือนว่ามันเป็น "ภาษาที่ไม่ดี" หรือเปล่า? ฉันบอกว่ามันไม่เหมาะสำหรับการสร้างโปรแกรมเช่นระบบปฏิบัติการที่มีข้อกำหนดด้านความปลอดภัย และนั่นคือทั้งข้อเท็จจริงและความรู้ทั่วไป
Mason Wheeler

6
@ คณิตศาสตร์: ฉันกับเมสันในเรื่องนี้ มันเป็นที่รู้จักกันอย่างแพร่หลายและเป็นที่ยอมรับว่าจัดการสตริงใน C ทำให้เกิดบัฟเฟอร์ล้นและในการเขียนโปรแกรมภาษาที่เหมาะสมก็ไม่ได้ ไม่ว่าคุณจะคิดว่าคุณดีแค่ไหนที่“ เชื่อถือได้เขียนรหัส C อย่างปลอดภัย” (pff) ภาษาที่เพิ่มความน่าเชื่อถือของข้อบกพร่องเป็นภาษาที่ไม่จำเป็น
Timwi

3
@Timwi: คำตอบเดิมบอกว่า "C / C ++" ใน C ++ การจัดการสตริงไม่ทำให้บัฟเฟอร์ล้น ไม่ใช่ว่าฉันเป็นแฟนตัวยงของstd::stringแต่มันใช้งานได้และพร้อมกับแม่แบบคลาสคอนเทนเนอร์สามารถกำจัดข้อผิดพลาดที่อาจเกิดขึ้นได้ในระดับสูง
David Thornley

0

สิ่งที่ฉันเห็น ....

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

ความผิดพลาดครั้งใหญ่ในการประเมินว่าเทคโนโลยีจะทำอะไรให้พวกเขา


1
ดีเลือกเก่า ฉันถูกถามเสมอว่าภาษา OS / ฐานข้อมูล / การเขียนโปรแกรมตั้งชื่อตามตัวเอง (เช่น Dick Pick)
Bill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.