I keep an Excel control table. Every task assigned goes on that table with a project, type (report, code, algorithm design or integration work) and module (which part of the project needs an update). There is also a remark column which I one day intend to process with nlp. I also like to generate a pivot table at the end of each week to know which type or modules of work I'm neglecting. I've also got some conditional formatting to mark rows as red when I blow the deadline (red) or when I need to finish something by today (yellow). Has worked well for me when I was an engineer and I'm evaluating this work flow for an integrator (it's an official post for someone who makes sure that several teams deliver compatible outputs on time).
Broadly, use external storage (paper or a computer) to keep track of things that you don’t need to know right now so that that mental capacity is available for whatever you’re actually working on.