Continuous Design
Continuous design is an iterative approach to software product design where feedback loops and rapid prototyping are integral to the design process. The approach acknowledges the uncertainty in product development and avoids premature alignment on potentially sub-par solutions.
Purpose
The primary purpose of continuous design is to reduce the usability risk that the features we build can't be used by customers or that they don't actually solve the problem sufficiently. Features require behavioural change from users and we can't predict ahead of time how customers will react to a new feature. We therefore need to continuously test, validate and iterate on our designs to ensure that they are effective.
Principles and Practices
Effectiveness
Principle | Goal | Practice |
---|---|---|
We have a bias towards solutions | We need to identify the best solution, not just the first. | By running ideation sessions with cross-functional representation we can create many, and more diverse, ideas which increase our chances of finding better solutions. |
Not all solutions are equal | We need to identify the solutions that have the greatest chance of impacting our product objectives. | By prioritising solutions we can enable the team to focus appropriately. |
We don't know how customers will behave | We need reduce the desirability, usability, feasibility, viability and third party incentive risks that impact customer adoption. | By explicitly identifying and prioritising assumptions that underpin our ideas we can protect ourselves from committing to a solution that doesn't work. |
Not all designs are equal | We need to validate the designs that people create to ensure that they are the best solutions. | By involving multiple people in design through processes through pairing or teaming we can achieve better designs. |
Unused work provides zero effectiveness | We need to limit the risk that work is not validated. | By implementing work-in-progress (WIP) limits we force teams to work in short iterations and minimise both the risk and scale of unused work. |
Efficiency
Principle | Goal | Practice |
---|---|---|
Code is the most expensive way to test an idea | We need to verify that users want a feature before building it. | By creating prototypes and running experiments we can validate the desirability and usability of features before we invest in building them. |
Unnecessary rework is waste | We need to ensure that teams can build upon the previous work of other teams instead of re-inventing the wheel. | By designing and running experiments to evaluate our designs we can ensure that we are building the right thing before we invest in building it. |
Not releasing features is costing us money | We need to ensure that we focus more on releasing work than starting new work. | By implementing work-in-progress limits we force ourselves to validate our designs frequently which speeds up delivery and, as a bonus, prevents us from designing too far ahead of our understanding of the customer problem. |
Sustainability
Principle | Goal | Practice |
---|---|---|
Products tend towards complexity and complexity reduces productivity | We need to be aware of design debt to ensure that the product remains easy to use and fit for purpose as we iterate over time. | By continuously refactoring our product designs we can ensure that the design meets the current business and customer needs. |
People leave teams | We need to minimise the amount of knowledge lost when people leave the team. | By enhancing our research repositories with the results of experiments we can keep the customer knowledge available. And by involving multiple people through pairing or teaming we can transfer knowledge more effectively across the team to limit knowledge leakage. |
Criticisms
Despite its benefits, continuous design faces several valid criticisms.
Criticism | Description | Mitigation Strategies |
---|---|---|
Design Inconsistency | Continuous design can lead to a lack of coherence in the product's look and feel as constant changes are made. | Establish design systems and guidelines that ensure consistency across the product, even as individual elements evolve. |
Focus on Incrementalism | An overemphasis on continuous feedback can lead to prioritising incremental improvements over breakthrough innovations. | Continuous Discovery ensures that we keep a focus on customers and their pain points. |
Overemphasis on Speed | The focus on rapid iterations can sometimes compromise the depth and quality of design solutions. | The annual planning process ensures that teams have time to focus on big-picture items and not just incremental improvements. |
Feedback Fatigue | Regularly seeking feedback from the same users or stakeholders can lead to disengagement or less insightful feedback. | Rotate feedback groups and supplement direct feedback with indirect user data to reduce fatigue. |
Anti-patterns
To avoid pitfalls in continuous design, be wary of these anti-patterns:
Designing in Isolation: Creating designs without regular input from cross-functional team members (such as developers, product managers, and marketers) or without considering user feedback. This can lead to designs that are difficult to implement or don't meet user needs.
Feedback Overload: Attempting to incorporate every piece of feedback into designs, which can result in a cluttered, unfocused user interface that tries to be everything to everyone.
Solution Jumping: Quickly jumping to solutions without fully understanding the problem or exploring a wide range of design options. This can lead to designs that are not fully optimised for user needs.
Design by Committee: Design decisions made by a committee or by consensus, rather than based on user research and expert design judgment, can lead to diluted or compromised design outcomes.