CINXE.COM
Discovery Sprint Guide
<!DOCTYPE html> <html lang="en-US" id="top"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Discovery Sprint Guide</title> <meta name="description" content='This is the "how to" site for discovery sprints at USDS.'> <!-- Favicons ================================================== --> <link rel="apple-touch-icon" sizes="180x180" href="/assets/img/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicon-16x16.png"> <!-- CSS ================================================== --> <link rel="stylesheet" href="/assets/css/uswds-theme.css" media="screen"> <link rel="stylesheet" href="/assets/css/custom-styles.css" media="screen"> </head> <body> <a class="usa-skipnav" href="#main-content">Skip to main content</a> <section class="usa-banner" aria-label="Official government website"> <div class="usa-accordion"> <header class="usa-banner__header"> <div class="usa-banner__inner"> <div class="grid-col-auto"> <img class="usa-banner__header-flag" src="/assets/uswds/img/us_flag_small.png" alt="U.S. flag"> </div> <div class="grid-col-fill tablet:grid-col-auto"> <p class="usa-banner__header-text">An official website of the United States government</p> <p class="usa-banner__header-action" aria-hidden="true">Here’s how you know</p> </div> <button class="usa-accordion__button usa-banner__button" aria-expanded="false" aria-controls="gov-banner"> <span class="usa-banner__button-text">Here’s how you know</span> </button> </div> </header> <div class="usa-banner__content usa-accordion__content" id="gov-banner"> <div class="grid-row grid-gap-lg"> <div class="usa-banner__guidance tablet:grid-col-6"> <img class="usa-banner__icon usa-media-block__img" src="/assets/uswds/img/icon-dot-gov.svg" role="img" alt="Dot gov"> <div class="usa-media-block__body"> <p> <strong> Official websites use .gov</strong> <br/> A <strong>.gov</strong> website belongs to an official government organization in the United States. </p> </div> </div> <div class="usa-banner__guidance tablet:grid-col-6"> <img class="usa-banner__icon usa-media-block__img" src="/assets/uswds/img/icon-https.svg" role="img" alt="Https"> <div class="usa-media-block__body"> <p> <strong> Secure .gov websites use HTTPS</strong> <br/> The <strong>https://</strong> means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites. </p> </div> </div> </div> </div> </div> </section> <div class="usa-overlay"></div> <header class="usa-header usa-header--extended"> <div class="usa-navbar"> <div class="usa-logo" id="extended-logo"> <em class="usa-logo__text"><a href="/" title="Home" aria-label="Home">Discovery Sprint Guide</a></em> </div> <button class="usa-menu-btn">Menu</button> </div> <nav aria-label="Primary navigation" class="usa-nav"> <div class="usa-nav__inner"> <ul class="usa-nav__primary usa-accordion"> <li class="usa-nav__primary-item"> <a class=" usa-nav-link usa-current" href="/"> <span>Sprint Guide</span> </a> </li> <li class="usa-nav__primary-item"> <a class=" usa-nav-link " href="/interview/"> <span>Interview Guide</span> </a> </li> <li class="usa-nav__primary-item"> <a class=" usa-nav-link " href="/writing/"> <span>Writing Guide</span> </a> </li> <li class="usa-nav__primary-item"> <a class=" usa-nav-link " href="/cases/"> <span>Case Studies</span> </a> </li> </ul> </div> </nav> </header> <div class="usa-section"> <div class="grid-container"> <div class="grid-row grid-gap"> <div class="usa-layout-docs-sidenav desktop:grid-col-3 usa-sticky-sidenav"> <nav aria-label="Secondary navigation"> <ul class="usa-sidenav"> <li class="usa-sidenav__item"> <a href="/" class="usa-current" > About this guide </a> <ul class="usa-sidenav__sublist"> <li> <a href="#what-is-the-purpose-of-a-discovery-sprint" > What a sprint is </a> </li> <li> <a href="#when-is-the-right-time-to-run-a-discovery-sprint" > Sprint timing </a> </li> <li> <a href="#discovery-sprint-scenario" > Example scenario </a> </li> </ul> </li> <li class="usa-sidenav__item"> <a href="/preparing/" > Preparing for a sprint </a> </li> <li class="usa-sidenav__item"> <a href="/conducting/" > Conducting the sprint </a> </li> <li class="usa-sidenav__item"> <a href="/delivering/" > Delivering the sprint findings </a> </li> <li class="usa-sidenav__item"> <a href="/wrapping-up/" > Wrapping up the sprint </a> </li> <li class="usa-sidenav__item"> <a href="/remote/" > Running remote sprints </a> </li> <li class="usa-sidenav__item"> <a href="/failure/" > How sprints fail </a> </li> <li class="usa-sidenav__item"> <a href="/glossary/" > Glossary & other resources </a> </li> </ul> </nav> </div> <main class="usa-layout-docs-main desktop:grid-col-9 usa-prose" id="main-content"> <h1 id="about-this-guide">About this guide</h1> <p>The U.S. Digital Service (USDS) works on technology improvement projects impacting people served by the United States government. Since 2014, USDS has partnered with dozens of federal and state agencies to build more than 160 successful digital products. In our initial interactions with a government agency, we will often run what we call a Discovery Sprint.</p> <p>This guide intends to explain the discovery sprint process and share best practices to help teams adapt and run their own discovery sprints.</p> <h3 id="what-is-the-purpose-of-a-discovery-sprint">What is the purpose of a discovery sprint?</h3> <p>Discovery sprints are a useful method to quickly build a common understanding of the status of a complex organization, system, or service. They create paths toward solutions by identifying specific, actionable next steps for the people at the organization who will carry that work forward.</p> <p>When we say “quickly” we mean that almost all of the work is completed in 2-4 weeks. A small cross-functional team of engineers, designers, product managers, procurement and subject matter experts partner with an organization’s personnel to quickly explore an organizational problem or challenge.</p> <p class="guide-highlight">The purpose of a discovery sprint is to identify root causes, issues, and opportunities, not to solve them in this time window.</p> <p>During a discovery sprint the team will interview stakeholders at every level of the organization as well as end-users. They will also dig into available data, look at code in production, and observe processes. As a methodology, discovery sprints are not new – they stem from best practices in Human-Centered Design. At USDS the organizations we typically engage with are federal agencies but, for this guide, we use the word “organization” as a placeholder for any group you would be doing your sprint work with. You can find definitions of other terms we use throughout this guide in the <a href="/glossary/">glossary</a>.</p> <h3 id="when-is-the-right-time-to-run-a-discovery-sprint">When is the right time to run a discovery sprint?</h3> <p>There’s never a bad time to run a discovery sprint, though we typically see them happen during these different phases on a project:</p> <ul> <li>Before a new tool, service or product is built</li> <li>When an existing tool, service or product is actively broken, or no longer meeting current or aspirational technology standards</li> <li>When key stakeholders change and a fresh perspective is useful to plan for or prioritize a new roadmap</li> </ul> <h3 id="discovery-sprint-scenario">Discovery sprint scenario</h3> <p>Let’s take the example of a federal agency somewhere. Your discovery team has been brought in because the process of filing paperwork to help people receive a benefit they are entitled to is “slow”. One part of the Agency ecosystem is on the verge of spending $6 million on new servers in an effort to solve this problem. On the face of it, this looks like a pretty cut-and-dry technology problem. However, the agency leadership wants a gut check and has invited your team in to advise them. The discovery team spends time talking with the office that is making the decision to spend the money and, while they are there, they also spend time talking to the offices that are both up and downstream from the group that has brought them in.</p> <p>It turns out that the team that is filing the paperwork at the beginning phase of the process waits one week for a response and then, if they haven’t gotten an answer, they refile the paperwork again to “move the request to the top of the pile.” They do this because the paperwork delay can result in people missing out altogether on receiving benefits. The discovery team then goes and spends a couple of days in the office that is receiving the paperwork. This group overhauled their workstream 9 months ago and they are now batch processing incoming requests three days a week. This has improved their processing time by a measured amount and they are extremely proud of this. They don’t know why they seem to get so many duplicate requests though.</p> <p>When your team talks to the citizens applying for the benefit, they learn that applicants find the paperwork onerous and the process of filling out the form, printing and signing the form, and scanning the document to be time consuming and confusing. If their information changes when they move, they have to start over from scratch because there is no way to make updates to an in-process application. Once forms are submitted, there’s no easy way for someone to get status updates, or to know where they are in the queue.</p> <p>In the scenario above, each team is absolutely doing as much as they can, to the best of their abilities for their stakeholders. In this case, the report written at the end of the discovery sprint can highlight the process of both teams, the struggles of everyday people trying to navigate the process, identify some opportunities, and make recommendations of what to do next. The report may also advise that spending money on servers at this stage is a solution that is unlikely to fix the challenges that the offices at the agency are facing.</p> </main> </div> </div> </div> <footer class="usa-footer usa-footer--big chp-footer" role="contentinfo"> <div class="grid-container usa-footer__return-to-top"> <a href="#top">Return to top</a> </div> <!-- <div class="usa-footer__primary-section"> <div class="grid-container"> <div class="tablet:grid-col-4"> <div class="grid-row grid-gap mobile-lg:grid-gap-0"> <div class="grid-col-auto mobile-lg:grid-col-12 desktop:grid-col-auto"> <a class="chp-footer__changelog-link" href="/changelog/"> All recent changes to this site </a> </div> </div> </div> </div> </div> </div> --> <div class="usa-footer__secondary-section chp-footer-secondary"> <div class="grid-container"> <div class="grid-row grid-gap"> <div class="usa-footer__logo grid-row mobile-lg:grid-col-6 mobile-lg:grid-gap-2"> <div class="mobile-lg:grid-col-auto"> <img class="usa-footer__logo-img chp-footer-secondary__logo" src="/assets/img/usds-logo-footer.svg" alt="USDS logo"> </div> <div class="mobile-lg:grid-col-auto"> <h2 class="usa-footer__logo-heading"></h2> </div> </div> <div class="usa-footer__contact-links mobile-lg:grid-col-6"> <h2 class="usa-footer__contact-heading"> Discovery Sprint Guide </h2> <address class="usa-footer__address"> <div class="usa-footer__contact-info grid-row grid-gap"> <div class="grid-col-auto"> <a href="https://github.com/usds/discovery-sprint-guide/blob/main/contributing.md" class="chp-footer-secondary__link" target="_blank">Github</a> </div> <div class="grid-col-auto"> <a href="https://www.usds.gov/privacy" class="chp-footer-secondary__link" target="_blank" rel="noreferrer">Privacy Policy</a> </div> </div> </address> </div> </div> </div> </div> </footer> <script src="/assets/uswds/js/uswds.min.js" async></script> <script src="/assets/js/app.js" async></script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-132706295-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-PJ95MQHLS8', { 'anonymize_ip': true }); </script> </body> </html>