This document provides an overview of several software estimation techniques: lines of code estimation, function point estimation, three point estimation, work breakdown structure based estimation, use case based estimation, and estimation in agile projects. It discusses the basics of each technique, including counting lines of code, function points types, the three point estimation formula, how to create a work breakdown structure, and use case point estimation. Examples are provided to illustrate various techniques.