Here’s a summary of what I believe are the most common problems in the software development process:
- Miscommunication: If developers don’t know what’s needed or customer’s have false expectations, problems are guaranteed.
- Poor requirements: If requirements are unclear, incomplete, too general, and not testable, there will be problems.
- Unrealistic schedule: If too much work is crammed in too little time, problems are inevitable.
- Featuritis (Feature creep): Requests to pile on new features after development is underway; extremely common.
- Inadequate testing: Applications may or may not work correctly until the customer complains or systems crash.