Basic observation: work that requires a lot of context takes a lot of energy. So optimize the development process towards supporting incremental local changes. To me, in embedded land, this means: set up a fully integrated on-target system as soon as possible. If that's not possible, create stubs against an api. DO NOT WORK WITHOUT LOW-FRICTION TESTS OR INTEGRATION LAYER.