Adam Ard – Why Scrum is the Wrong Way to Build Software:
“1. Because all product decision authority rests with the “Product Owner”, Scrum disallows engineers from making any product decisions and reduces them to grovelling to product management for any level of inclusion in product direction.
2. Scrum, in accounting for all the engineer’s time in a tightly managed fashion, discourages innovation . […]
9. Scrum discourages bug fixing, reduction of technical debt, and risk taking, all because of its narrow, exclusive focus on only doing items that Product Owners would interpret as valuable.
10. Scrum is hypocritical
Do managers or Product Owners track and estimate every task they engage in with little or no say in what they work on? […]
11. Scrum makes many faulty assumptions
[…] It assumes that engineers are not to be trusted with directing their own work. It assumes that engineers cannot aligned themselves with the best interest of the organization, without tight supervision.”
I’m not sure a hypothetical “perfect Scrum” has these faults, but these are certainly issues we’re facing in our bastardized pseudo-Scrum implementation.
Update: See also Jurriaan Kamer’s excellent You will not become agile by implementing scrum. Quote: “To enable agility, decision making power and responsibility should be implemented at the lowest possible level in an organization, ie. in a scrum team.”