Christoper Locke writes in his book Gonzo Marketing.
But professionalism is something altogether else. Over time, any functional specialization tends to forget its relationship to the larger social context it was created to work within and serve. Instead it concentrates on developing an inner sanctum of specialists who talk among themselves n a private language inaccessible to outsiders.
But delight and passion for the work are precisely the qualities professionals tend to lose first. The opposite of professionalism is what Zen master Shunryu Suzuki called “beginner’s mind” – an ability to look at the world with fresh eyes and an open spirit.
In a sense, Agile Processes are to Software Processes what Gonzo Marketing is for the marketing world. But professionalism has creeped in there too. There are now ready-made packages of agile processes. The soul of agile lies in the concept that software development can be more productive and useful for the customer by eliminating some hurdles which take extensive efforts. The agile manifesto and its principles specify the concept.
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Mind you, these are the goals, none of them specify ways of achieving them. Whether it is XP or Scrum or TDD, organizations should customize the way they need it. The advantage of agile processes is, or was, the flexibility and the non-specificity or soft-coding which organizations could specify when they customized it.
One more aim of agile processes was to reduce cost by eliminating time and effort for things like negotiating contracts or extensive documentation. Documentation without working software is worth zilch, prioritise working software over comprehensive documentation. The focus is on the customer and his/her benefits.
However, some new developments are leading agile towards the same old rigid frameworks. Without trying to achieve these basic goals the stress is more on following specific methodologies like XP.
Agile processes are a solution. We need the beginner’s mind to be able to adopt agile development. We need to customize it according to many factors that constitute the project, like skill of the team, size of the team, customer’s priorities, structure of the team and many more depending on the project. But the most important – there should be a high level of trust between the customer and the software developer. Only then would responding to changes without extensive Change Control Management Plan or collaboration without contract terms and conditions would work.
Agile process professionals seem to forget this today. Without this, every agile process is going to be non-productive and fail. This is what exactly Hani Suleiman is addressing. Agile professionals are forming their own team with their own jargon, and rest are outsiders, failing to realise that agile processes are based on very simple principles so that they can be used for everyone without expensive seminars. They keep shouting “You should do this (their best practices) to be agile, else …”.
Let me quote Christopher Locke again here
So I explored. I followed my heart. And I began to discover that many of the things that worked were the diametric opposite of what was normal and expected in business. In fact, the more diametrically opposed, the more contrarian the approach, the more effective it tended to be. I began calling these directions, attitudes and informal rules-of-thumb “worst practices”.
They aren’t algorithms or recipes. They’re not procedures. They’re inclinations and actions that flow from a particular state of mind. And states of mind don’t lend themselves very well to bullet points. However, they can sometimes be transmitted through stories. Stories don’t deal in definitions and formulas. Instead they convey impressions, colors, connotations. Their effect is cumulative. The whole encompasses more than the shum of the parts, suggesting new ways to look at problems. And sometimes, new imaginative new approaches to solve them.
Every team, project, company is different from each other. Without customization none of the processes are going to be effective. Don’t adopt agile because you want it to work for you. Identify a good process for yourself, customize it and accept it without worrying whether it is agile or not. We need to find these worst practices today to adopt agile processes. Things that work, not because they are listed in the best practices somewhere, but because they will work for you. Call it Gonzo Agility!