Its like the author is describing many of the projects I've worked before.
Micromanagement and software factories are the death of software development.
But then no matter how much I dislike these management methods, I can see why they are put in place.
There are certain developers that get to a project and just start rewriting everything with no good reason, introducing new cutting edge tools and frameworks for the fun of it and for pure CV driven development.
They introduce huge bugs close to release dates, breaking browser support, refusing to test on IE.
Lets face it, loose canons exist on all teams and we've all seen it before.
This is OK and necessary in the early development cycle, but when things get to production its different. One day something gets seriously broken, and management comes in putting in JIRA or equivalent, and micromanagement starts.
Demotivation of the early developers sets in, the ones who knew how to setup an architecture and make technical decisions. The leave and are replaced by other developers that don't necessarily could take those decisions.
The project entered a pure maintenance phase, where business as sort of given up asking too many features, it just costs too much and the results are less than ideal.
The project enters the keep it running final phase, where noone knows how certain parts of the system work anymore, all original developers long gone. Here the goal is to touch the code as least as possible and its no longer a development job, its mostly technical analysis and troubleshooting of test environments.
Then 5 or 7 years have gone through, and the business decides to replace the system with a new one and the cycle starts again.
The only way i've found to deal with this, is to become a contractor and work mostly on early to mid phases of projects. When the project enters pure maintenance I wait for a few months and then look for a new project.