OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
FSF
Category Archives: software-engineering
Discipline doesn’t scale
If programmers were just more disciplined, more professional, they’d write better software. All they need is a code of conduct telling them how to work like those of us who’ve worked it out. The above statement is true, which is … Continue reading
The feature constraint
If you’re in a purely software business, your constraining resource is often (not always, not even necessarily in most cases, but often) the rate at which software gets changed. Well, specifically, the rate at which software gets changed in a … Continue reading
Posted in software-engineering
Leave a comment
The Logical Fallacy
Nary a week goes by without seeing a post by a programmer, for programmers, on the subject of logical fallacies in arguments. This week’s, courtesy of hacker news, is not egregious, enlightening, or indeed different in any way from the … Continue reading
Posted in brute-force, software-engineering
3 Comments
Why 80?
80 characters per line is a standard worth sticking to, even today. OK, why? Well, back up. Let’s examine the axioms. Is 80 characters per line a standard? Not really, it’s a convention. IBM cards (which weren’t just made by … Continue reading
The ABC of Software Engineering Research
About this paper The ABC of Software Engineering Research by Klaas-Jan Stol and Brian Fitzgerald, published October 2018. See link for full citation. Notes There are too many ways in which terms describing research methods in software engineering get used, … Continue reading
More speed, lower velocity
I frequently meet software teams who describe themselves as “high velocity”, they even have graphs coming from Jira to prove it, and yet their ability to ship great software, to delight their customers, or even to attract their customers, doesn’t … Continue reading
Posted in Business, performance, process, software-engineering
4 Comments
Coming to terms with fewer terms
I was on a “Leadership in Architecture” panel organised by RP International recently, and was asked about problems we face using new techniques like Microservices, serverless and machine learning in the financial technology sector. The biggest blocker I see is … Continue reading
Posted in software-engineering
Leave a comment
What’s better than semver?
Many software libraries are released with version “numbers” that follow a scheme called Semantic Versioning. A semantic version is three numbers separated by dots, of the form x.y.z, where: if x is zero, all bets are off. Otherwise; z increments … Continue reading
Posted in software-engineering
4 Comments
To become a beginner, first become an expert
We have a whole load of practices in programming that only really work well if you’re already good at whatever the process is supposed to help with. Scrum is a process improvement framework, but only if you already know how … Continue reading
Posted in advancement of the self, software-engineering, TDD, tool-support
2 Comments
Reasoning about reasoning about software
Functional programmers like to claim that you can’t reason about mutable state programs. Some thoughts: the first half of the book A Discipline of Programming by Edsger W. Dijkstra tells you how to do it. That half of the book … Continue reading