Chapter 10. The Accuracy of Future Predictions
One thing we know about software design is that the future is important. However, we also know that the future is very hard to predict.
I think that I have come up with a theory to explain exactly how hard it is to predict the future of software.
The most basic version of this theory is:
The accuracy of future predictions decreases relative to the complexity of the system and the distance into the future you are trying to predict.
As your system becomes more and more complex, you can predict smaller and smaller pieces of the future with any accuracy. As it becomes simpler, you can predict further and further into the future with accuracy.
For example, it's fairly easy to predict the behavior of a "Hello, World" program quite far into the future. It will, most likely, continue to print "Hello, World" when you run it. Remember that this is a sliding scale – sort of a probability of how much you can say about...