Foremost in any estimate is the caveat Accurate Software Development Estimates are Impossible.
Although accurate estimates are impossible, rough estimates are critical.
The intent here is to build up a collection of strategies to help create good enough rough estimates.