In this article, we reveal the power of the 12 Agile development principles for business success.
“When I was visiting Googlers in Tokyo a few weeks ago, I talked about how Google has changed over the years. In fact, in my 15+ years with Google, the only constant I’ve seen is change.”
These are the words of Sundar Pichai, the CEO of Alphabet and Google, and an undeniable reality. Nowadays, change is more and more rapid, and at times more chaotic (especially in the current context in which we are facing a danger we know so little about). “Survival of the fittest” has been about the ones who adapt best to the surrounding environment. At Appsbroker, we don’t want to just survive, we want to thrive, and this means we need to constantly be flexible and have a growth mindset.
In this context Agile takes centre stage. So, what is this Agile that everyone seems to be using, sometimes just because it is the thing to do? How many times have you heard these days about an IT company that doesn’t do Agile, or who advertises that it still does Waterfall? Agile is everywhere, but what does it mean?
Agile is not Scrum, or Kanban, or Lean. Agile is not a software development process or a framework, and Agile is not chaos. Agile is a mindset – “To be or not to be Agile; there is no do Agile”. If you want to reap the benefits that Agile proposes, you need to become Agile, which ultimately means a change in your mindset, a proactive change to develop a growth mindset.
So, how do we go about making this change? Well, how do we grow and become better in general in life? We focus on our strong core values, and we let our good principles guide us along the way. Similarly, in Agile there are 4 values and 12 principles that can help guide us in our Agile journey.
Let us explore the 12 principles while imagining us building a dream car for a client.
1. Satisfy the customer
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
People get bored of a status quo; they want new and improved products, sooner rather than later. So, we focus on giving our clients smaller pieces of functional software from the start of a project, and throughout its lifecycle.
The first and most important thing is to build a car that delights our customer.
Get in touch today to find out how we can help you adopt Agile in your organisation.
2. Welcome change
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
Sometimes the market changes quicker than a blink of an eye. We, and our customers, need to have the ability to swerve, turn around, duck, jump at any moment in time, and in any direction. We need to thrive on change, and we need to provide the customer to be in control at all times. Agile helps us do that.
Dreams can change – today our client might want a blue car with a 10-inch media display, tomorrow they might want a graphite black car with 4 media displays. We need to be able to adapt to this change and make it happen, even if we’ve already started building the car. We aim to please, and so does Agile.
3. Deliver frequently
Agile development means delivering working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.
Everything happens now, today; we want things now – with so many options, many times, the need to wait for something has been eliminated. If we want a competitive advantage, we must deliver products and services as frequently as possible.
Our client might not want (or cannot afford) to wait 6 months for us to finish his dream car. But he might be willing to accept something basic, that gets upgraded with different new parts every few weeks.
4. Work as a team
Line of business and developers must work together daily throughout the project.
Information handed down from person-to-person, from department-to-department can generate a whole lot of problems, from communication issues to increases in delivery time. The shortest way to make something good happen is to get the interested parties in a room and have them talking directly (which you can do so easily now even virtually with Google Hangouts Meet).
Wouldn’t it be so much easier to talk directly with a customer and ask him all about his dream car? In the end, we have the same goal – make his dream come true. In the words of John Maxwell ,“Teamwork makes the dream work.”
5. Have motivated people
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
The bottom line is that the people create products. Sure, they use tools, systems, machines to do it, but it is the creative force that is driving the success of the product. Motivated, passionate people will create better things, faster.
Wouldn’t our client feel happier and more confident if he knew that each person working on his car was as invested in the product as much as he is?
6. Communicate face-to-face
The most efficient and effective method of conveying information to and within an agile development team is face-to-face conversation.
The belief is that 55% of communication is body language, 38% is the tone of voice, and 7% are the actual words spoken. Would you want to miss out on 93% of your message or your client’s message? And in the digital era it has never been easier to bring remote people together via video calls (just don’t use it as a simple phone call by turning off your video camera).
Work closely with your client to make sure his dream and the reality you are creating for him are one and the same.
7. Deliver working software or service
Working software is the primary measure of progress.
Well, let’s be honest, we could be building the best-looking car, with all the trinkets that our customer wants, and more, but if it doesn’t work, nobody will be happy.
8. Keep a sustainable pace
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Some products take weeks to develop, some months, others years. No matter the case, burnout leads to failure. We need to make sure everyone knows how to run this as a marathon, not a sprint. (Play the infinite game!)
Our client will for sure be unhappy if we take twice as long to deliver his car because the team is tired and overworked; he will also be unhappy if we build him a car that has flaws and glitches everywhere due to our team’s inability to be on top of their game due to fatigue.
9. Excel at quality
Continuous attention to technical excellence and good design enhances agility.
Let’s face it, most of the time, what you can do, others can do as well. What sets apart great products is their quality. Also, the ability to change direction is greatly influenced by a good foundation and a good design.
A shiny, cool-looking car is great. A shiny, cool-looking car that exudes excellence in every aspect is the dream car. What more could our client want?
10. Keep it simple
Simplicity – the art of maximising the amount of work not done – is essential.
We waste so much these days: time, energy, money, food, water. Every resource is finite. The more we maximize the amount of work we don’t do, the higher the standard of the delivered work will be. Don’t waste your resources, invest them in what counts the most.
Would our customer be happy if we delivered a media system with 100 features out of which he would use only 10? Or would he be delighted to have 15 amazing, creative, innovative features that he would use often?
The best architectures, requirements, and designs emerge from self-organising teams.
People like autonomy; nobody likes to feel coerced and restricted. The best creative thinking takes place in an environment where people feel empowered. Letting teams self-organise makes them feel trusted and valued, which has numerous implications, like lifting morale, increasing motivation, allowing passion to grow. If you hired the right people, you don’t need to micro-manage them. And if you didn’t hire the right people, no amount of micro-management will help them achieve great success.
Would we really build the best car possible if the client or someone who isn’t a specialist would tell our great team how to build the car? Aren’t such decisions best left to the experts we have in our team?
12. Reflect and adjust regularly
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
Learning from the past can greatly improve our future. Plan, Do, Check, Act/Adjust (Repeat) is a simple, but effective recipe for success.
Mistakes will be made, things don’t always go perfect from the first try, but our client will be confident we can get the job done if he sees constant improvements emerging from constant feedback and reflection.
At Appsbroker, we understand what it takes to be deliver success for customers in the current climate, and we understand that agility is the primary force that drives this in our rapidly-changing world. We know what it means to be agile, and we are committed to let the Agile development principles guide us, and our customers, to success in everything we do. We want to always deliver our customers’ dream products and services.
Do you want to stand out in a time of crisis? Do you yearn for the excitement that a surfer has while preparing for an imminent huge wave? Do you dream of standing on the edge of an airplane door, waiting to take the plunge from 15 000 feet, feeling that rush of adrenaline? Do you just want more? Do you expect extraordinary? We do! And we want to be with our customers each step of the way.
Get in touch to discover how we can help your organisation adopt more Agile ways of working and achieve digital transformation on Google Cloud.