This is just the case. It is very difficult to know up-front if added complexity will actually save you anything in the end.
New concepts, frameworks or whatever are created for a reason. If you willingly adapt any new shine toy without thinking about what problem it solves you get what the author is ranting about: unnecessary complexity without any gains.
I think that the problem is that a great deal of knowledge (and good guesswork) is needed to make those decisions and even then it is hard.
Sometimes the removal of an unnecessary requirement will be the biggest factor in bringing the complexity down. But it is not often the case that this is obvious to the development team.
I do love to listen to how different companies solve problems from friends in the IT industry. Nobody is every on target in regards to "complexity used" vs "complexity actually needed"!
New concepts, frameworks or whatever are created for a reason. If you willingly adapt any new shine toy without thinking about what problem it solves you get what the author is ranting about: unnecessary complexity without any gains.
I think that the problem is that a great deal of knowledge (and good guesswork) is needed to make those decisions and even then it is hard.
Sometimes the removal of an unnecessary requirement will be the biggest factor in bringing the complexity down. But it is not often the case that this is obvious to the development team.
I do love to listen to how different companies solve problems from friends in the IT industry. Nobody is every on target in regards to "complexity used" vs "complexity actually needed"!