Why We Need Agility ?
Many companies, especially those in IT sector adopted to work with the agile methodology instead of the waterfall methodology nowadays and numbers are increasing each day.
We have also been using agile methodologies effectively in our company for about 5 years. We benefit all of its advantages in all our projects. But is it a real necessity or is it a hype ? Why do we even need Agile methodologies ?
Waterfall methodologies used to be the de facto standard in project management. As you all know, the waterfall methodology is really straightforward. First, you clarify the user demands, analyze things to be done, develop the product, run tests and after the user acceptance tests, release the product. Really simple, isn’t it ? So what is the disadvantage of this methodology ? It is clumsy !
With this methodology it takes longer to release the product and if any change is requested before the release, all the processes including analysis, development, testing, etc. need to be repeated from the beginning. It seems clearly that it is really slower than the agile methodology. But it was used by many companies without any problems for years on many projects, so what really happened and this clumsiness became a problem and the agile methodology became a necessity ?
The short answer is that the needs and behaviors of customers have changed. But how and why has this happened? Technological improvements accelerated access to information and led to digitalization. Production processes accelerated as well and this led new companies to be able to be founded quickly, increasing competition among companies and the product range.
Thanks to digitalization, today we do almost all our work with our mobile phones in just a couple of minutes. And that makes us really impatient. As customers, we can no longer tolerate slowness and fault. We want everything we need to be done successfully and quickly, otherwise we’ll look for another service provider who might do it better.
Think about banks, in the past people used to have only one bank account, all their money was there and people were loyal to their bank. Nowadays, you can become a customer, open an account and start to make banking operations without even going to the bank. If you can not transfer your money or pay with your credit card because of an error or you find out that another bank works cheaper or has features that yours doesn’t have, you can easily change your bank. So banks need to work faultlessly and if rivals develop a new feature, they need to develop the same feature as quickly as possible in order not to lose customers.
Besides digitalization, rapid changes in conditions also affect customer needs. Just think of the times of COVID, in a very short time people’s needs, priorities, behaviours have changed quickly all over the world. Think of the supermarkets or restaurants at that time, those who couldn’t integrate an online sales system, couldn’t work at all. Also, think of e-commerce companies like Trendyol and Yemeksepeti, which integrated an online market option into their business out of nowhere. When your rivals are really quick like that you have to be quick as well, or you will lose all your customers.
In summary, conditions are changing rapidly in todays world and under these circumstances if you can not adapt to the new order, you’ll simply lose. No matter what kind of a big company you are, suddenly everything can be turned upside down. There is a saying in evolutionary biology that “It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change”. This fits here nicely, because in order to adapt to change, we need to be agile and its really hard to achieve this with the waterfall methodologies. So thats why agile methodologies are now a big part of our lives today.
On the other hand, only following agile methodologies in project management is not enough for IT companies. Development, deployment and maintenance processes must also be agile in order to achieve agility goals. And thats why we have also been hearing “microservices” and “devops” a lot in recent years. As an IT company, if you can break down your business into products as Domain Driven Design suggests, build small agile teams that develop those products as loosely coupled microservices and manage those services using Devops practices, then you can achieve and sustain agility and take the real advantage of agility in your business.