Why we should not accommodate organisation’s dysfunctionalities
There was an interesting discussion in the software development community here in Asia about why Scrum will not work and why waterfall is the best methodology for software development. I generally dislike getting involved in this kind of debate because the statements are usually made by someone who does not know what Scrum is all about and in the end people are gang-bashing each other rather than opening up their minds and share knowledge. But somehow this time I failed to avoid such debate. Shame on me.
One of the most interesting comment that I found in that debate was something like this:
From agile jargons that I’ve heard, agile mainly emphasizes on self-organising team, mature individuals, logical customer/client/product owner. Now if we are in these ideal situations, where programmers are ninja, the client is logical and everybody is mature and professional, any methodology will work, even programming mother!@#$er.
There is much misconceptions in the software development communities about what Agility is all about. A lot of people still think that Agile is about a methodology, a set of rules and process that needs to be complied with. Many even think that Agile is just another fad. People who are still thinking that Agile is a methodology are missing a lot of thing and are most probably will miss the real benefits from Agility that many other organisations has already reaped ages ago. It seems the simplicity of Agile is not so easy to understand for many people.
The real essence of Agility are the values and principles behind it, not the practices. eXtreme Programming is built upon Simplicity, Communication, Respect, Feedback and Courage, while Scrum is built upon Focus, Commitment, Openness, Courage, Respect. The goal is not to comply with Agile practices as the practices is a mean that supports the values, not an end. An organisation who has these values embedded in the organisation may even found better techniques to help them become an Agile organisation.
Now let’s talk about mature self-organising individuals at workplaces. As a parent, do we see our children become mature automatically since they were born? Of course not. Do we just give up on them and not treat them as human being knowing they are not mature when they were born? No right? We would nurture and coach them and do everything that it takes to mature them. But why do we have a different attitude towards the people whom we are working with at our workplace? Do we think that grown-ups should automatically become mature? Do we think that adult by nature are responsible and professional? Or do we just think that some other institutions (i.e the university, school, college, etc) should have been responsible to mature them as a grown-up? And when we do not get the ideal people at our workplace, do we just install a paternalistic system into our organisation so immature people can behave? And do we just whoop them up when they are not behaving well?
Often times organisation do not want to spend time and effort to coach people as if people are less important than the business they are running. Management who are responsible to empower and coach people think they are too busy to deal with coaching so they think that installing a scientific paternalistic management system where people should just follow the system will fix the issue with immaturities. If they are too busy, perhaps they should consider hiring someone who are good in facilitation and coaching to focus on people aspect in the organisation, someone who not only know about textbook Agile but a living example of someone who is living the Agile values.
We need a more humane workplace, where people are treated as human being not as machine-like organism. Agility focus a lot on the people factor behind software development because Agile acknowledge that great software are made by great collaborative teams. Caring for people is not a methodology, it is the standard of life.
We acknowledge that we live in an imperfect world but accommodating dysfunctionalities does not make the world we live in become better.
Yes, we live in an imperfect world. Every team is imperfect as they consist of imperfect human beings. Every organisation is imperfect because they are made of imperfect teams. No organisation is perfect. There must be a reason why Agile emphasize a lot on coaching and acknowledge the importance of roles like Scrum Master or Agile coach. Scrum Master or Agile coach is the person who deals with imperfection — to coach people to become a better human being, to work better in concert with each other, to have better relationships with the customers and Product Owners. This is not be a role that should be underestimated.
Yes you can end up with a self-organising team in a waterfall-like model after people has been coached to be a responsible human being. But don’t stop smart self-organising team from ditching waterfall when they found out that waterfall is not actually Agile because they understand that Agility is not a verb, not a methodology nor an end-state. Mature responsible people may even discover that programming mother!@#$er is an act of ignorant careless irresponsible people who think that software development is only about programming. Who knows what mature smart responsible self-organising people can come up with?
Working with mature, responsible, professional and passionate people is the dream for many organisation. It may not come automatically. It takes hardwork. But if we are not there yet today, we should not give up on it too easily. We should not accomodate dysfunctionalities by installing a paternalistic system into our workplace without caring for people because it is people that make up a company.