I’ve heard many times that teams struggle with their delivery processes. With agile methodologies like Kanban or Scrum, teams can really optimise their delivery in terms of time and budget, but many still find themselves delivering systems that no one wants to use. Methodologies like devops and continuous integration may appeal to our engineering minds, but without sufficient quality checks on what’s being built, these methodologies can create an elaborate way to deliver mediocre products.
For example: Imagine a fully automated factory that manufactures cars. Everything is pristine, the machines work at near perfect capacity, and production follows all rules and meets all deadlines. With this setup, we can manufacture cars at an impeccable speed and infinite amount of detail. But imagine we feed the machine inconsistent designs for some or all of the components. Some may be missing parts, and others might be inconsistent with their measures and scales. This would dramatically impact production capacity. In short, no matter how much we invest in the manufacturing process, the designs we feed to the automated system are just as important to the desired outcome as the systems are.
What can businesses and organisations do to fix this in their own delivery processes?
Agile at a strategic level
Good delivery processes can easily be summarized as understanding what are we building and why we are building it. Another way of looking at this is as a transition to an agile mindset for a business at the strategic level. Many industries are coming to the realization that digital plays an important role in many aspects of any business. That trend is only growing with the proliferation of connected APIs, big data, and machine learning.
The face of digital disruption is changing. In some industries, it may be an app that is creating new business or it may a website that is creating a community around a product or service. In other industries, it may even be an IoT device that creates a insane amount of data. Businesses are increasingly asked to transition to thinking in digital terms, but many do not have the frameworks to do so. Many make assumptions about their services and products without the right data to back up their ideas.
Creating a team that can think and deliver in an agile way means that you are building a team that is flexible and can iterate solutions quickly as new data is generated. Working with an agile methodology can rapidly deliver results, and is provides a transparent, cost-effective framework so budgets can be easily controlled.
Businesses that want to control for costs and maximize ROI should leverage an agile way of thinking when they are deciding what needs to be built. Furthermore, they need to encourage feedback from their engineering teams to take advantage of insights, experience, and expertise.
Understanding what needs to be built the 21st century way
The best way to understand what needs to be built is to visualise its perceived value and the impact it is expected to have. A trusted technique to do that is called impact mapping, which is a system for evaluating assumptions and visualising project scope. It is a collaborative approach that allows business and technical teams to contribute equally.
It works in 4 main dimensions:
- Goals form the basis of the map and answer the main question: why are we doing this?
- Actors form the first level of the map and answer the question: who are the users or consumers of our product, who can enable us to deliver it, who can obstruct it?.
- Impacts form the second level of the map and answer questions like: How should our actors’ behaviour change? How can they help us to achieve the goal? How can they obstruct or prevent us from succeeding?
- Deliverables form the final level and define the scope of a project. They answer the following questions: What can we do, as an organisation or a delivery team, to support the required impacts?
An hypothetical map is shown below with the goal to grow mobile advertising; the actors involved; the impacts to be achieved; and the actions that can facilitate the desired impacts.
By using impact maps, businesses can achieve value in 3 main areas:
- Alignment - sharing information between business and technical teams creates a shared understanding of scope, goals and targets.
- Quality - a map showcases the impact that technical deliverables are supposed to achieve from a business perspective. This is particularly important as more and more business leaders speak in terms of business and customer value. Impact maps align the business vision with the engineering excellence.
- Delivery - once projects are shipped, their features and functionality can be measured against the overall business goals. This ensures that each and every feature creates value for the business.
From maps to working software
Once an agile framework is in place and impact maps have been generated, it’s time to figure out how to make the software work. This means breaking the requirements down into smaller pieces as described by the impact maps, and understanding how each of those pieces of functionality work.
Many agile teams adopt the user story format as their tool of choice to describe these fragments of the overall functionality. Together with a list of acceptance criteria, user stories comprise the project backlog, which is a prioritised list of features and functionality of a project.
A user story is a great tool for agile teams because it communicates value from the user perspective. A typical story reads: “As a USER I want FUNCTIONALITY so that VALUE.” An actual example of this might be: “As a player, I want automated invites so that I can invite friends.” This statement describes the user (a player on an app), the functionality (automated invitations), and how that functionality is important to making the app work as desired.
Thinking in terms of actors, impacts and deliverables allows agile teams to create user stories. This makes it simple to transition functionalities from the impact map straight to the project backlog, where each piece of functionality can be prioritised accordingly.
Making the transition to an agile methodology may seem overwhelming, but it’s important for businesses that want to compete in a digital era. Tools like impact mapping and user stories ensure that specific organisational goals are broken down into achievable components. This ensures that business value is created in every step of the way, and that strategies and budgets can constantly be re-evaluated for efficacy. It gives your organization greater control over how those goals are achieved, and by involving the engineering team, technical requirements are standardized and the entire process becomes more efficient. With a proper agile approach, costs are kept down, quality goes up, and everybody wins.
Want to learn more about agile project management? Contact FFW to learn how we work on web projects, and how we can help you revolutionize your digital presence.