Agility, the main driver for business and IT
This is the first blog in a series explaining how MuleSoft’s Anypoint Platform can provide agile connectivity across monolith, SOA, and microservices architectures
Agility, a universal term used to start nearly any discussion around IT enablement these days, has become the single most desired capability for enterprises over the last 20 years. Initially sold as the magic key to enable innovation and gain a competitive market advantage, it has evolved to become a necessity in order to survive and flourish within the market/industry mid-to-long term.
Everybody talks about digital agility, and everybody wants to achieve it. And yes, it does look quite simple at first glance. Not only is there a multitude of material available that provide guidance, solutions and technology, and organizational best practices, there are also many good examples of companies that have implemented and do this successfully.
What makes a business agile?
Netflix, Uber, Spotify, and Airbnb are exceptional examples of innovation and agility. These companies are de-facto synonyms for the digital age and are often referenced as the role models other companies attempt to imitate.
The difference between these companies and the majority of Fortune 500 companies is that most of them have only been around for about 10 years. They were established at a time where the internet and online/mobile applications/devices already existed or were at least visible on the horizon. These new companies don’t have the ‘burden’ of 40+ years IT development where there were little standards and technologies, and even though they were constantly evolving, their possibilities were far behind today’s reach. There is no doubt that these companies can be considered innovators and drivers of new technologies and operating models in their own right, they vastly benefited from the learnings made by the “traditional” IT businesses over the previous decades. Moreover, these companies are typically focused on a relatively centric business model that supports modern architecture and operation constructs. And, most importantly, they don’t have legacy apps, infrastructure or organizational units and processes that they have to consider.
The profile of a “classic” Fortune 500 company looks a little bit different though. They typically run multiple huge business units they are supporting with complex IT organization setups. They maintain broad sets of IT solutions from a large number of vendors, which itself follow multiple standards or proprietary architecture solution patterns. Organizations whose communication structure drives the design of a system or service, are typically highly rugged and not easy to change (according to “Conway’s Law”). While most enterprises try, it is by far not an easy process and requires a lengthy and well-defined transformation process.
So how do businesses become successful?
No doubt about it, there is no way to avoid the digital revolution. We are in the middle of it and in order to survive and succeed, enterprises need to adopt agile development and operating model. But given the constraints and challenges described above, what they need the most is a transformative approach that is adapted to their organization and system structure. Something that allows them to achieve fast results without the need to change everything suddenly. That keeps what is good and applies change where needed and shows a roadmap to more business agility that adopts the ‘speed of change’ to the level that the enterprise can handle. And a solution that provides a good balance of effort, value, urgency, and risk.
Flexibility over agility
“Flexibility” and “agility” are often used in conjunction, even though they mean different things. While “agility” can be considered as a natural evolution of “flexibility,” it is more of a strategic capability that is concerned with the need for speed. Flexibility, on the other hand, is an operational capability, which enables agility. So while there is no doubt that flexibility is a capability of agility, its importance depends on the overall architecture and operating model. If you look at what “flexibility” actually means, you’ll find a lot of interesting definitions:
- “Capability of being flexed or bent, turned, bowed or twisted without breaking.”
- “Capability of being adopted or molded.”
- “Not invincibly rigid or obstinate, tractable, and manageable.”
If you look at the existing system landscape of typical companies, this is exactly what is required to make the move to a digital-enabled enterprise.
It might be that in digital-native companies like the ones mentioned above, flexibility might not be such an important factor anymore, primarily because the chosen architecture and life cycle model (e.g. modern microservices architectures) do not need to bend something and favors to just replace or rebuild things.
So, given the constraints and challenges of non-digital native companies, where existing systems – even considered for transformation – need to be incorporated in digital uses cases and modern architectures, Flexibility becomes the main capability for digital enablement.
In my next blog post of this series, I will discuss the development of architecture over the last decade to modern microservices and the need for service mesh. For more information on how to digitally transform your enterprise with integration, download our blueprint.