Lately ran into http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf, a paper published in 1970. After 50 years, anybody in the field can perfectly relate to the problems described. Even the terminology has hardly changed. While we may have a slightly better grip on a pragmatic development process – the difference in sophistication is not really impressive while we are suffering from the very same problems today: Poor decision making, too little upfront analysis and design.
Yet there is a whole industry of people selling simple technology driven approaches to problems that are at most partially technological but first and foremost design questions.
As a developer one (unfortunately) rarely gets the chance of designing and being responsible for a system that grows to a large and vibrant organism. And so actually validated design experience is scarce out there.
Fortunately, singular and small solution can typically made to work anyway somehow, even if they are built with a mix of containerized node.js implemented microservices to store an order record in a non-transactional no-SQL database.
I just made a resolution to write about something positive in my next post. Stay healthy!