The difference between precision and detail
Unlike other engineering disciplines, software (methodology) does not have enough precision to allow any formal reasoning about the software itself. Consequently, most requirements and design errors (“details”) are discovered typically too late, when the system has been built. One improvement is to introduce mathematical methods in such a way, that they scale, are economic to use, and that the key stakeholders remain involved and are still able to validate the specifications based on such mathematical methods. Analytical Software Design meets these requirements.