To better explain the concepts of software system development, I will use a metaphor: Software development is like hitting a target. The target is the customer's expectations about the software being developed. These expectations consist of having satisfied functional requirements, having the system developed on time, and having sufficient quality and maintainability. If the software system developed meets the expectations, the target is hit. The target remains fixed if both functional and technical requirements do not change during development. If they do change, we have to deal with a moving target. |