Cars, by definition, cannot fly
Saying that you need to throw away years of work and start from scratch is rarely a practical solution. And I absolutely agree, and am a huge supporter of trying to make solutions that work in context and are practical. But there must be times when incremental improvements must be abandoned for the sake of a new direction.
You cannot make a car fly by putting a bigger engine in it or making it lighter. The fundamentals of its design are different from a device designed to fly. When you are figuring out whether you should salvage existing decisions and incrementally improve, or if you should throw it away and start over, you need to ask yourself- are you trying to turn a car into a plane?
Sometimes we have cars and all we need are faster cars. And sometimes we have a plane and we just need a safer plane. But sometimes we have a car and imagine if we keep improving the engine and frame, we can make it fly. We can’t.
But it is also important that when you decide you want a plane instead of a car, you don’t just abandon all ground vehicles. We’ve been flying for almost a century, but we all still drive cars. When making these huge technological leaps forward, we need to remember how risky the approach is and make sure what we do is as backwards compatible as possible.
This is an always risky and passionate issue but lately I’ve been using this as a useful analogy. Identifying the fundamental problems is always the biggest obstacle to implementing a vision, and first and most difficult is to identify and differentiate the truly fundamental problems from the merely difficult to solve.