
Agility
<< Previous - Sellability | Table of Contents | Next >> - Brand Reputation

Agility indicates the ease with which a business can alter the way it operates to do something else. This might be a Pivot (e.g. identifying a disruptive innovation - or idea - in an existing system, and extracting it to form a new product); or it might simply be the ability to change the way a system (or the business) works to satisfy a prospective customer.
AGILITY, SELLABILITY & BRAND REPUTATION
Agility has links to Sellability and Brand Reputation. For instance, being able to change what you do or produce, or how you behave, can be a strong sales enabler, as it can be through strong branding (e.g. one of the businesses perceived strengths is their ability to easily tailor a solution to customer needs).
The types of actions we might expect from Agile business are:
- The ability to efficiently add (or change) features for a specific customer requirement (e.g. Flexibility and Extensibility).
- The ability to pivot onto an entirely different product.
- The ability to extract a disruptive technology from a larger solution, and sell it independently.
- The ability to port an existing solution to a client-selected cloud platform (e.g. the choice of vendor/cloud is commercially sensitive to some customers).
- The ability to change the pricing model to facilitate sales.
- The ability to react to change.
CULTURAL CHANGE
I'll delve into this more in later sections, but it’s important to understand that Agility can never be comprehensively accomplished through technology and technological practices. The organisation’s culture plays a vital (and I would argue, integral) role. Without a collaborative, trial-and-error approach to change, it is difficult to be Agile.
Cultural Agility can take the form of team structures, and methodologies, but it’s really something deeper; it's an ethos subscribed to by everyone within an organisation (see Netflix’s culture and principles). [1]
A TECHNICAL ARCHITECTURE CAN "SUPPORT" A CULTURAL CHANGE
The selected application (and infrastructure) architecture can have a bearing on the business’ agility and culture. For instance, it’s generally understood that a (large) monolithic architecture (Monolith) causes a great deal of inflexibility, inefficiencies, and brittleness, thus poor business agility.
Changes to a monolith tend to be slow, often lack automation, and suffer from lengthy release cycles. These failings deter modern practices (Agile, DevOps, and other “continuous” approaches). In this model, value-adding activities are relatively glacial. How can you be agile if Change Friction is omnipresent?
Enter Microservices (small software units that can be easily combined in different ways to solve larger problems), and the Cloud. Small, independent units potentially equates to greater ownership (easier Separation of Duties) and the uptake of better/modern practices.
To illustrate, some years ago I introduced decoupled (independently deployable) services into an existing product suite where the monolith had taken center stage (whilst they weren’t true microservices, they exhibited many of their characteristics). For years before, we had been toying with the Agile methodology, yet failing (habits are hard to break), due in large part to the monolith. However, by breaking down the software into small, releasable units, we were better placed to embrace Agile, and gain all of its advantages.
TECHNICAL QUALITIES AFFECTED
The figure below shows some of the technical qualities affected by (or affecting) Agility.
Agility Technical Qualities
They are:
- Evolvability.
- Reuse.
- Portability.
- Flexibility & Extensibility.
- Scalability.
- Maintainability.
- Testability.
- Costs.
EVOLVABILITY
Evolvability relates to how easy it is to evolve a feature, system, or even a business, into something better. Systems that exhibit a high degree of evolvability promote business agility and more manageable change (in whichever form it takes). Conversely, if evolvability is hampered, it may cause Technical Stasis and Cultural Stasis, leading to the inability to innovate, inflexibility in sales, and a general slowing of the business.
TECHNOLOGY MIGRATION & EVOLUTION
One Monolith I worked with for several years was in desperate need of a technology facelift. Without undertaking a technology migration (i.e. evolution), we would be unable to support and grow the business. Yet the business was so focused of functionality (Functional Myopicism), it procrastinated until the technology evolution became impossible. This had several (severe) ramifications:
- Poor productivity. Each change was costly, and therefore contested (i.e. Political Change Friction).
- Security concerns due to continued use of antiquated technology.
- Technical and cultural stasis. People became used to the speed of delivery, in cases affecting their drive/motivation.
REUSE
Reuse enables us to use an existing solution in different contexts. It supports Business Agility by enabling us to successfully sell the same solution to different markets.
FLEXIBILITY & EXTENSIBILITY
Systems that are Flexible and/or Extensible to the needs of prospective customers demonstrate (at a higher level) a business’ ability to be agile (and receptive) to customer needs. This can also be helpful in sales and branding.
SCALABILITY
Poorly scaling systems hamper a business’ Agility, simply because they can’t be offered to all potential customer demographics (e.g. the system supports the smaller Tier 3 customers, but not the large Tier 1 corporate heavyweight customers). I’ve experienced this first-hand; the business ended up building out an entirely new product.
Thus, the ability to scale a system (or business), to increased capacity is a form of agility. Being unable to support higher throughput suggests a technical brittleness, and also hampers Sellability and Brand Reputation.
MAINTAINABILITY
I won't dwell long on this subject, since it relates more to code structure and quality (and I’ve already described it earlier). However, I do suggest it can hamper Agility if code is of a poor quality, as it slows the entire value delivery pipeline.
TESTABILITY
Testable software supports rapid change, innovation (a testing Safety Net), and thus Agility. For instance, consider that your business identifies a Disruptive Technology within a existing, larger system that must be extracted into an independently sellable product (this might be a business Pivot). If the existing solution has no automated tests, your job is much harder; it may even be easier to rebuild it in its entirety. However, if there are good automated tests with high coverage, extraction is significantly easier, and less risky.
COSTS
Agility and Costs can complement one another in terms of pricing plans. For instance, if you can distribute to the customer only the parts of the system they require (i.e. just sell them key components, without further baggage), you can reduce customer costs, enabling you to offer a more flexible pricing model that you can better control.
Being operationally agile is also powerful. For instance, the pay-as-you-go pricing model (you only pay for what you use) of serverless technologies is hard to resist for many.
PORTABILITY
Rightly or wrongly, some customers desire a high level of control over what (and how) you produce. In some cases this may dictate the technical decisions you make (a form of External Control, that may hamper your future growth in areas such as Evolvability), yet it also demonstrates to some customers the business’ agility (i.e. willingness) to meet their needs.
For instance, in the past I've had several discussions with prospective customers who showed a genuine interest in platform agnosticism because it demonstrated a business agility that that customer desired.
Be cautious though; demonstrating a business agility through Portability often has an underlying technical cost.
CHAPTER SUMMARY
The key points of Agility are:
- Technologies and technology practices can promote business agility, and improve its culture.
- Technical qualities such as Reuse, Flexibility, Extensibility, and Evolvability demonstrate strong mechanisms for promoting business agility.
- Customers may also subscribe to your ethos, not just your product. Being agile can be a strong customer influencer.