หลังจากดูซีรีส์ MegaStructuresของ National Geographic ฉันรู้สึกประหลาดใจที่โครงการขนาดใหญ่เสร็จสมบูรณ์ เมื่อทำงานเบื้องต้น (การออกแบบรายละเอียดอื่น ๆ ) จะทำบนกระดาษสำนึกตัวเองของโครงการขนาดใหญ่ที่ใช้เวลาเพียงไม่กี่ปีหรือบางครั้งไม่กี่เดือน
ตัวอย่างเช่นแอร์บัส A380 "เปิดตัวอย่างเป็นทางการในวันที่ 19 ธันวาคม 2000" และ "ในช่วงต้นเดือนมีนาคม 2548"เครื่องบินได้ทำการทดสอบแล้ว เช่นเดียวกันกับเรือบรรทุกน้ำมันขนาดใหญ่ตึกระฟ้า ฯลฯ
เมื่อเทียบกับความล่าช้าในอุตสาหกรรมซอฟต์แวร์ฉันไม่สามารถช่วยสงสัยได้ว่าทำไมโครงการไอทีส่วนใหญ่จึงช้าหรือแม่นยำกว่าทำไมพวกเขาจึงไม่รวดเร็วและไม่ผิดพลาดในระดับเดียวกันทำให้มีคนมากพอ?
โครงการต่างๆเช่น Airbus A380 มีทั้ง:
ความเสี่ยงที่คาดไม่ถึงที่สำคัญ: แม้ว่านี่จะไม่ใช่เครื่องบินลำแรกที่สร้างขึ้น แต่ก็ยังคงผลักดันขีด จำกัด ของเทคโนโลยีและสิ่งต่าง ๆ ที่ทำงานได้ดีสำหรับสายการบินขนาดเล็กอาจไม่ทำงานสำหรับเครื่องบินที่ใหญ่กว่าเนื่องจากข้อ จำกัด ทางกายภาพ ในทำนองเดียวกันเทคโนโลยีใหม่ที่ใช้ซึ่งยังไม่ได้ใช้เพราะตัวอย่างเช่นพวกเขายังไม่พร้อมใช้งานในปี 1969 เมื่อโบอิ้ง 747 เสร็จสิ้น
ความเสี่ยงที่เกี่ยวข้องกับทรัพยากรมนุษย์และการจัดการโดยทั่วไป: ผู้คนเลิกกลางโครงการไม่สามารถเข้าถึงบุคคลเพราะเธออยู่ในช่วงหยุดพักร้อนข้อผิดพลาดทั่วไปของมนุษย์ ฯลฯ
ด้วยความเสี่ยงเหล่านี้ผู้คนยังคงประสบความสำเร็จในโครงการเช่นสายการบินขนาดใหญ่เหล่านั้นในระยะเวลาอันสั้นและแม้จะมีความล่าช้าในการส่งมอบโครงการเหล่านั้นก็ยังคงประสบความสำเร็จอย่างมากและมีคุณภาพสูง
เมื่อพูดถึงการพัฒนาซอฟต์แวร์โครงการขนาดใหญ่และซับซ้อนเหมือนสายการบิน (ทั้งในเชิงเทคนิคและในแง่ของการจัดการ) และมีความเสี่ยงที่ไม่คาดคิดจากโลกจริงน้อยลงเล็กน้อย
อย่างไรก็ตามโครงการไอทีส่วนใหญ่นั้นช้าและล่าช้าและการเพิ่มนักพัฒนาให้กับโครงการไม่ใช่ทางออก (จากทีมนักพัฒนาสิบถึงสองพันคนบางครั้งจะอนุญาตให้ส่งมอบโครงการเร็วขึ้นบางครั้งก็ไม่ได้และบางครั้งจะเป็นอันตรายต่อ โครงการและเพิ่มความเสี่ยงของการไม่จบเลย)
ผู้ที่ยังคงส่งมอบมักจะมีข้อบกพร่องจำนวนมากต้องใช้เซอร์วิสแพ็คต่อเนื่องและอัปเดตเป็นประจำ (ลองนึกภาพ "ติดตั้งอัปเดต" ใน Airbus A380 ทุกสองครั้งต่อสัปดาห์เพื่อแก้ไขข้อบกพร่องในผลิตภัณฑ์ดั้งเดิมและป้องกันไม่ให้เครื่องบินชน
ความแตกต่างดังกล่าวสามารถอธิบายได้อย่างไร? เป็นเพราะความจริงที่ว่าอุตสาหกรรมการพัฒนาซอฟต์แวร์ยังเด็กเกินไปที่จะสามารถจัดการคนหลายพันคนในโครงการเดียวเพื่อส่งมอบผลิตภัณฑ์ขนาดใหญ่เกือบไร้ข้อบกพร่องได้อย่างรวดเร็ว?