While entire books have been devoted to software development scheduling and budgeting, it remains rare to find a software development project completed under budget and on schedule. One reason is that software schedules and budgets are often set by development managers early in a project's life cycle with little or no buy-in from the actual developers. Another reason is that many software development projects begin with pre-set budget or schedule limitations and then try to back-into the eventual end-product. The best single piece of advice we have is to avoid using historical "magic numbers " from other projects when developing your budget or schedule. Accurate software development scheduling and budgeting requires that you understand the project, know the developers, development environments, and other factors that will impact your schedule and budget. These issues are addressed in Chapter 12.