In my experience, backward / forward compatibility commitments are a gilded cell in software development. I especially noticed that this applies to document file formats and programming languages / APIs. Customers and partners hate it when existing data or code is violated; however, if you never break compatibility, you can seriously limit your ability to innovate in the long run.
Are there solutions to this problem besides the gradual obsolescence of old features? It seems that virtualization, as in Windows 7 XP mode, is one exciting feature. Are there any others?
In addition, for those of us who want to develop new systems that are as possible as possible for the future, what lessons can we learn from past mistakes made in the industry?
source
share