Semantic versioning has never versioned Semantics!

If you changed the sort() implementation from MergeSort to QuickSort, do you up the major version? My rants against SemVer are famous. Here’s a meta-rant: Semantic Versioning is broken at a higher level than what it does. It doesn’t version semantics (meaning, behavior, effect, outcome), but rather versions binding signatures (basically any linking, loading, IDE-calling, etc.Continue reading “Semantic versioning has never versioned Semantics!”

The SLA-Engineering Paradox

Why outcome-defined projects tend to drive more innovation than recipe-driven projects In the beginning, there was no Software Engineering. But as teams got distributed across the world, they needed to communicate what they wanted from each other and how they wanted it. Thus, Software Engineering was born and it was…. okay-ish. Everything ran over-budget, over-time,Continue reading “The SLA-Engineering Paradox”