I’d like to talk about fake agile and why Scrum is not agile on its own.
This is not just a rant, although there is a bit of that, I'm going to highlight a few key areas that stop you being agile even if you think you are and what you can do to change that.
In my experience, particularly over the last 10 years, I've seen so much fake agile going on. Whether that’s people trying to make Scrum work using, Kanban, eXtreme Programming or just trying to follow the Manifesto for Agile Software Development AKA the ‘Agile Manifesto’.
When I say fake, I mean they're just turning the wheel, doing the same old things - waterfall - but using different terminology typically associated with agile, such as, sprints, inspect and adapt, retrospectives and all the rest, but, essentially doing the same thing.
Getting no benefit, in fact worse than that, as they've added additional meetings adding no value but kidding themselves they're agile, so, just basically wasting time.
Think about what agile really means, it's human being centric, it's about flexibility, sustainability, self-organisation, adapting to change and essentially customer centricity getting value to them fast.
Now that begs the question what is value and how fast should we get it to them? Well value is delivering something positive to them that enhances the way they interact with the product or service. How fast? As fast as it’s needed which could be every day, every week, every month or every year. But you won’t know if you don’t understand your market and your customers.
So this begs a further question, how will you know if what you've delivered provides a positive experience for them? Well, you'll know from their direct feedback because you need to be collaborating and communicating with them on a daily, possibly hourly basis.
This fast feedback with the actual customer often never happens at all. It's handled by some sort of middle layer or third party and this is where fake agile rears its ugly face.
You need daily direct contact with the customer because very often they don’t know exactly what they need, so this needs to be explored together. Introducing a middle layer or proxy for this dilutes understanding and just increases decision latency.
Henry Ford once said;
If I had asked people what they wanted they would have said faster horses
So you also need great product people with vision.
In complex problems the solution isn't predictable at the start and as you start to work on it the nature of the problem changes, that's why it's so important to have this very close working relationship.
Insanity is doing the same thing over and over again and expecting different results
This quote is often attributed to Albert Einstein but I think it was actually the mystery novelist Rita Mae Brown who said it. Either way it’s a sage piece of advice and worth remembering.
If you don't have true self-organising teams then you can't be agile so let's talk about that.
What does self-organising really mean? Firstly it means there's no hierarchy in the team, no one reports to anyone else within the team, they work on a level playing field, together and have all the skills needed.
It also means there's no direct control over the team from outside, they decide what, how and when they do the work. So there's no middle layer management or project management dictating anything to them. The team are empowered to do the work and have autonomy.
They should have their own budget and manage it accordingly. So if they decide they need to all get on a plane and fly halfway around the world to sit with a customer then they should be able to do that without needing any permission at all.
But they don't have an unlimited budget, so they have to prioritise the things that enable them to deliver the best value to the customer.
And they should engage directly with stakeholders, customers and clients.
So does that sound scary?
Well, yes, it probably does to many because they've missed the point of what being agile really means.
You need forward thinking leadership that truly buy-in to business agility in order for this to succeed.
Now let's have a quick talk about Scrum!
Using a framework like Scrum does not make you agile.
Scrum is not agile on its own
That might also sound scary to many and you might be surprised to know that the Scrum Guide doesn't mention the word agile once, not once.
Just as it doesn't mention user stories, story points or estimation but I won't get started on them here, I’ve already written a number of blog posts debunking them! So check them out.
Now in order for Scrum to work in software development you'll need to add many of the engineering practices from eXtreme Programming. In order for Scrum to be agile you'll need to follow the ‘Agile Manifesto’.
Interestingly, you don't need Scrum at all to be agile and deliver high value software, just follow the ‘Agile Manifesto’ and use eXtreme Programming.
I’m not knocking Scrum, I'm a Scrum Master and a Coach after all and if you do it well and add the missing pieces it can work very effectively.
But unfortunately Scrum over the last decade has been done so very badly and it's become synonymous with Jira, which is inherently anti-agile, as are most of the agile tooling out there.
When you hear people saying agile doesn't work, what they mostly mean is that they've tried Scrum, badly, and it hasn't worked. Remember, Scrum is not agile on its own.
It's perfectly possible to do Scrum and be completely waterfall so ask yourself some probing questions.
If you're doing Scrum but you aren't seeing any tangible value from it then it's extremely likely you aren't implementing agile values and principles or using eXtreme Programming engineering practices. In which case what's the point of Scrum if you're not seeing the benefits it's supposed to bring?
So what do you need to do to stop fake agile?
Well, it is difficult I can tell you. Many corporates are simply too big to make the change and would be terrified to remove the middle management layer and all of their project managers but that's exactly what would be needed. Now when I say remove, I am not saying make them redundant.
A truly agile organisation would help them, retrain them to fit into the new world.
Agile needs to be embedded right throughout the organisation top down bottom up so a company-wide restructure is needed to dramatically flatten the hierarchy, provide autonomy and reduce decision latency.
An organisation's culture comes from its structure, so if you don't change that then you're starting from a losing position.
Also organisations need to allow their customers in, they need to speak to them, engage with them, collaborate with them and not just at the leadership level, this access needs to go right down to the people actually doing the work.
Ironically this is often the last thing organisations want as they're too scared to talk to their customers. I say ironically because these organisations are purportedly being agile which is all about openness and transparency.
Perhaps most importantly of all leadership have to understand what agile is all about, believe it and actively ensure it gets embedded, leading by example.
Most leadership I've observed could really do with the mindset shift to servant leadership, that would be a great place to start.
We also need sustainable development. I've seen so many organisations over the years have an almost sweatshop culture and mentality.
I'm sure you've experienced this before, you're getting close to some sort of big release and you're being asked to work late and over the weekends for weeks on end and that cycle just keeps repeating itself.
Sustainable development is needed in order to keep a regular pace day in day out, week in week out, all throughout the year. It helps predictability and is crucial to delivering high quality products and services, avoiding burnout, so people are less likely to go on sick leave plus it increases well-being.
Most companies still use an old style Taylorism approach to management. This is a hundred years old and while Scientific Management was revolutionary back in 1911 it simply doesn't have a place in today's digital knowledge worker world - and that's to say nothing about remote working and the work from anywhere revolution that's upon us.
Taylorism totally stifles innovation and is a major barrier to being agile and for me, cutting to the heart of it, it's about trust and respect for the people actually doing the work, giving them the autonomy to get the job done and treating them as adults.
So let's try and stop all this fake agile and start getting real value from it by doing it the right way. If not, stop calling it agile, call it what it is, FAKE!
Ok, on reflection, there was more than just ‘a bit’ of a rant here but it’s over now :-)
Comments