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

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

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

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

![](/files/-LrcfKDwde4oUXdMdrN5)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.saladpuk.com/tips/why-software-fail.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
