Allocate resources to improve our developers' productivity and well-being
With grants following each other without much of a break in between, and a general lack of resources on the team, it's been a while since FT/RM had capacity to spend significant amounts of time on making its own workflow more efficient & pleasurable. The last time I remember is the "streamline the release process" sprint, that has had an awesome beneficial impact.
The consequences of this state of things are starting to hurt the productivity of the team, and the well-being of team members, a bit too much for my taste.
For example:
- Test suite flakiness: we're back to the state we were in years ago, i.e. the norm is that a test suite run triggers at least a couple false positives, which makes us lose time analyzing test suite results and confirming they're indeed false positives.
- Lack of an incremental build system ⇒ need to rebuild from scratch every time
- Slow CI due to:
- poor usage of Jenkins CI hardware resources: when CI is not fully busy, builds and tests only use the resources allocated to the fixed-size VM they run on, while the CPUs allocated to other Jenkins worker VMs are idling.
- poor usage of GitLab CI resources: Improve performance of GitLab CI tests: install... (#18169)
- More generally, we are rarely in a position in which we can allow ourselves to dream and think about bigger changes that we, together with sysadmins, could implement to make our job more pleasurable and productive.
- Many small operations done manually while they could be automated. For example:
- Context switches
I think we should brainstorm to identify the most important problems and time sinks. Then we could sort them into 2 categories:
- low-hanging fruits, that could be solved in batch during a FT sprint or 2 → then we just do it™
- bigger problems, that need more thought and planning → maybe 1 of them lands on our roadmap next year?
😄
Data sources:
Edited by intrigeri