And why is everybody talking about it?
Before going deep into the agile methodologies, let us think about what the word agile means. When you look into a dictionary and search for the agile word, one can see the following explanations: quick and well-coordinated in movement; nimble, mentally resourceful, active, lively, mentally acute or aware.
As a synonym for the term ‘agile’ one can find words such as: quick, sprightly, brisk, swift, flexible, dextrous, spry. But as antonyms: sluggish, lethargic, clumsy, stiff, slow, dull, rigid.
The power and impact of words are undeniable. Everyone wants to be agile (think quickly, be well coordinated, actively, and lively). We can only imagine that nobody wants not to be agile (sluggish, lethargic, and so on).
With agile the world has revolutionized the way software is built and collaborative dynamics of teams worldwide. Agile is also known to be a mindset to solve issues and to be able to look back, assess and improve. Agile transcends beyond software delivery and applies to the effective execution of diverse tasks across industries.
With a strong emphasis on early delivery of business value, continuous improvement of the product being developed and the processes used to create it, the agile methodologies do encompass people, processes, and projects.
By incorporating people-centric approaches, iterative processes, and a project-focused mindset, Agile provides the mindset needed that encourages effective collaboration, adaptability, and value-driven outcomes.
When it comes to real-life situations, choosing the right project process and assembling a suitable team can be a common challenge. Some individuals and organizations may choose to adopt Agile practices based on theoretical knowledge alone, which can result in potential difficulties. They may face obstacles and have difficulty understanding the underlying causes of these setbacks.
Keep in mind that agile is not about the process. It is about the end result and we should always find new ways and discover new paths for a better end result.
In the process of looking for better ways to deliver value, we should take into consideration the reality of today. Probably in a year or more, we might look at the same thing in a different way, and that is normal and natural. Many aspects change over the years. This is how we evolve and get better at it.
Agile is a group of methodologies and it encompasses a diverse range of approaches under its umbrella, including Scrum, which is widely recognized, as well as Kanban, XP (Extreme Programming), Crystal, Disciplined Agile (DA), Scaled Agile Framework (SAFe), Nexus, and more.
There are some things in common that are applicable for all agile methodologies. Here are some of the shared elements:
Customer collaboration - Agile methodologies prioritize close collaboration with customers or stakeholders. This emphasizes open and transparent communication between team members and the customer in order to ensure that the product or solution being developed aligns with their needs and expectations, fostering a customer-centric approach.
Multidisciplinary teams - Team members can work better if they can have autonomy with the work they are doing. It promotes the idea of self-organizing and cross-functional teams that have the empowerment to make decisions and take ownership of their work.
Adaptability - It is well known and in agile it is recognized that at the beginning of a project, we do not know details of the products that need to be built. In general there are main ideas. At the same time the customer does not know in detail what it wants either. As time passes and teams start to implement the small first requirements, the ‘learn and adapt’ process begins. Teams learn how to better implement, communicate and approach a topic. The customer also learns and it is more likely for him to get better and better at describing what he wants.
Embracing change even late in development - Agile methodologies embrace change as a natural part of the development process. Change cannot be predicted, cannot be controlled and what we can know for sure is that it will happen sooner or later.
Continuous improvement - The team should reflect on a regular basis on their work so far, identify what is working and needs to be kept, and what can be adjusted to deliver even a higher quality product or services efficiently.
Focus on delivering value to the end customer - Agile promotes a flexible approach for the needs of the customers and also the openness to the fact that the change will happen as the product evolves and change will be embraced. The value is expected to be delivered early and frequently so that stakeholders see tangible progress and make informed decisions.
We’ve experienced the benefits of being agile in our company. Our customers as well, since our focus is to deliver value first. We aim at understanding in-depth what our customers want, as well as their business context and goals. Especially in the software industry, we’ve seen how people can have a vision about a product. However, they don’t usually know everything they want from the start.
For example, in one of our projects, we started working on an MVP to show our customer - for him to see, experience, play with and understand more about how he wishes to proceed. In this way, the customer doesn’t have to know all the requirements from the beginning, and it becomes an iterative process. Then, based on the feedback, we started working on adding small functionalities, releasing them into production, seeing how the end-user reacts to them, and how these functionalities help them. Openness to feedback regarding the frequent deliveries is a must in the Agile methodologies. We are still adding functionalities and delivering them into production for the delight of the final user, since it is an ongoing project.
When working together in this close and interactive way, we find a way to prioritize only the minimum possible, which could be at the core of the business that will follow, and grow gradually. This way, the project doesn't remain blocked in only gathering requests, instead we can release, test, change - when needed - and move forward with the project. We actively learn alongside our customers throughout the entire project, to continuously determine the most effective approach in achieving the greater goal of the product.
In addition to an early delivery of an MVP, and then adding and completing with more working iterative features, working collaboratively with customers, adapting to periodic feedback and embracing new ideas and changes, there is also a focus on the Agile teams.
Our teams are cross-functional and adapt on the fly - we adjust, we change, we fail and start again, when needed, if we learned that one iteration plan taught us that a shift is necessary. We believe that great teams are the basis for building great products. Autonomous and multidisciplinary teams, that have the independence to make decisions, are empowered to act at the best of their ability and knowledge to fulfill the vision.
When you want to go agile in your team, there are some key aspects that can and will influence the success or failure in the process of being agile.
It is better for all people involved to be on the same side: management, customer and teams.
The team members that are doing the work are the driver. This is the way they will work and therefore, they need to understand how and why to do and, most importantly, to believe in this new mindset.
Management is a key aspect in empowering and supporting the team in this process. Without the upper level engagement and trust it is hard to succeed in this new journey. Some issues will come around in the way, and removing impediments that only management could do, might be crucial.
Customer involvement is a must too. His periodic input, working closely to the team and giving feedback are key aspects of creating the product that he wishes for.
An agent of change, an agile coach that knows, has experience and trust in agile, might be a valuable support and guidance in the journey of being agile.
This is the first article in a series on agile methodologies and principles, so if you’re curious to see more of our views on this subject, stay tuned on our blog and social media platforms. If you have already decided to go agile, and need help in starting your own journey, we have the experience to help you along the way in becoming a more agile organization.
Bianca Enache, PMP, CSPO, PSM is an Agile Project Manager with 5 years experience in the Software Development area and more than 15 years experience in managing clients and teams. She is currently working in the IoT department at eSolutions.