To get more accurate estimates than comparing to previous projects, an initial assessment may be done... a very rough design performed to flesh out a system meeting requirements... then estimates are done from more detailed module breakdowns, more detailed specs than are obtained at the requirements level. After the rough design, estimates of resources needed for the full project can be made and a committment to the project (or rejection of the project) made.
This process is much like what you are doing now in fleshing out the top level of your implementation manual. Companies often spend some money to see if they should spend more (or cut their losses while the cutting is good).
Software managers attain their positions through having good experience and good understanding of the fields of application and the practice of software development.