Development Process
### Branching Strategy
- Begin all local development by pulling the latest
MAINbranch. - Create a new branch from
mainusing a naming convention that reflects the purpose of the branch, prefixed with initials for easy identification. Our convention is in the PR template for the repos. It is<initials>_<short_description>_<story_number>. Example:jck_add_pr_template_538104. - Keep branches short-lived, ideally merging them back into
mainwithin a few days.
### Commit Guidelines
- Use structured commit messages prefixed with the relevant User Story or Bug ID to ensure automatic linking in Azure Boards (e.g.,
#12345 – Created custom class component for the text input to allow max length to be universally governed). - Keep commits small and focused to maintain a clear development history.
### Syncing with main
- Before pushing changes to remote, ensure your branch is up to date with
mainby performing a rebase:
- Resolve any merge conflicts locally, commit changes, rebase again, and then push changes.
## Pull Request Best Practices
### Creating a Pull Request
- Ensure your PR meets the following criteria before submission:
- A User Story or Bug is linked to the PR (tracked in Azure Boards).
- A screenshot of any UI changes is attached.
- PR title follows the format:
[Team Name] | [User Story #] | [User Story Title]. - Solution builds and runs locally without errors.
- Unit tests are created and meet code coverage requirements.
- All unit tests pass.
- Linting issues are resolved.
- Latest
mainbranch changes are merged, and conflicts are resolved. - Updates are documented in the User Story for QA handoff.
- Changes have been demonstrated to the QA team.
### Responsibilities of PR Authors
- Ensure PRs are small, incremental, and mergeable at all times.
- Actively seek reviews from peers and promptly address feedback.
- Follow up to ensure PRs are reviewed and merged in a timely manner.
## Code Review Expectations
### Reviewer Responsibilities
- Conduct thorough reviews of every change in the PR.
- Verify that changes align with the acceptance criteria of the linked User Story or Bug.
- Ensure all checklist items in the PR template are met.
- Use “nit” prefix for minor style-related suggestions to avoid derailing the PR.
- At their discretion, reviewers may pull and run the code locally for complex changes, but testing is primarily handled via build pipelines, automation tests, and QA validation.
## Merging Criteria
- PRs should only be merged once all criteria are met and at least one approved review is obtained.
- Merge small, tested, and reviewed PRs frequently to avoid large, complex changes.
- Use fast-forward merges where possible to maintain a linear history.