Agile is still relevant for any modern company. Its principles, which were written and implemented 20 years ago, are still the best. I've come to this realization a couple of years ago, while working at a large, established software company. But I think it has become even more relevant in recent years since it helpd teams to tackle two fundamental challenges: scaling and building a team. I’m using the terms ‘scaling’ and ‘building a team’ here as shorthand for how agile has been used to address those challenges. But for each of these challenges, there was a period where the approach was used with success. Agile takes into consideration the business needs of the organization. This allows companies to take what they consider to be the best path towards growth, whilst keeping within the limits of the technology and budget, and to remain within the confines of time and efficiency. Why you need Agile? To sum it up, here's why:
- Agile doesn’t require much software development. You just have to make small changes to your processes or workflows. No big changes, no fancy software, just small changes that have an immediate positive impact and get bigger after a few months.
- Also, there are no special requirements to work in Agile (or even Scrum). Your employees don’t have to master special jargon or understand new software architecture. You can use whatever technology you’re most comfortable with.
- It’s an agile methodology that is flexible, iterative and supports different types of teams. Most of all, Agile makes the development process more efficient by breaking old processes into small tasks which are easily done and easily changed.
- It makes communication easier and makes planning and analyzing your work much easier. No matter how complicated your processes or system, with Agile you can break them down into manageable tasks and see what they are about and where their weaknesses could be.
My story with Agile had started when I was given the opportunity to become president of a global software development team, and was faced with the difficult and daunting task of leading such a team to its potential through the implementation of Agile. Having an opportunity to grow on other areas of growth was enticing, but as I grew and moved from one project to another, I realized that many of the core benefits that had been presented to me, in this organization, were actually quite limiting, and very different from what a software development team wanted to experience. To get a sense of the issues that needed to be addressed, I met with with my partner to learn more about the process, and got a good idea of how he approached the Agile development. We both decided to start a new project together on this new methodology, to see how it fit with our current state of the company. We both agreed that this could potentially be a good way to start rethinking the company while helping our existing processes to grow and grow. The challenge for both of us as we developed this project, was defining some terms which were important to a few of the team members, before we had enough experience, and maturity, to use a methodology which did not require them to change their processes at that point in time. I ended up choosing to lead a project, that incorporated Agile, which had three critical benefits:
- Improve Team Capabilities
- Improve Product Capabilities
- Improve Working Environment
- Improved Performance at the Product Level
Each of these benefits represented something that the team had asked for from me, and would have an impact on how they would interact with their customers/partners. Each of these benefits took us back to our definition of what was important to us, as a company, to have the team grow in an effective way to provide more and more value to our customers and partners. We came out of the project with the realization that any company, regardless of its size and scope, will benefit from these types of improvements. The challenge we faced was to figure out a way to give each of these benefits to the team in a way that they would be able to implement and achieve these improvements without changing their working process or their approach to their day-to-day operations.