I am a massive supporter of agile methodology. In fact I use it in practically every project I undertake, be it a work project or a home project, or even just some very mundane activity (yes, gardening too...). I do this because I know it works for me, and I am keeping myself honest whilst I am doing it. I am my own taskmaster and worker. The Big Cheese and the Grease Monkey. In fact, if you love beating yourself up for not getting on and doing the work, then agile is the thing for you. Do it in a waterfall way and you will be able to cover things up, hide away in the detail, and frankly fool yourself into thinking you are doing stuff when in fact you are doing very little. Lay it clearly out in a backlog the (scrum) agile way and you have nowhere to hide. The facts speak for themselves.
But there is more to agile than following a few guidelines. You can't be the worker and the boss at the same time if you just become a slave to process, and certainly not if you don't "live the dream". At the risk of sounding idealistic or "religious" about agile, you can compare it to the desire to learn a martial art. Any fool can learn the basics of say karate or taekwondo, even get to black belt level and pass the tests to prove that he understands and can carry out the "mechanics" of the kata or form. The body has learnt the routine, and the brain can sit back and watch. But it takes more than that to become a master. There is a reason that word is used. There is more to mastering an art than learning it and following instructions. To become the master you need to become one with the art itself. You have such a deep understanding of what it is, where it comes from, its purpose, its benefits, and significantly, the effect it has on your person, and the type of person you need to be to gain full mastery, that the art becomes inseparable from your normal life.
So, at the risk of sounding mystical or religious...(ahem - oh dear), the whole wonder of mastering anything hard is that you become part of it, and it becomes part of you. So back to agile. Hence my point at the beginning: agile is not just a useful way of doing something, it is the way your brain thinks when it is doing something. There is no chore or "hurdle" to using agile technique: it is the logical and natural way to go about something. Agile is older than waterfall, older than deep planning and organized structures. Agile is the way that natural processes work: there is no natural "boss" in natural processes. Things work because many little processes get on with their jobs and respond to each other in an iterative way. How else can they cope with the world.
I don't want to stray from the subject of this post, so suffice it to say that it is quite natural to do things in an agile way. The tricky bit is getting a group of people, or a company, to do things in an agile way together, to work as a team and become masters at the art of iterative improvement, team ownership, inclusion, common goals, forgiveness, learning from mistakes, common blame, peer support, passion for quality etc etc.
So are companies really agile when they say they are? Sure, some of them will be. But most of them will not. Because the statement "we are agile" is a good one, and exec management will want to say this. So middle management and project managers will reinforce this message, for that reason and also because they want to have continued support. Can't blame them for that. In my view though the "agileness" needs to permeate through the organization and touch everyone involved in their work. The PM responsible for an agile team should not be quaking in her boots when giving an update to her boss: the data is there and what the team and she has done is there to be seen. No surprises, no excuses, and no reason for the boss not to have known what is going on and how he can support the team. It is everyone's responsibility to make a success of a project, and being truly agile means you live this way, you work this way. You fight to tear down barriers and reveal the truth of what has been done on a project. You ensure you talk to the people you need to talk to directly, and not through lines of disinterested players. You are passionate about delivering something of value to the business, to the benefit of the company, and you feel personally responsible, whatever your role on the team. You are also angry when others do not feel the same and do not mirror your high standards. You take offence at someone sacrificing quality for expediency, since you know that ultimately the end customer, the paying customer, will suffer, and that means he will leave and the company will suffer.
That sounds radical doesn't it. Wanting the company you work for to succeed so much that you hack off those that you don't believe are doing their jobs properly. That you force confrontation and straight talking. That you lay the facts out clear as day so that there is nowhere to hide, beat about the bush, fiddle while Rome burns. For me the agile way is based on a few benign and obvious rules, but taken to the master level (for any player on the team) it becomes a weapon to fight complacency and poor workmanship, but it comes with the revolutionary side to it that cries "power to the workers!", that looks at hierarchical management with scepticism, and serves a higher power than the bosses of the company: the customers of the company.
Ok, maybe a bit too "religious" after all. But remember when we talk about "how" you do things, it is impossible to remove the person from the equation, and what drives that person. That is why I love agile so much: I don't feel like a cog in a machine any more, ensuring "TPS" reports get generated monthly, but a valued member of a team striving for a quality delivery that you know has business impact.