Software cost estimation is the art of balancing time and resources to optimally budget projects. Most estimation models consist of mathematical algorithms or parametric relations and are used to approximate the dominant cost for developing software, the human effort. The models and techniques in this book are primarily based on the factors of People - Process - Product and through extensive experimentation with benchmark data obtained from the relevant literature they are proven viable and practical alternatives to traditional models. Moreover, they improve accuracy and increase comprehensibility over the risks occurring. Both quantitative and qualitative approaches are adopted. The quantitative approach, improves estimation accuracy, reliability and generalisability by exploring Computational Intelligence techniques, such as Artificial Neural Networks, Evolutionary Algorithms, Fuzzy Logic, and hybrid forms of these techniques. The qualitative approach extends the numerical and empirical Computational Intelligence investigations, by employing Fuzzy Cognitive Maps and Influence Diagrams, which facilitate in understanding the cause-and-effect dependencies of cost factors and effort.