There is an analogy that says that to everyone who has a hammer, everything looks like a nail.
The analogy pushes on the view that for every tool, method or process approach that you have, you see the need to apply that to everything whether it was the right tool, method or process. For example there are those out there today who are taking agile methods and applying them to everything whether the method is suitable or not, which fits that analogy perfectly. Others can discuss this at length but contemplating this last night, I reversed the thought – that to people who see many nails, everything becomes a hammer.
What do I mean by this reverse? Well I mean that in many projects; software or otherwise, that whatever method or tool that is applied is altered to fit the project rather than the other way around. What I have seen in many ‘agile’ organisations, that the project and the previous experience of those involved alters the approach that is being applied rather too much, moving away from the principles of agile manifesto. What you then see is a process implementation that is built starting with agile delivery concepts but is constructed at the end in a way that is far from being agile and in many situations actually becomes very similar to many waterfall approaches, with all the bureaucracy and structure that slows things down. In other words, the company makes a hammer because they see only nails.
How does a company avoid this? Constant questioning and critical review of what they do – refactoring of the process to its minimum target, something that many delivery teams don’t find as much time to do as they should…