Skip to content

Dual-Track Development

What is it?

Dual-track development is a development and delivery approach that involves two distinct, parallel tracks: discovery and delivery (or development). This approach acknowledges that effective product development requires two different kinds of thinking: problem-solving and need identification (discovery), and technical thinking to build digital capabilities (delivery).

  • The Discovery Track focuses on understanding customer and user needs, and quickly turning them into validated product insights through rapid learning. Key activities in discovery include answering questions, testing ideas, and Making & Testing Assumptions. This track emphasizes learning velocity and aims to avoid investing in building the wrong things.

  • The Delivery (or Development) Track focuses on taking the validated insights from discovery and building, testing, and delivering production-quality software with a focus on predictability and quality. Agile teams in this track often talk about velocity in terms of development output and strive for shippable high-quality software.

Dual-Track Development

Although visualized as two tracks, discovery and delivery are not meant to be separate processes or have entirely different teams. Instead, they are two parts of one continuous product development process that happen concurrently and continuously. While Product Managers and Designers may lead and orchestrate discovery, the whole team must be involved in discovery tasks wherever possible.

The term "dual-track development" emerged from the work of Desiree Sy, who described a common pattern of rigorous design and validation work alongside Agile development. While the term is now widely used, it's important to understand that it describes two types of work that need to be integrated, not siloed.

Why do it?

Practicing dual-track development is important for several reasons:

  • It helps determine the right thing to build while you are building it. By focusing on fast learning and validation in the discovery track, teams can gain greater confidence that the product features they are focusing on are the right ones. If discovery is done right, it leads to substantially changing and killing lots of ideas, preventing wasted effort on building the wrong thing.
  • It supports effective innovation by helping teams move quickly while also scrutinizing ideas to understand which are worth pursuing. Discovery allows for rapid experimentation and learning before significant investment in development. The most expensive way to test an idea is to build production-quality software, which dual-track development helps to avoid prematurely.
  • It leads to more consistent product and service delivery. By continuously feeding the delivery track with validated product needs, teams can avoid costly bottlenecks and ensure that development doesn't have to stop to re-evaluate or prioritize.
  • It helps deliver effective solutions that meet the real needs and demands of customers and users. The focus on user research and validation in the discovery track, ensures that user needs and pain points are understood and addressed. Continuous User Research and Usability Testing, even with live software, inform design decisions and lead to impactful solutions.
  • It reduces rework and potential project abandonment when deliverables don’t meet user expectations because the needs have been validated beforehand.
  • It ensures the whole team is responsible for product outcomes, not just on-time delivery. Involving the whole team in discovery fosters a shared understanding of the problem and the value proposition.
  • It allows for Continuous Learning and Improvement, even after shipping software. The mindset of discovery extends beyond initial development, with production software being seen as the last best experiment from which to learn. Data & Metrics Collection on production software helps us monitor and learn from real software usage.

Dual-track Development is a core practice that ties together other Rise8 Core Practices. It integrates understanding user needs and validating solutions with the efficient delivery of high-quality software. It emphasizes learning, collaboration, and a continuous focus on delivering value to users.