Agile Is Not Enough
Agility is critical for companies trying to keep up with customer expectations and emerging business trends. By adopting an agile approach, software development teams can create new products and services rapidly, transform processes, and even help reinvent the organisation. But agile teams can stumble as they interact with and depend on others, so it becomes a matter of anticipating and mitigating these choke points in the organisation.
Consider a credit card company that wants to update its mobile app so customers can easily check and redeem their reward points. The company creates an agile team of developers, designers, and an initiative owner who understands customer behaviour and can make decisions about focus and priorities. This team updates the app in a few weeks, but it takes months for another part of the organisation to provide the data feeds from the rewards system, and longer still for another part to integrate these changes into the app, delaying the rollout of the new functionality.
Customers like the new feature, but now they also want to see recent points activity when they log in. The members of the original agile team have moved on, and since everyone is busy, it takes a few months to pull together a new team. This team makes the changes but overlooks a defect that causes the update to fail vulnerability testing. Once fixed, the operations team refuses to release the code to customers without more thorough testing. Disagreements between the development and operations teams about the extent of that testing further delay the new update.
This kind of story is all too common for many companies, even those with a strong technological focus. Several years ago, this was the case at Target. The company suffered from significant technical debt built up from years and years of growth. Critical parts of the business were supported by monolithic architecture that limited how rapidly it could innovate and introduce change. This growth also meant a rapid increase in demand for technology resources — demand that Target met by significantly augmenting its staff with third-party contractors.
The obstacles that Target and other organisations have encountered in their transformation narratives lead us to an important lesson: Agile is powerful, but it is not enough. To have a truly effective digital organisation, companies have to fix the speed bumps that slow down the rapid progress of agile software development. Three impediments in particular work against agile in most organisations: rigid architecture, poor talent management, and lack of a product mindset. In this blog, we’ll explore each of these and introduce ways organisations can overcome them.
Rigid Technology Architecture
In IT, years of ballooning code bases and software patches have left many companies with inflexible technology architectures. In most companies, the applications that engage with customers and run the business were developed before modern architectural approaches took root, and so they suffer from this rigidity, with too many features and functions often interdependently linked. When you change one aspect of the code, the effect can be cascading.
In most cases, it is unrealistic to re-architect all of the systems to fit modern integration standards using APIs and microservices. Instead, most organisations take one of four common approaches.
- Do nothing. Some applications are too small or too infrequently updated to warrant the investment to modernize.
- Wrap and trap. Expose the application’s core features and functionality through well-defined interfaces (APIs) while creating new functionality in modern systems.
- Re-architect or refactor. Change the application design, including breaking the code base into a series of discrete and independent functional parts and removing hard-coded values.
- Develop a new application using modern architectural patterns such as microservices.
Different approaches will make sense for different areas of architecture, and executives should think about potential value when deciding which path to take. Factors to consider include the demands for new functionality, frequency of interactions between systems, the cost of current application complexity, fragmentation of valuable data, and risks of interruptions to the business.
Target made these decisions and prioritized modernizing systems by exposing commonly used critical data like item price and availability while leaving alone legacy transaction processing systems that did the job just fine. This allowed teams to focus efforts on optimizing the customer experience, like searching for and purchasing items, instead of wasting time figuring out which of seven pricing systems had the most accurate price for a given purpose.
Rethinking Talent Management
Talent is at the core of the digital technology operating model, and senior executives know they have to recruit the best talent they can afford. Unfortunately, some of the best practices of former years have actually made it more difficult to hire the right people and increase the agility of the IT shop.
Reference Resource: MIT Sloan