...
- Cross database compatibility
- Accessibility
- Internationalisation
- Multi-language support
- Right-to-left support
- Performance
- PHPUnit and Behat test coverage
- Data generators
- Security
- Cross-browser support
- Responsive design
- Feature enabled flag support
- Backup/restore
- Migration/upgrade path
- Deprecation of existing/old APIs/legacy data
- GraphQL APIs
- Multi-tenancy support
- Product usage analytics
- Scalability - paging, search, filters, sorting, bulk management
Specific feature implementations that might be required for any given feature:
- New capabilities and access control
- Events and logging classes
- Hooks for local developers
- User data classes
- Report builder sources
- Notifications
- Totara menu items
- Audience rules
- Badge criteria
- Changes to HR import/bulk upload
- New front-end components (Vue)
- Mobile support
- External API
- Feature specific blocks or other plugins (auth, enrolment, tool, etc.)
- Full text search
- Additional registration data
- Workflow classes
- Activity modules support archiving completions (for certifications support)
- Check API classes
Other considerations:
- Considering impact of deletion of items on related objects
- Considering impact of changes on the system (e.g. audience membership changes, user reconfiguring active items, etc)
- Ability to automatically delete/cull/archive items over time - data lifecycle