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?