As software developers we are tired of the false claims made by evangelists of the latest and greatest technology. We will no longer confront them with their lack of understanding of computer science fundamentals, nor will we defend our lack of knowledge of their hyped and volatile technologies. The state of industry is forcing us to value:
- Not only working software,
- but also well-crafted software,
- built exclusively with popular and proven tools.
- Not only responding to change,
- but also steadily adding value,
- while reducing the dependencies and complexity.
- Not only individuals and interactions,
- but also a community of professionals,
- that share best practices with verifiable claims.
- Not only customer collaboration,
- but also productive partnerships,
- to reduce the scope of the software we build.
That is, in pursuit of "agility and craftsmanship" we have found "boring software" to be indispensable.
The things on the left that are well-understood and proven, while the things on the right are hyped and volatile.
- 3-tier applications vs. micro services
- relational database vs. NoSQL
- page reloads vs. single page applications
There are many other examples, but this should get the idea across.
NB: This post originally appeared on TQdev.com (my blog).