This is so different from what comes to mind when I think about how to improve productivity:<p>- require engineers to present and justify engineering investments (and understand that what you don't accept has real costs)
- have engineers estimate the work in the roadmap, and provide clear risks and possible mitigations
- note all of the above means the goals are clearly defined first
- not everything you wanted to accomplish may fit; be prepared to distinguish essential from good to have, and to change the order of your priorities.
- have teams commit to dates based on estimates, a healthy error margin, additional responsibilities, meetings...
- plans change, things happen, life happens, engineering is hard. It's OK, it's expected! Make sure there are clear communication channels from engineers to the top, and from the top to the engineers, so that expectations are adjusted as soon as possible, and maybe make further adjustments.
- Communication should happen often. Be always available to listen, don't micromanage.
- managers should protect engineers and said communication channels
- managers and PMs do not set deadlines
- don't hire cheap; hire motivated team players.
- the primary role of your >Senior engineers is to be force multipliers (how is a whole different conversation), not to do superhero work
- communication, communication, communication; you'd be shocked how much time is wasted by engineers being unsure how to proceed and not sure who to ask of if the question will be well received; there are no bad questions.<p>I feel like I could go on and on and expand on many of these.<p>Yes: multitasking hurts; yes, procrastination is bad; but beyond looking at each "issue" individually, engineering leadership should provide processes and culture that protect, motivate and facilitate success.