The best approach is dependent on the definition of "best", and for whom it's best, etc.
For example, in the last 10 years I've seen numerous companies I know switch to Scrum/Agile. They always seemed to have a worse result than before (bad software quality due to lack of long-term planning, lots more meetings and overhead than before). For example one company I'm aware of recently informed me they had to do a "huge refactoring" taking a whole day of the whole team, this was for a project that isn't even online yet, the project is maybe 6 months old. Surely this is a failure?
Why were they continuing to use it? I think Scrum really is "best", for the following definition of best:
- For the customers who are stating the requirements, if they make a huge mistake the person making the mistake could be fired. The only sure way to make sure a decision is not a mistake is not to make any big decision at all. Scrum promises you you don't have to plan out e.g. 6 month projects in full, only specify the stories in the next sprint in detail.
- For an agency billing by time, the more meetings there are, the more hours they can bill and the more money they can make. The worse the software quality is, the more refactoring is necessary, the more times you do things the more hours are billed.
So, for an agency selling to a large customer, Agile really is "best" for the participants personally.
It might not produce the best software, or the cheapest software, but that isn't what actually matters to the people involved.
Comments
The best approach is dependent on the definition of "best", and for whom it's best, etc.
For example, in the last 10 years I've seen numerous companies I know switch to Scrum/Agile. They always seemed to have a worse result than before (bad software quality due to lack of long-term planning, lots more meetings and overhead than before). For example one company I'm aware of recently informed me they had to do a "huge refactoring" taking a whole day of the whole team, this was for a project that isn't even online yet, the project is maybe 6 months old. Surely this is a failure?
Why were they continuing to use it? I think Scrum really is "best", for the following definition of best:
- For the customers who are stating the requirements, if they make a huge mistake the person making the mistake could be fired. The only sure way to make sure a decision is not a mistake is not to make any big decision at all. Scrum promises you you don't have to plan out e.g. 6 month projects in full, only specify the stories in the next sprint in detail.
- For an agency billing by time, the more meetings there are, the more hours they can bill and the more money they can make. The worse the software quality is, the more refactoring is necessary, the more times you do things the more hours are billed.
So, for an agency selling to a large customer, Agile really is "best" for the participants personally.
It might not produce the best software, or the cheapest software, but that isn't what actually matters to the people involved.