Times change and with it, naturally, does our approach to software development. In the age of boxed CDs Scrum worked pretty well. It's been bent and extended to work in other cases. But I would disagree that it is suitable for all types of software. In only a handful of years we've gone from CDs to SaaS, PaaS, IaaS, web-apps, mobile apps (or any downloadable software), big data, you name it. It also depends a lot on who your customer is. Scrum is still great in many cases, but not all. For example, I don't think it's the best for consumer-oriented web-apps and mobile apps, and some types of SaaS (in other words, when the developer controls the entire infrastructure).