Evojam

View Original

Agile — a way of software development or a philosophy of life?

Have you ever wondered what Agile actually is and how to define it?

Wikipedia, everybody’s go-to source for definitions, offers the following explanation:

In software development, agile (sometimes written Agile) - practices involve discovering requirements and developing solutions through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages flexible responses to change.

But how do you understand Agile? Does Agile mean the same for everybody? Does everybody understand Agile in the same way?

The way you understand Agile is the result of your personal experience, and so is its adaptation within different organisations. You might say there are many guides and how-tos about incorporating Agile principles into your daily work. True. Yet, the process is still difficult and prone to failures.

The reason for this is that people tend to think about Agile as something new, something that changes the way you work or communicate. As a result, Agile adaptation becomes the change adaptation — quite a challenging process. 

Ready to discover a new way to look at Agile?

Don’t consider it a change. Instead, notice it’s bringing the way you work closer to the way you live, which actually means it should come naturally. 

I reached this conclusion after a decade of Agile working. Let’s take a shortcut and get you there in 15 minutes!

What’s wrong with your Agile processes?

My adventure with Agile started over 10 years ago, when I took over my first project. As a young project manager, I didn’t have a huge management background and experience. Basically, all my knowledge was based on what I learned from books and articles. 

During the course of my career, I’ve seen many more and less successful attempts of implementing Agile in different areas of an organisation. The failures have taught me the most — analysing them post mortem, I was able to see where they arose from and what was the most challenging part of the whole process.

The main issue with Agile adaptation is that people focus only on the process itself and the “technical” part of it without trying to understand the values behind it. When you don’t know the values, you end up adopting Agile mechanisms that are contradictory to their purpose.

Of course, I wasn’t an exception. 

It took me some time to understand why my initial attempts in Agile were not fully successful, to put it mildly. Initially, I blamed the process itself. I believed that it didn’t fit the nature of the projects I was running. The truth is that neither I nor my team understood the values behind the process we were trying to adopt.

It was an important lesson. Since then, I have been starting all Agile adventures from one basic question — am I sure that everybody in the team, including me, is fully aware of the values behind the process?

As you understand by now, values are the keyword for Agile processes. It’s time to give them a closer look.

Agile beyond software development

Let’s start with the following question — is Agile the best approach?

If your answer is no, it’s perfectly OK, there are many alternatives that work in some cases. But for me, Agile is definitely the most natural methodology as it’s deeply rooted in human nature.

Many think about Agile purely as a way of software development, but what if you look at it from a different angle? What if you start thinking about Agile as a philosophy of life? 

If you think about Agile as a philosophy of life and find similarities between it and everyday routines, you’ll gain a new perspective on its implementation. You’ll realise that adopting Agile in an organisation isn’t forcing people to change anything. In fact, it is the move that brings the work routines closer to the manner in which people interact in everyday’s situations.

And for the sake of this article, during the time we will spend together, stop thinking about Agile in terms of software development. Think about what each of the topics I write on means for you and your life. It’s absolutely crucial — changing the mindset in that matter will allow you to change the way you look at Agile as a whole.

Now, why would you even introduce Agile? Companies go for it to be successful in what they’re doing — delivering the projects. Isn’t it everybody’s life goal — to live a happy and successful life? 

Let’s talk about the nomenclature here. You probably know what success in software development means — you’ve been there many times and there’s a common understanding of the term. But what is a measure for success in our lives? Money? Happiness? Family? Philanthropy? Electronic gadgets? 

Each of us has our own definition of personal success. Yet, there are some people that we’d all call successful. Let’s have them in mind whenever I mention success.

I hope all the success talk didn’t make you forget about the values of Agile. Let's look at the ones that were published in February 2001 as a part of the Agile Manifesto, which started the Agile revolution across the world.

Agile software development values:

  • Individuals and interactions over processes and tools.

  • Working software over comprehensive documentation.

  • Customer collaboration over contract negotiation.

  • Responding to change over following a plan.

We’ll use the same set to talk about everyday situations.

Individuals and interactions over processes and tools

Human beings are social creatures — social interaction plays an important role in our lives. I’d even say that fulfilling the need for social contact is one of our primary goals. Especially now, in pandemic times, people are looking for effective ways to socialize and communicate.

Of course, there are tools in the equation — we use social media as a primary tool for communication — but they aren’t the key element here. They’re only the means of achieving the goal — encourage interaction. We use Facebook reactions, comments, private messages, you name it, to connect with people. Interpersonal relationships have tremendous value for all of us.

That’s just one way to look at it.

Another thing is that effective communication helps you to achieve faster and better results. How many times have you called or met a friend and started the conversation with “I decided to talk with you in person, it’s easier”?

No wonder, face-to-face communication allows you to be more precise and express your point better, in a more natural way.

Working software over comprehensive documentation

Ah, we’ve got to my favourite Agile value. I’m sure you’ll share my enthusiasm in a second!

Let me ask you this: how many times have you read the user manual of the electronic device you purchased? Or assembly instructions for your new IKEA furniture?

“Nah, it probably has errors in it either way!”

Sounds familiar? 

I could probably put a full stop here and move to the next item, but first let me assure you that it’s natural for humans to prefer immediate effects — for example, a working gadget that you’ve been waiting for — over going through pages and pages of manuals. 

The Agile Manifesto authors must have known this principle too. They realized that providing working software faster brings more value to the final product than creating exhaustive documents that probably no one will ever read.

When I was preparing a talk on this topic for my colleagues, I thought about this rule in relation to my presentation — how many slides I should make and how they should look. And you know what? At some point, I deleted almost all the slides and kept only a few that marked the most important points in my speech.

I followed the second value and decided that getting my point across is more important than documenting it with beautiful slides. I valued my message — working software — over a well-designed deck — comprehensive documentation.

Customer collaboration over contract negotiation

This one is a bit tricky. To relate it to an everyday life situation, you need to properly understand the message conveyed in the Agile Manifesto. The intention of its authors was to show that collaboration is better than confrontation.

If you collaborate instead of behaving like an advertiser, you achieve better and more optimal results.

How does it apply to your personal life? If you communicate with other people openly and listen to them attentively, you come to a conclusion faster. If you keep your distance and focus on convincing your interlocutor at any cost, the results are much less satisfactory. Customer, in this meaning, is every person you interact with.

You might find it hard to always stick to this approach, but it is worth it. Collaboration creates stronger bonds between people and produces better results.

Picture a child that got a bad mark in school. On the way home, the kid is wondering how to blame it on external factors and look better in his parents’ eyes. By the time he gets home, an elaborate story is ready, so are all the answers. Time for a confrontation with parents. He presents his arguments and makes up excuses, but nobody’s convinced. The grand scheme ends up with being grounded.

If only he had initiated an honest discussion, the real problem could have been discussed and the parents could have helped him resolve it.

Responding to change over following a plan

How many times have you changed plans because of some unexpected events? 

Last year, I was completing a house renovation. It started around February 2020. As a project manager, I had to plan everything at the very beginning — what needs to be done and in what order. I set the budget based on the list of jobs.

How long do you think the plan was in line with reality?

Let me put it this way: today, when I go back to the original plan, my initial optimism brings a smile to my face. 

Responding to change is a must if you want to achieve success in life. 

If I had followed the plan without reacting to what was happening — and a lot was happening: a pandemic, problems with finding a renovation crew, growing prices — I would maintain the status quo.

I’m sure you could find similar examples in your own experience.

In software development, when requirements change, you have to adapt. The same principle applies to personal life — you can’t expect the plans to remain intact, you have to adapt to change.

Scrum beyond software development

All the values we’ve discussed so far are the basics of Agile. When this approach is being implemented in an organisation, the decisive people choose a framework that will guide them through the process. Let’s look at one of the most, if not the most, popular ones — Scrum.

According to the definition provided on the scrum.org website:

Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.

How does it differ from the way people are trying to solve their everyday problems? 

Most of the milestones in our lives, like building a house, getting married, and raising children — but also those less momentous events like a family party — represent some level of complexity that may evolve during the process.

Also, we all want to achieve as good results as possible. Let’s face it, you don’t want your aunt or mother in law to criticize the family party you organized.

So, in fact, the Scrum definition isn’t only applicable to software development. You can easily apply it to your daily life too.

That being said, let’s look at 5 main Scrum values on which the whole framework is based:

Now, think about their presence in your life.

Courage

Can you recall any people that have no courage but are still universally recognised as successful?

Deciding that it’s time to have children, change jobs, move to a new house, or buy a car — everyday life situations — requires courage.

Why?

Because there’s a risk you need to assess and face to move forward. 

Have you noticed that the most successful people have taken major risks at least once in their lifetime? 

Elon Musk, the founder of SpaceX and Tesla, has shed a light on the 2008 crisis that hit both of his companies. In an interview, he admitted that he had only around $30M left at one point and two companies on the edge of bankruptcy. He could either spend the money on one of them, which would save it but make another one fail, or split the money between SpaceX and Tesla and risk losing both of them.

He had the courage to risk and split the money. The rest is history.

Focus

Whatever task you take upon yourself, you have to be focused. You can’t paint the walls without concentrating on your work because you will leave empty spots.

You have to focus on the result you want to achieve.

When you drive a car to a certain destination, your goal is to safely reach the target, so you focus on the road and weather conditions while taking a peek at your map. Even if a GPS guides you, you have to remain focused to not end up in a pond or in the middle of an empty field. The world has already seen such cases! 

So the focus is essential. It has to be present in your life if you want to reach your destination. You have to be focused on your personal goals to become successful.

Commitment

There’s no life without commitment. You commit to different things almost all the time — from trifles, like “Yes, Honey, I’ll take out the trash” or “I’ll do the shopping today,” to keystones like “I’ll earn enough to provide a decent living for our family.” 

You commit to things all the time, whether you like it or not. And this is extremely important as commitment brings a sense of ownership. You feel responsible for the things you’ve committed to, which is a driver for further actions. 

As Abraham Lincoln once said: 

Commitment is what transforms a promise into a reality... Commitment is the stuff character is made of; the power to change the face of things. It is the daily triumph of integrity over scepticism.

Respect

Maintaining healthy relationships requires mutual respect — you need to respect people you interact with and they need to respect you. Respect is the basis for social life. 

They realized it even in the 16th century, when a Pakistani poet, Hussein Nishah, said:

Treat people the way you want to be treated. Talk to people the way you want to be talked to. Respect is earned, not given.

It’s the same in a software development team — we have to respect each other and trust that our teammates will do everything to reach the common goal.

Openness

Have you ever faced a situation when lack of openness caused a lot of confusion and made things harder than they needed to be?

Exactly, me too. 

Openness is crucial in life as it gives you the possibility to know where you’re at and allows you to address the potential problems before they arise. 

Interactions with people who are honest are so much easier. Openness indicates trust and helps us to build relationships. Even if you don’t realize it, you tend to look for people who are sincere and you seek their company.

Agile — a way of software development and a philosophy of life

So, it turns out that yet again — like in the case of Agile values — software development values can be easily applied to your life. 

There’s so much more to the process of becoming Agile than values, but they are the cornerstone. If you don’t follow them, the rest of the process, your actions will be futile. 

To wrap it up, Agile is driven by the same set of values as you naturally follow in your everyday life.

I hope I helped you make the most important step, and you got it now. The rest is “only technicalities.” 

Ken Schwaber, the father of Scrum, used to say,Scrum on!”

Good advice, but what you should remember from our time together is: “Be Agile, and be natural in that!”

See this gallery in the original post