So today I read two blog posts on Agile that talks about the failures of Agile. Basically what they’re saying is that Agile+SCRUM is HARD and a lot of teams are failing hard and fast with it.
There are a lot of teams right now failing with Agile. These teams are working in short cycles. The increased planning frequency has given them more control over their work and they’re discovering and fixing some problems. They feel good, and they really are seeing more success than they were before.
But they aren’t working in shared workspaces or emphasizing high-bandwidth communication. They’re don’t have on-site customers or work in cross-functional teams. They don’t even finish all of their stories by the end of each Sprint, let alone deliver releasable software, and they certainly don’t use good engineering practices.
I’ve always been a firm believer that the four most important aspects of agile software development are:
- Short iterations
- On-site customer voice
- Best engineering practices
- Process review
Ken Schwaber, one of the Scrum Fathers, said at NDC2008 that a SCRUM development process will never be complete, it should always evolve and become better. I think a lot of teams are forgetting this, they just churn out code and every 3-6 weeks they evaluate on what to do next. This is not scrum and it is not being truly agile. It’s just being sloppy if you ask me… 🙂