I wrote a very similar post. With a very similar title. If I had any points to mod you up I definitely would. Planning is very important for software. It is very important to state the CRS, SRS, HLD, LLD. After the HLD has been created all the subsystems get turned into tickets given to developers that will iron out the LLD coordinate any integration with other subsystems and get to coding.