FDD is an agile software development methodology that employs a short iterative process. It consists of 5 steps: develop an overall model, build a features list, plan by feature, design by feature, and build by feature. FDD is designed for large projects and teams, and combines best practices from other agile methods. It focuses on developing features in 2 week increments with mandatory code reviews, and involves customers during modeling and design.