---
title: "Build the service using agile and iterative practices"
source: USDS Digital Services Playbook
source_url: https://github.com/usds/playbook
licence: CC0-1.0
domain: product-and-design
subdomain: usds-playbook
date_added: 2026-04-25
---

We should use an incremental, fast-paced style of software development to reduce the risk of failure. We want to get working software into users’ hands as early as possible to give the design and development team opportunities to adjust based on user feedback about the service. A critical capability is being able to automatically test and deploy the service so that new features can be added often and be put into production easily.

### Checklist
1. Ship a functioning “minimum viable product” (MVP) that solves a core user need as soon as possible, no longer than three months from the beginning of the project, using a “beta” or “test” period if needed
2. Run usability tests frequently to see how well the service works and identify improvements that should be made
3. Ensure the individuals building the service communicate closely using techniques such as launch meetings, strategy rooms, daily standups, and team chat tools
4. Keep delivery teams small and focused; limit organizational layers that separate these teams from the business owners
5. Release features and improvements multiple times each month
6. Create a prioritized list of features and bugs, also known as the “feature backlog” and “bug backlog”
7. Use a source code version control system
8. Give the entire project team access to the issue tracker and version control system
9. Use code reviews to ensure quality


### Key Questions
- How long did it take to ship the MVP? If it hasn't shipped yet, when will it?
- How long does it take for a production deployment?
- How many days or weeks are in each iteration/sprint?
- Which version control system is being used?
- How are bugs tracked and tickets issued? What tool is used?
- How is the feature backlog managed? What tool is used?
- How often do you review and reprioritize the feature and bug backlog?
- How do you collect user feedback during development? How is that feedback used to improve the service?
- At each stage of usability testing, which gaps were identified in addressing user needs?
