Poor estimates and the resulting poor project plans cause project failures. Application development organizations' estimates are fairly accurate for small projects, but they often fall short for large or complex projects. Good estimates and plans result when application development organizations follow four best practices: 1) groom estimation experts; 2) base estimates on past results; 3) crosscheck estimates using multiple techniques; and 4) revise estimates as knowledge improves. A few enlightened shops also upgrade requirements definition to decrease uncertainty and further burnish practitioners' skills with training in estimation tools.