There is a long list of things that mean you are ‘doing’ Agile:
- Continuous Deployment
- Visualisation Boards
- Daily stand ups
- Working closely with stake holders
- User stories
What happens a lot of the time is people start to just do the things they’re told to do and don’t understand the reasons for them. For example, daily stand ups could become counter productive in some circumstances. Our attention is always on ‘being’ agile, and understanding why the practices work and what they are used for.
Sometimes stake holders don’t know what they want, the idea they have is new and hard to explain. The standard Scrum approach of demanding detailed acceptance criteria won’t work in these circumstances but unfortunately it’s often the case that the development group are quite insistent on the criteria being clear. This stifles innovation and flexibility. We have different approaches that work alongside Scrum to help this work properly without too much argument.
Scrum is a relatively lightweight approach to help teams understand the agile mind set. It is easy to implement, and even just doing the rituals around it can have a lot of benefit for teams that are unused to working collaboratively. We see it as a stepping stone on the way to further improvement, but even on its own it can significantly reduce communications problems within development teams, as long as the business work closely with the development effort.
- Pairing. This is one of the most contentious, and yet beneficial, practices in the agile approach. If it is done well it can significantly cut down errors that happen when lone developers find themselves going down the rabbit hole and making costly mistakes that some better perspective would have prevented. There are also benefits where senior people can be left to mentor and aid rather than be fully employed – this gives you the ability to easily respond to emergencies. We do one to one coaching using pairing and also work with people on its adoption.
- Behaviour driven development, sometimes called test-driven development. This can have profound effects on bug counts and morale if it is used well. It is often only used inside development teams and not in the wider parts of the organisation. We run courses in BDD specifically aimed at the whole organisation and promoting of this information sharing practice.
- User stories. Generating coherent user stories, that can be fed into the tests, can be hard. We work with using mechanisms for visualising your end users and understanding their needs.
Kanban: Beyond scrum
Once teams have settled down using Scrum a number of problems usually emerge around the visualisation of the work. Kanban uses simple ways of visualising the work that give the team control over it without sacrificing quality. It also works extremely well in non-development environments, helping create ways of handling varying demand without causing breaks in effectiveness.