Every agile team should strive to:
- Ship a functioning “minimum viable product” (MVP) that solves a core user need addressed by the service as soon as possible, and not longer than three months from the beginning of any new digital project, using a “beta” or “test” period if needed
- Run usability tests frequently to see how well the service works for users, and identify improvements that should be made
- Ensure that the individuals building the service are in close communication using techniques such as war rooms, daily standups, and team chat tools
- Keep delivery teams small and focused; limit organizational layers that separate these teams from the business owners
- Release features and improvements multiple times each month
- Create a prioritized list of features and bugs, also known as the “feature backlog” and “bug backlog”
- Use an “issue tracker” to catalog features and bugs
- Use a source code version control system
- Ensure entire team has access to the issue tracker and version control system
- Use code reviews to ensure quality
Key questions for an agile team:
- How long did it take to ship the MVP? If it has not shipped yet, when will it?
- How long does it take for a production deployment?
- How long in days are the iterations/sprints?
- Which source code version control system is being used?
- What tool is being used to track bugs and issue tickets?
- What tool is being used to manage the feature backlog?
- How often do you review and reprioritize the items in your feature and bug backlog?
- How do you collect user feedback during development and how is that feedback to improve the service?
- At each stage of usability testing, what gaps were identified in addressing user needs?
(Source: U.S. Digital Services Playbook)