8 years back when I started my consulting journey, there were 2 major technology ecosystems to deal with. Depending on the problem evaluated it against business, application, development and operational considerations, was able to provide a solution which worked for most of my customers.
4 years back, things started changing. I was putting together the technology road map for the SBU I was working for. There were more than 2 technology ecosystems to deal with. One of the major question I had to answer at that point was if I choose a technology today and start developing, Can this survive the test of time? Can we avoid rewrite at least for next 5 years?
Fast forward to 2016, technology is changing so fast, 5 years seems to be a very long time. If you are starting to develop a product/framework/platform, you need to be prepared at least one or more of your components may change as you start developing and your ecosystem should be ready for that. This requires a different mindset with the business teams, architecture groups, development teams and your ops teams. As an architecture consultant, it is very important to communicate and bring everyone to same page. Having the expectations set right and being ready will avoid the frustrations towards the later part of the journey!