-
The Long and Winding Road to Fruition
A little more than 30 years ago, I wrote a Master’s Thesis that describes a framework for building a semantic model that could represent a set of requirements so completely, concisely and precisely that code, even an entire application’s worth of code, could be automatically generated from that model. It’s title is “A complete semantic…
-
Down the Rabbit Hole of Suck, Part 2
In part 1 of this post, I introduced the notion of software inventors, which I believe captures fairly well what we software professionals do for a living. Being software inventors doesn’t mean that we’re inventors in the traditional sense. We work in a software industry that requires systems to be developed and delivered. Being software…
-
Down the Rabbit Hole of Suck, Part 1
As a software professional, I have striven throughout my career to do the best job building software that I can. I’m sure all of you in the software profession who are reading this have done the same. The general standard for doing a good job building software has been illustrated by the iron triangle, which…
-
The Curmudgeon’s Guide to Unit Testing
What, yet another blog entry on testing? Yeah, but there’s something special about this one. I wrote it, to pass on some things I’ve learned about testing over the years. Why test? Well, that’s an easy question. We test to make sure code functions correctly. More specifically, we’re doing validation, which is ensuring that the…
-
Conscious Scrum
From time to time, I’ve thought about the best way to pay down technical debt in a Scrum-based software project. Two ways of doing this always come to mind: the tech story approach and the while you’re in there approach. The tech story approach is pretty straightforward. We document the technical debt item to be…
-
Microservices is a Deployment Model, not an Architecture
There are many articles that have been written about how to build a microservices architecture or whether to go with a microservices architecture or a monolithic architecture. Since architecture is an issue that needs to be addressed early in a project’s lifecycle, these articles imply that the decision regarding microservices vs. monolith is one of…