A handy guide to assist software developers at the CFPB. Similar to a "definition of done" document, the below steps should be completed in order for a project to be considered done.
- Browse our development guidelines
- Consult with other developers before making large technical decisions, e.g., before choosing your project's language, framework and/or architecture pattern
- Use test-driven development (TDD)
- Set up your test harnesses before you start coding. If you're working with a pre-existing CFPB repo, this has probably already been done.
- Read our accessibility audit documentation
- Discuss web analytics goals with your team and schedule a meeting with the Digital Analytics team to plan Google Analytics implementation
- Code complies with our development guidelines
- Code is covered by tests and those tests pass locally
- New features work in browsers listed in our browser checklist
- New features are usable without JavaScript enabled
- New features use the CFPB design system components when applicable
- When a feature is nearing completion, perform an accessibility audit on the respective page(s). Report issues and make a plan made for fixing critical bugs before release
- Use a feature branch workflow
- Add CFPB's PR template to your repo if it isn't already there
- Keep pull requests small and frequent. All pull requests should:
- Have passing tests automatically run by Travis CI
- Satisfy the requirements in our PR template
- Be reviewed and approved by at least one other developer
- Be small enough in scope that they can be reviewed in a couple hours
- All critical and high-priority accessibility bugs have been fixed
- Project documentation has been updated (usually a README or GHE wiki)
- If applicable, usage of third-party data has been verified it originates from CFPB-approved sources and usage is documented