The complexity of the system behavior in exceptional situations is by orders of magnitude greater than the behavior in routine operation. Accordingly, the costs of designing and testing the procedures that handle exceptional states should be much higher than the costs required to handle routine states.
Typically, the resources allocated to deal with exceptional situations are scarce. System design and testing is always constrained by budget and schedule. Considering these constrains, the development activities are typically prioritized, so that the initial focus is on the procedures that implement the primary functions, used in routine operation. Consequently, the specification, design and testing of the system behavior in exceptional situations is often lousy. During testing, the operators do not have sufficient opportunities to practice the operation in exceptional situations.
Because delivery time is always limited, the exceptional situations are typically error-prone, and the results of operating in exceptional situations are often unpredictable. Because the developers are always under pressure for early delivery, the procedures that handle exceptional situations are liable to hinder severe design mistakes. Often, the design mistakes are detected only after the system has been delivered and deployed.
Updated on 02 Jan 2016.