My company has two engineering departments. 1 that has a very traditional management chain (non-technical) that is very bureaucratic with lots of meetings. The other promotes only the best technical engineers with ~10 years of experience and people skills. The latter typically performs far better finishing all projects on time and under budget. My boss's boss knows every table in our database, how each interface to our various apps works...etc. All our management in that department can speak on the same level as our vendors and drive key design and architecture decisions and the next day be talking to shareholders in the political realm. When someone asks them a question they can give an answer down to the lowest level of granularity if need be. So my experience based theory of management is to take high performing domain experts with people skills and put them in management in lieu of typical Harvard MBA types. Then pay for them to take some finance classes to round off that skill set if needed.