What is simple?
Simple is anything which is easily understood with no difficulty.
What is complex?
Not simple=complex. It is something which presents some complication. It is fairly predictable with less knowledgeable sources, but it’s still doable.
How Agile is Simple?
Agile is not simple if you don’t have the agile mindset. Doing agile and being agile is different.
How is Agile complex?
Agile is not complex if you have self-managing people. People who do not need micromanagement.
This is exactly what I don’t like. Diplomacy. So I rushed to the my savior, here in Quovantis.
“Pankhuri, what do you think why agile is simple and complex at the same time?”
“Ah agile! ummm….” *typing*
*still typing after five minutes*
“Come on, you can do it.”
“According to me Agile simplifies stuff by helping us build the product step by step and not everything in one go. We pick things one by one. We have a working end result after each iteration which gives a full feel of the product. Also, agile has its own rituals/practices to make life simple.
On the other hand, we can call it complicated! Agile practices can’t be followed blindly. It has to be moulded for each and every team or product.
Also, to break the whole product into full fledged working chunks is itself a challenge. And the main one – in agile you can’t anticipate anything. You will never know in which direction product can digress into. It’s the “market trend” which drives the application in agile.”
Here we go! I have a lead. I move swiftly with that in my mind and approach our Scrum master, Sumeet.
“What do you say about Agile being simple and complex at the same time?”
They probably hate me for bringing this up during lunch time, but nevertheless it’s an interesting topic. More interesting than how Trump is gas-lighting America?
Sumeet told me that according to him “Agile is simple if we perceive it as a mindset, we complicate it by forcefully trying to do some practices.”
By now, I have acquired some intelligence, so I quickly add a cross-question.
“That means it’s a matter of experience. Anyone who has just started following agile is bound to feel the friction. But if we follow it as a practice, it comes as a habit. Is that what you want to say?”
A moment later, I realize the stupidity of my question. But the moment is gone. May be he took a deep breath on this one and then he replied-
“No, not really. We think agile is complicated because we start doing some practices blindly. Understand the need, develop an agile mindset, adapt to changes over following a plan, value interactions more than processes & tools, collaborate with customers, get a working software out there and not just a comprehensive documentation.”
*gulp* Whoa! My chest feels heavy.
I need to take this pill with some water. So I say a quick ‘thank-you-for-your-time’ and move on.
I need one more opinion. Set target- Bhuwan Jain. Scrum master.
“Why Agile Is Simple And Complex at the same time? What do you feel, Bhuwan?”
I think he was prepared. Pops his answer in a minute-
“Because Agile does not define the list of rules, which makes it simple (it gives you freedom to decide) and where rules are not defined, people need to be more conscious, they need to be self organized and self responsible to make a good decision for the success of sprint (that makes it complicated).”
“But Agile does lay some principles. Principles are not rules?”
Another stupid one.
“Yes, those principles are the expectations. Those are the guidelines, that every project should follow, but it doesn’t define the scenarios that if this happens, you should do this. Team members need to take self decision to make the project successful.”
Sounds legit. Thank you, Bhuwan.
I think I am much sorted now. But I need to understand it from a person who just started practicing Agile. And I found him. I asked him what’s his take on this and he agreed to answer me on the condition of anonymity.
*fake news alert*
I said- “Okay Nakul. Wish granted. So, what do you think?”
“I think it looks complex when you are introduced to it. In practice, it makes things a lot simpler, processes a lot smoother.”
“Better than waterfall? Is it Simple? Is it complicated? I am getting good at this.” *smirks*
“Waterfall has it’s uses but for majority of projects, agile is good. Better. I would say it looks complicated with all the meetings, task complexity estimation concepts etc. But once you work in a few sprints, you start appreciating how much simpler it makes things. Client interaction is definitely better, everything has a structure to it. I just feel that the more time is consumed in meetings, backlog refinement and retrospective.”
There you go! We got a complication here, Captain.
“Thank you Nakul, for your time.”
So this is what I found out. Thinking agile or doing agile is not enough. You have to bring agility into the processes. This is exactly what the agile manifesto said-
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile is not a stopgap arrangement for everything going wrong. Do not weaponize agile. Agile is not just about standups, iterations, retrospectives and all other fancy terms. It’s about following them with discipline and improving all along. Your goal should not be to follow agile. Instead, use Agile practices to achieve your goal, faster and better.
Agile works best if it comes as a culture into your organisation where people are self-driven. It can be effectively implemented only if the organisation supports innovation and collaboration. Following faux agile rules or not being flexible to changes can do more damage than good. If you wholeheartedly believe that agile is just a passing fad, then you will need no guidance on how to fail with agile.
Your requirements are simple. Implementing them is complex. Driving a car is simple. Getting a parking location (in India) is complex. Adopting a pet is simple. Adjusting to pet peeves is complex. Life is simple. Thoughts are complex.
Similar way, agile is simple. Being agile is complex.