As the title says, I don't like the Scrum (the project methadology). But I don't think I would use anything else!
It is like Churchill or Rooseveldt said something along the lines of: "Democracy is flawed, but nothing else works!". Which is also true. Democracy is the rule of the mob and pop culture, but all other governing styles leads to chaos, elitism or despotism.
I do like a lot of the ideas behind Scrum, the agile thinking is great, the XP ways do work. Everyone seems to jump on the Scrum bandwagon taking every element as gospel, and defending it religiously. But Scrum, has introduced many elements I don't like. I can see why, and what they can achive, but some I really detest.
Unfortunetly, all other project managent styles have more flaws, so I think "Scrum matured", or some better Agile methodalogies in the future is a better solution.
For Scrum and agile there are 3 sides to view from the pros and cons to its benefits.
It is mainly been developers who having been pushing Scrum as it will be better for customers, hence in the end for management as they are more profitable. However the bits I don't like is mostly where the benefits are purely for the management.
For management the pros are:
* Constants status updates
* Up to date status
* Future cost projectability
* Focused costs
* Low risk of wasted development
For customers the pros are:
* Ability to direct and change requirements
* Cost transparency
* Feature and status transparency
* Final release is as required
For developers the pros are:
* Low up front documentation
* Task sharing
* Modern and new, therefor interesting
* Management and customers are open to ideas
* Iterative development, of which one benefit is you dont have to solve everything immidietly
There are other pros, but they are not specific to Scrum, more that Scrum project are Agile and open to new technologies, and other methoods etc. Such as Continuous Integration, Wiki, JIRAesque.
But the cons are for developers
* Stress, due to constant pressure to perform every day
* Loosing individuality
* Turning into factory lines
* Constant status updates
* Perfect planning every day
* Orvelian supervising
* Loss of trust
* Low priority of refactoring
* Stand ups
* Back to low technology
Cons for management
* Stress and morale of staff
* Projects fix specific problems, but leave all else untouched, increasing rot and risk of general purpose tasks
* Distributed development is tricky
Cons for customers
* Probably not that much!
* Must trust supplier
* Difficulty in estimating accurate final cost
So you can see the pros does outway the cons. For Customers there really are no cons. It is just pros. For the management, once informed and convinced, they are also mostly pros.
It is just for the developers there are real cons, and they are the most noisy Scrum advocates! I am afraid as the idea behind Scrum gets older, developers will wain of it when they realise some of the consequences. But perhaps by then "agile" people will have forseen this and adapted a more mature and compatible "Agile 2.0" methodology and processes.