I am a great follower of Jim Highsmith and I am still fascinated by his concept “Today’s quality and tomorrow’s quality”. Reference http://jimhighsmith.com/beyond-scope-schedule-and-cost-the-agile-triangle/
I read this long time ago and had a post regarding this as well. But what I realized recently is that the concept of today’s … and tomorrow’s … is more universal than it seems from the outside. It is applicable for many things beyond just quality in the software engineering.
One contrary application of this concept can be found in problem solving.There is a general struggle when it comes to how one approach problem. Going with Jim Highsmith’s concept, there are today’s problems and tomorrow’s problems. We waste lot of our resources (let it be money, time, etc.) finding solutions for tomorrow’s problem.
For example if you are planing a software system to be used by 5 million users (like Trello) without even writing a single piece of line, then it is a waste. In a realistic example, many software designers are being pushed on concepts of “re-usability”, etc. before even a single piece of line is written. [I think the term “Use before Reuse” was coined due to this :)] Finding solutions for those are simple waste of resources.
We struggle in classifying a certain problem to be today’s problems or tomorrow’s problems. As humans we always like to think big and therefore pretty much liking to find solutions to tomorrow’s problems. So it is not easy to identify and categorize whether it is today or tomorrow in the outset. As I mentioned people waste lot of their resources on solutions for tomorrow’s problem. Let’s see how.
The resources are wasted due to the timing of the solution. In simple terms, if the problem is today, then solution would be for tomorrow. If you implement a solution for a today’s problem, it will give results tomorrow, not today. You have the pain of the problem today anyway no matter what the solution is. If you are sick, then the medicine will make you better tomorrow, not today. If you have a “quality” problem in your piece of software, whatever solution to that would result in improving quality tomorrow, not today.
If the problem belongs to tomorrow’s then where the solution belongs to? It simply belongs to waste basket.
Note: Jim Highsmith’s concept of today’s quality and tomorrow’s quality is not about finding solutions for tomorrow’s problem. It is about keep an eye about tomorrow’s problem, which is always a good thing. Avoiding tomorrow’s problems and finding solutions for tomorrow’s problems are two different things.
For example if you exercise thinking that you will become obesity in 10 years time, that is good. All lies in analyzing the problem not finding the solution like in Lateral thinking