Accepting Uncertainty: The Problem of Predictions in Software Engineering

Why our predictions continually fail and how to improve our results with learning-based approaches

Which way to go?
Photo by Jon Tyson on Unsplash

Key Takeaways

The Best Laid Plans…

“Prediction is very difficult, especially about the future.”

Why We Don’t Learn

We Get Paid Not To

“It is difficult to get a man to understand something, when his salary depends on his not understanding it.”

The Allure Of Simplicity

“… there is always a well-known solution to every human problem — neat, plausible, and wrong.”

The Sunk Cost Fallacy

The Dogma Trap

The Cruelty Of Randomness

The Charismatic

Being Mistaken, Usually

“I am sure that the mistakes of that time will not be repeated; we should probably make another set of mistakes.”

Strategies That Use Learning

A Deterministic Approach

A Pseudo-Deterministic Approach

An Evolutionary Approach

A Common And Misguided Strategy

“The fault, dear Brutus, is not in our stars,

But in ourselves…”

Julius Caesar (Act 1, Scene 2)

Know Thine Environment

Final Thoughts

References

About the Author

J. Meadows is a technologist with decades of experience in software development, management, and numerical analysis.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store