In the ten years between the writing of the first and second editions of this book, a number of interesting new ideas and methods for software development have arisen or increased in usage. All of these have created new challenges for estimating team sizes, schedules, effort, costs, and quality. The most widely known of these new concepts include:
Agile software development methods
Clean room development
Component-based development (CBD)
Crystal development ...