regarding menu customization:

several of the software packages I use at work offer the ability to create custom toolbars by dragging commands from a comprehensive list onto a toolbar. These toolbars can be docked to the main menu, undocked and free-floating, dragged, repositioned, etc

Once the toolbars are organized the way you want, right clicking on the main menu lets you turn whole sets of toolbars off and on, so you only need to have subsets of commands visible based on the part of the project you're working on

The advantage of clustering commands together according to your own organizational logic is that it puts commands where you can find them, instead of having to navigate sub menus and right click menus