DEV Community

Jonathan Hall
Jonathan Hall

Posted on • Originally published at jhall.io on

Software development is inherently unpredictable

Software development is inherently unpredictable.

You probably agree with this, at some level. “Yes, we’ll run into unexpected bugs” or “Of course, we don’t know what the customer will request next week” or even “Obviously, people get sick sometimes, and that may push the schedule back.”

Those are all valid examples of unpredictability affecting software development, of course.

But that’s not what I mean.

I mean that software development, by its very nature, is unpredictable.

Think of it this way: When you write software, what are you doing? You’re inventing something new. It may have similarities to something you’ve done before, of course. But if you had done the exact same thing before, you wouldn’t be writing software now. You’d be copying software, which takes a few milliseconds typically.

So here’s the thing:

If we already know exactly what our software should look like before we write it, it’s because we’ve already written that exact software before. And then we’re done! There’s nothing more to do!

The act of writing software is an act of discovery. We’re discovering what software we need to write, as we write it.

That’s inherently unpredictable.


If you enjoyed this message, subscribe to The Daily Commit to get future messages to your inbox.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay