Arch Lunch: 2019-06-20
Developer Experience Roadmap thoughts
- Current things
- Jenkins optimizations
- Automated Python and JS dependency upgrades
- Feature toggle reporting
- Ideas
- Further automation of dependency upgrades
- Some possible solutions
- Auto-merge and auto-deploy
- Bulk-upgrade tool
- Automated async-upgrade tool
- Auto-releasing of libraries
- Automate mechanics of releases
- Find changelogs on external dependencies
- Further investment in renovate - get feedback from current users
- Developer experience observations and “design sprint”
- Docs (?)
- Tests
- Slow in multiple repos (e-commerce and edx-platform) for different reasons
- Analyze our tests
- Coverage.py 5.0
- Who tests what map
- Can then remove tests
- To minimize updating tests
- To minimize running tests
- Optimizing which tests run for a PR
- Data
- Test Data OEP
- Standardizes on schema
- Reference example
- Micro-frontends on Devstack
- Configuration
- Simplify config pipeline
- Devops has done some foundational work
- Needs follow-up to simplify for developer experience
- A/B testing enablement
- bi-toolkit-repo has some tooling
- Don’t have
- Automatically running reports
- Optimizely/segment training for developers
- Ownership enablement
- Observability tooling, for example
- “Alerts are much more useful than dashboards”
- Devops alerts auto-create tickets
- PR status
- “Why is my commit not on Prod yet?”
- Possibly: improve GoCD pipeline status reporting/monitoring
- Possibly: also gather data and metrics on PR lifecycles
Startup time on edx-platform
- Legacy Shopping cart - 20% of startup
- Scanning for entry points - also significant time
- Specifically, stevedore-based plugins (xblocks, course-tabs, django-app-plugins)
- Seems we might be scanning twice
- Can we move to more configurable Django-style list?
- Studio outages - when rebooting for remote config changes
Hackathon Brainstorming
- Deprecated frameworks
- Python 2
- Node 8
- Performance of student dashboard