2025-07-09T13:25:03Z
Accurate effort estimates are contingent on eliminating all sources of surprise, and software development is particularly, if not uniquely full of surprises.
Dorian Taylor
Expectations around the capabilities and/or behaviour of the software are inadequately articulated, and often even inadequately researched.
It may turn out that the parts the software product invariably comprises, need to be created in a sequence other than the one anticipated.
Most software just glues together other people's software, and other people's software has bugs and limitations, and often doesn't work as advertised in its documentation.
Process Model Issues
There may be pathologies at the system level that are not evident until the system is assembled and running as a whole.
What kinds of surprises are endemic to the software development process?