I used to upgrade every 2 years. My last CPU (2500k@4.6Ghz) is 6 years old, 3 months and 3 days (got it on Jan 4 of 2011 when it came out). GPU I used to upgrade yearly, but in the last 6 years I have owned a 580 and a 980 Ti. I am waiting for Volta.
So right now, I need to upgrade. I just can't decide if I want to go 1700X, 7700k or wait and maybe get Skylake-X or Coffee Lake. Ideally, Z270 would support Coffee Lake (LOL! but might happen).
Also, ideally the 1700X has growing pains and will get better. I don't know if I want to base a purchase on Game Developers good will though.
Or, get a 7700k, and just upgrade to Coffee Lake next year and sell it all, but that seems kind of stupid too.