COCOMO is a widely used software cost estimation model developed by Barry Boehm. It estimates the effort required to develop a project based on parameters like lines of code and cost drivers. There are three COCOMO models - basic, intermediate, and detailed. The basic model uses lines of code as the input, while intermediate model uses lines of code and cost drivers. Development mode is an important factor that affects project duration and cost. Function point analysis is another technique that estimates project size based on functionality instead of lines of code. It involves calculating unadjusted function points based on inputs, outputs, inquiries and files.