However, in real-world applications, developers can never guarantee that all possible user demands are taken into account in the design phase.
existing systems will break down when encountering unconsidered user needs.