Planning a project requires a significant amount of experience and knowledge. Unfortunately, whereas training on subjects such as Java, C++, Web servers, and so on, is readily available, managerial skills are learned on the job, commonly from past mistakes. More often than not, managers have only their own initiative to rely on regarding project planning techniques and issues to pay attention to.