A digital business uses technology to differentiate itself and achieve competitive advantage. Technology is seen as a core capability that can enable and improve all business activities, rather than a support function.
The ability of a digital business to respond to a changing marketplace is critical to its future success. Today we are seeing rapid changes in consumer marketplaces and industry best practices. Faced with this change, agility is a key competitive advantage. Not only can an agile business react to change in a timely manner, it can also be innovative and disruptive.
The term startup has become the default name for new entrants in the digital space. Small, flexible and focused, they are outpacing their traditional competitors and redefining how customers interact with digital products (web sites, mobile apps, connected devices) and are setting new standards for user experience, accessibility and personalisation.
Apple changed how we listen to music with iPods and Spotify has changed it again. Amazon made ebooks mainstream and introduced the online 1-Click purchase. Netflix killed Blockbuster with a subscription movie streaming service. Social networking sites like Facebook, Twitter, Instagram, Pinterest, YouTube and LinkedIn have fundamentally changed how we communicate and share with one another.
>See also: The race for complete digitisation
The success of these start-ups has been enabled by many factors. Increased connectivity allows fast and cheap communication channels to a global audience. Improvements to engineering methodologies and tooling enables much higher levels of productivity. Reduced barriers to entry, like affordable access to cloud infrastructure services, means that small teams can take their ideas direct to market.
We are seeing an explosion of niche products and services that can thrive by accessing a global online audience to achieve economies of scale. But the race continues for these successful start-ups. They in turn face the pressures of changing tastes, new competition, new mediums and changing user expectations. Digital agility is a mandatory requirement to stay competitive in the digital marketplace.
So what is agility?
Agility is a measure of how fast a business can learn and react to problems and opportunities in the marketplace.
Agile does not equal agility; it is a set of methodologies and processes for working in a collaborative, iterative manner with cycles of prioritisation, development and deployment. Implementing agile working processes in a business can often fail to realise an increase in the business’s agility if bottlenecks outside the agile team are not addressed.
Highly agile teams are built around products rather than capabilities. Building business areas around capabilities introduces friction and usually incentives are not around optimising the product revenue stream but rather towards reducing costs in each individual area.
True agility requires an alignment of work into product pipelines and a commitment to reducing friction in the product release lifecycle. Product, agile, devops and UX are all tools and techniques that enable agility by reducing friction and decreasing the release cycle time.
The benefits of being able to release fast and frequently cannot be understated. Releases need to become routine and safe rather than dramatic and scary. This confidence in the release process is a goal in itself but more importantly enables the business to fearlessly tweak and test, to fix and innovate. Companies like Amazon and Etsy deploy changes to their websites, apps and online services multiple times every day.
With an early and frequent product release lifecycle we quickly get feedback on how our changes and tests are impacting our customers. We can rapidly prove or disprove our hypotheses and assumptions about who the customer is and what their motivations are. We identify unexpected behaviours and new opportunities. The metrics and insights gained by this learning allow the business to make informed, realistic, high-value decisions.
The barriers to agility
Traditional waterfall projects have a release pipeline where work transitions between silos. Requirements and specification is followed by design, development, testing, deployment and finally to operations. The cost of transitioning between these silos is expensive as it often requires extensive handover including communication and documentation.
A downstream team in a waterfall release process often lacks the decision-making context at the previous stages. This means all assumptions and compromises made through the release process increase the likelihood that the project will drift from its original intent. By the time the product reaches the users there is a high risk the product does not achieve its original purpose and fails to engage with the customers.
>See also: Getting to the heart of true 'agility'
For example, consider a project to build a mobile banking application. The first approach is a traditional waterfall project. A comprehensive requirements and specification stage takes place and we work focus groups from our expected user base. We estimate £1,000,000 for nine months of development, testing and deployment, and start hiring mobile developers. Numerous assumptions from the design phase prove problematic in the development stage so compromises are made as the deadline gets closer. The product gets into the QA stage late and we have three hectic weeks of rapid rework and patches. Friction grows between the developers, testers and the project manager who can’t afford to miss the delivery date. With the deadline one week away the operations team have to work late nights in order to address differences between the production systems and the development environment. To everyone’s relief the project goes live on time and on budget.
Getting an app live, in front of real customer, is only the start of the product’s life. What if the users don’t engage? What if all those features you packed into the specification document are not being used, just adding clutter?
All those hours arguing over user journeys and which bonus features must be included seem wasteful when faced with real metrics showing us a user base struggling with the products core mechanic. After a waterfall project goes live there are inevitably changes and bug fixes. Testing and releasing these changes is costly and time consuming as the release process is manual and requires modifications to test plans and deployment schedules. The team is not geared to do frequent releases and any changes after go-live is slow and risky.
The second approach is to take a rapid prototyping approach to test the core proposition as early as possible. The UX team mocks up a prototype and puts it in front of a sample of users. They define a target persona and run focus groups showing various prototypes. Confident of the users’ needs we assemble a cross-functional team and build a minimum viable product (MVP) in two months that is pushed to a beta test group.
Let us assume that the MVP fails to engage the beta users. We now have real feedback about the proposition and the business can make an informed decision about whether to continue development or to cancel the product. Assuming we have spent £100,000 to date, cancelling the project would save £900,000 with minimal reputation damage. More importantly the proposition has been tested and the business can react faster.
How do we achieve agility?
An iterative product release pipeline with early user testing, customer analytics and a prioritisation process based on real user feedback, enables a smoother path to providing real business value.
The communication overheads in a waterfall project, which occur only once, are infeasible for an iterative product release lifecycle. The faster the release cycle the more frequent the cost of these overhead occurs and productivity will decrease sharply. The key to achieving agility is a commitment towards eliminating wasted effort in the product release lifecycle.
So where is this waste? What are the areas we should tackle to enable greater agility?
Understanding the product vision and the KPIs is important for everyone involved in the release pipeline. Without this knowledge – whether they are a developer, tester, marketing or legal – they will be biased towards external factors and make the wrong compromises. A product team has a shared vision and works together to build a collaborative view of the risks, the opportunities and the goals.
Understanding your customer is also necessary to make high-value decisions. Frequent user testing and prototyping will give valuable insights into the profiles and motivations of the customers. The single quickest way to eliminate waste is to make more informed decisions. This is achieved by testing all assumptions about the customers as fast as possible and using the feedback to identify the most valuable next step.
The most valuable group of test users are your live customers. Customer analytics and system monitoring are critical to evaluating the impact of the changes the development team is releasing.
A mature product team follows agile working processes and release small, frequent changes to production. The team takes collaborative responsibility for the product and work closely together to ensure success. They utilise devops tools and techniques and build automated continuous delivery pipelines to reduce the release times, raise quality levels and increase the productivity of the team members. A mature product team can be a fun and engaging place to work.
Running scrum teams is not enough. True agility is measured in release cycle time and is a huge competitive advantage in today’s fast-paced digital world. Agile, UX and devops are all important concepts that enable agility but it’s crucial that the business aligns around product-focused teams and makes a serious commitment to reducing friction in the release pipeline. Customer-focused decision making by an engaged, empowered product team is how digital engineering succeeds.
Sourced from Joel Ippoliti and Martin Stirling, North Highland