Agile Pragmatism
Without pragmatism there can be no agile mindset. In fact, the whole agile movement is also a pragmatic movement. It started that way and if it will ever lose its nature, it will fail. But let’s start, as always, with the definition.
What Is Pragmatism?
Definitions are sometimes boring and sometimes – enlightening. We all feel in our bones what “being pragmatic” means. We know that going out to the gym once a week to do one exercise is as far away from pragmatism as it can be.
On one hand it’s inefficient – the amount of time wasted on commuting, changing and taking shower is far too big compared to the actual “training”. But we should also not forget the more important thing – that training like that won’t change anything for anyone. It’s not realistic. And that’s the second aspect of pragmatism, right next to doing things that guarantee success.
“pragmatism – the quality of dealing with a problem in a sensible way that suits the conditions that really exist, rather than following fixed theories, ideas, or rules” – Cambridge Dictionary
Wishful thinking stands in the exact opposite to pragmatism. Very often you deal with problems assuming the world is perfect or that everything works like you suspect. Your create theories for what “should work”. More often than not, you’re wrong.
There is only one way to realize that you’re wrong about reality. You have to repeatedly test the underlying assumption and fail. That’s not a big deal if you’re playing to win and you account for the fact that there will be some mistakes along the way.
“pragmatism – an approach that evaluates theories or beliefs in terms of the success of their practical application” – Oxford Dictionaries
Finally, and I can’t stress this enough, your solution is only pragmatic when it works. If it’s perfect but there are no practical applications or – even worse – it doesn’t work then a) it’s not perfect b) it’s a waste of everyone’s time.
In the agile environment we’re used to testing our assumptions by frequent releases of software. We’re working in a complex and nondeterministic environment. How else we could know what works and what doesn’t? Only market and your clients can tell you that.
Pragmatism In Agile Manifesto
The 12 principles behind Agile Manifesto clearly describe a pragmatic approach to software development. While those “lessons learned” come from doing IT projects, you can adapt them everywhere.
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
That can be taken further into any venture of yours and even into the way you go on with your own life. You always have to factor your vision, goal and the endgame. You’re not pragmatic if the thing you do doesn’t help your customers, clients or yourself.
“Welcome changing requirements, even late in development.” – Agile Manifesto
Be agile. Be realistic. Admit that you can’t predict what’s going to be a success and what’s going to flop. You have to always be ready to change your plans and adapt. Welcome change as something that gives you competitive edge, not as a burden.
Be Lazy At Home
Here at Agile Protein we very often substitute the word “pragmatism” by “positive laziness”. In our opinion that’s the perfect summary and explanation of being pragmatic. It’s catchier as well.
Laziness is not a good human trait. But being “positively lazy” is something that can benefit everyone around.
When you’re going on a vacation to the Caribbean you’re not going to pack for cold weather, snow, wind and rain. When you’re riding your car to work and back you don’t check tire pressure, all the lights, and all the fluids every single time.
Being positively lazy you won’t bother yourself with irrelevant matters. You rely on your car’s dashboard to tell you that something is not right. You check out the weather report to pack accordingly.
That approach saves you a lot of time and effort on not doing things that are probably not essential. And if something goes bad because you didn’t do those things, it will be something minor. Combine that with small probability of them ever happening and you can justify your “laziness”.
It’s not like you don’t have other, more important things to do.
Be Lazy At Work
Pragmatism at work is very helpful, especially when you consider agile approach. Doing only necessary things that have high probability of success lets you save two very important assets: time and money.
On the other hand, when you’re agile, you do a lot of experiments. And if you’re doing new things then you have to expect costs and be ready to fail. There are no innovations without money and failure. Thankfully, you can be pragmatic while experimenting.
You can find this aspect of agility in the Minimum Viable Product. Creating a MVP means that you don’t have to prepare the final product that might not be useful or needed. You shouldn’t guess about what client and users want. Do not try to be perfect in your first iteration. Try to be useful instead.
Always focus on here and now. Do enough to meet the goal and be somewhat sure that you’ll succeed. Don’t do more if it won’t help your case or if you’re unsure whether it helps or not. It probably won’t.
Is Pragmatism For Everyone?
Here at Agile Protein we’re as different as it gets. Tom is a recovering perfectionist and Luke is a chaotic pragmatic. We had many long talks about whether or not everyone can be pragmatic.
This whole idea of doing only those things that have high chance of success and nothing more is tough for perfectionists. They want to everything, from A to Z, to be “perfect”. Of course perfect does not exist and a large amount of work can be omitted without any loss of features or quality. In other words – doing things that no one will notice is not pragmatic.
“Simplicity – the art of maximizing the amount of work not done – is essential.” – Agile Manifesto
We bring up Agile Manifesto one more time. Simplicity is a part of pragmatism. Especially simplicity understood as “doing only those things that are relevant”. Because if there is no difference in the end, then why waste time and money doing more?
Can you overdo pragmatism? Of course! If you treat your tasks too carelessly then you might skip a lot of them and go below the threshold that guarantees success. On the other hand, doing too much will lead to already discussed perfectionism.
Balance is required but how to find it? Well, it’s the question you have to answer yourself. No one else knows better what’s crucial in achieving your goal. But if someone comes along and points out to you that you’re not being pragmatic – stop and think. You might be in big trouble.
Being Pragmatic
Pragmatism means putting yourself in a position where you can win, being realistic and practical. It is also a way of minimizing the amount of work that needs to be done. It’s being lazy in a way that benefits you and brings you closer to your goals.
I really love the “positive laziness” description as it sums up perfectly what we’ve been talking about. So be positively lazy as long as it brings you closer to your vision.