# ปัญหาที่ใหญ่ที่สุดในการทำซอฟต์แวร์

ถ้าเราไปค้นหาสาเหตุที่ทำให้การทำซอฟต์แวร์โปรเจคล่ม ส่วนใหญ่ก็จะเจอเรื่อง Requirement ไม่นิ่ง, คุยงานกันไม่เคลีย, ส่งมอบงานไม่ได้, ปัญหาเรื่องเงินและเวลา บลาๆ ซึ่งเชื่อไหมว่าทุกปัญหาที่ว่ามามันชี้ไปหาเรื่องเดียวกัน ซึ่งมันเป็นจุดชี้เป็นชี้ตายของบริษัทซอฟต์แวร์เลยก็ว่าได้ (มันคือไรเดี๋ยวเฉลยตอนท้าย)

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

จากเรื่องที่เล่ามาสรุปสั้นๆเรื่อง สาเหตุที่แท้จริงที่ทำให้บริษัทซอฟต์แวร์ต้องปิดตัวก็คือ "**การวางแผนจัดการโปรเจค**" นั่นเอง แต่เรื่องนี้ไม่ได้หมายถึงการทำ **SDLC** เพียงอย่างเดียวนะ แต่มันหมายถึง **เราต้องวางแผนรับมือกับทุกๆเรื่องเลยต่างหาก** เช่น จะทำยังไงถ้าต้องเสียกำลังคนไปทำโปรเจคเมื่อปีที่แล้ว, จะทำยังไงโปรเจคนี้เขาเร่งเวลามา, จะต้องทำ feature ใหม่แต่ทีมยังไม่เคยทำเรื่องนี้เลย, ลูกค้าขอให้ส่งงานสำคัญ 2 ตัวแต่ทีมทำได้แค่ตัวเดียวเท่านั้น บลาๆ  ดังนั้นจะเห็นว่า การวางแผนจัดการ มันจะช่วยมาควบคุมลดความรุนแรงต่างๆที่จะเกิดขึ้นได้ เพราะไม่อย่างนั้น ต่อให้บริษัทสามารถวิ่งไปรับงานมาได้เก่งแค่ไหนก็ตาม แต่ถ้าบริษัทไม่มีกำลังคนมาทำงานเหล่านั้นได้ หรือไม่สามารถกลับไป maintenance  ตัวโปรเจคได้ มันก็จะเป็นดินพอกหางหมูที่คอยกัดกินบริษัทและกำลังใจในการทำงานของทุกฝ่ายไปเรื่อยๆครับ

![](https://89560975-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lm0_idNbY6k1lwp6hm4%2F-LrcZwdzTuS8jKro-xqv%2F-LrcfKDwde4oUXdMdrN5%2Fphoto_2019-10-20_16-46-55.jpg?alt=media\&token=d927cbca-e905-4dc7-a927-99d0b73896c1)
