This file is deprecated. The most recent information should be at https://github.com/department-of-veterans-affairs/va.gov-team/tree/master/platform/working-with-vsp/policies-work-norms
Teams working on the Veteran-facing Services Platform use Github to
- Store and share project documents. We do this to keep a record of project work and so all teams can learn from what other teams are doing.
- Store and share Work Practices — our best practices for how we do things.
- Use Github Issues to track progress throughout the agile delivery process.
- Manage code and related version history.
- Everyone working on the Veteran-facing Services Platform must set up a Github account.
- All content in our VA Github repositories is subject to FOIA.
- We strongly recommend that you set up a new Github account for VA work using your VA.gov email address.
- We strongly recommend that you do not use a personal Github account for your VA work.
- Github requires two-factor authentication (2FA) for new accounts.
- If you use a Github account without enabling 2FA, you're likely to have problems pushing code.
GitHub is a system that stores documents and keeps a revision history of those files. It's divided into "repositories" (or "repos") which are groups of related files or documents. For example, this file lives in the va.gov-vfs-teams
repo.
-
You can use Github by visiting the URL for a specific repo in your browser and editing files from there. Or you can use the command line to interact with files.
- If you're not familiar with Github, use the web URL to learn how Github works and what you can do with it.
-
For non-developers, most Github work happens in the
va.gov-team
repo where they store and share files. -
Github makes it easy to "style" text-based documents using Markdown syntax. Learn how to use Github Flavored Markdown.
-
Review the Github primer to learn how to do basic tasks like creating a file or submitting a pull request.
- Always use a dash (-) between words in file and folder names.
- If a folder (or a file) name has white space in it, Github fills each white space with
%20
. E.g.,https://github.com/department-of-veterans-affairs/vets.gov-team/tree/master/Work%20Practices/Accessibility%20and%20508
- This makes it hard for people to read Github URLs and even harder to type them (e.g., if you're on your mobile device).
- If a folder (or a file) name has white space in it, Github fills each white space with
- Use meaningful descriptive titles for files (and folders).
- Give files (and folders) descriptive names to help people understand what's in them before they click into them.
- Avoid acronyms in titles. Characters are cheap. Use them!
- Descriptive titles make it much easier to find things using Github's Search function.
- Include a useful README.md file at the root of your folder structure, e.g., inside your "Product/Design" folder.
- Useful READMEs tell people what's in the sub-folders and files before they click into them.
- Consider a TOC approach - here's an example
- Use a predictable folder structure.
- Follow examples set by people/teams who came before you. Browse around in
vets.gov-team
repo to see what other teams have done. - Don't make a bunch of sub-folders that each only contain a few files. This makes it much harder for people to find things.
- Follow examples set by people/teams who came before you. Browse around in
- When a folder contains 12 or more files, start thinking about grouping files into sub-folders to make it easier for people to find stuff.
Each Github repo has a section called "Issues." Learn about issues.
We use Zenhub with Github to turn the "Issues" section into an scrum board.
The "Issues" section of the va.gov-team
repo is where all teams manage their Epics, User Stories, and agile workflow.
- Learn how to get started using Zenhub.
- See how we use Zenhub for product/agile management.
- If you have problems using Github, check the Github FAQs for potential solutions.
- Ask in a Slack channel.