Dev Loop
We use the term “dev loop” for routine activities of a software developer or other users of our build system.
Speeding up the dev loop vastly improves the whole developer experience. Some direct advantages are:
- Quick Feedback: By getting feedback on their changes quickly, developers have less context switches resulting in less errors.
- Quick Bugfixes: Bug fixes can get rolled out quickly.
Inner Dev Loop
The “inner dev loop” is what the developer runs with high-frequency, often on his own device, during development:
- Adding/modifying some source code.
- Potentially getting real time IDE feedback.
- Building code.
- Running affected tests.
- Understanding errors/warnings and act on them.
Outer Dev Loop
The “outer dev loop” is what code changes need to go through until being deployed to production:
- Creating a change/pull request.
- Getting CI feedback.
- Maybe deploying the change for manual testing.
- Getting a review of other developers.
- Merging the change to the development branch after validating it again, rebased on latest changes.
- Getting the change through various deployment stages to production.