Checklist for developing Dynamics 365 Finance and Supply Chain Management solutions
If your team is creating Dynamics 365 Finance and Supply Chain Management solutions, review and follow this checklist.
Version control
- [ ] Store all custom X++ models (user, customer, or ISV) in an Azure DevOps project or GitHub repo.
- [ ] Design and document a branching strategy
- [ ] Configure all non-dev branches to only accept changes via pull request.
Environments
- [ ] Configure and deploy dedicated D365 Finance environments aligning with our recommendations.
Testing
- [ ] Create RSAT task recordings for all core business processes.
- [ ] Run RSAT tests for every major system update.
- [ ] Use SysTest Framework to author unit/component tests for all custom code.
- [ ] Run unit/component tests as part of commit validation.
CI/CD
- [ ] Promote code to production environments using a stable build and release pipeline.
- [ ] Validate commits to the primary development branch using an automatic build pipeline.
Security
- [ ] Follow the least privilege principle for access to D365 Finance clients, development environments, Dynamics Lifecycle Services (LCS), Power Platform, and service accounts.
- [ ] Store all secrets (such as bank credentials) in approved key vaults (and never in code).
- [ ] Run automated code scanner (such as CredScan) in commit tests to check for and reject code changes that include secrets.
Observability
- [ ] Configure Application Insights telemetry to match your organization's performance monitoring needs.
- [ ] Monitor sensitive data changes using database logging configuration. Note: Special care should be taken during system configuration to ensure that system performance is not negatively impacted by database logging.
- [ ] Periodically review automatic LCS telemetry data to proactively identify performance anomalies and resource limitations.