This document covers estimation techniques for software projects. It discusses estimating the size of a project using methods like top-down, bottom-up, analogy, and algorithmic measures like function points. It also discusses estimating the effort required using models like COCOMO that take into account factors like project size, type of application, and team abilities. Key challenges with estimation are noted, like the lack of historical data for many projects and the subjective nature of software development. Accurately estimating remains difficult given variability in projects and changing technologies.