Before coding begins, the team builds a high-level shape of the system. This provides the context that prevents "spaghetti" architecture.
After a successful design review, the implementation begins.
Your feature list is waiting. Go build.
+--------------------------------------------------------+ | 1. Develop an Overall Model | +--------------------------------------------------------+ | v +--------------------------------------------------------+ | 2. Build a Features List | +--------------------------------------------------------+ | v +--------------------------------------------------------+ | 3. Plan by Feature | +--------------------------------------------------------+ | v +----------------------------------------+ | Iterative Loop (2 Weeks) | | +----------------------------------+ | | | 4. Design by Feature | | | +----------------------------------+ | | | | | v | | +----------------------------------+ | | | 5. Build by Feature | | | +----------------------------------+ | +----------------------------------------+ 1. Develop an Overall Model a practical guide to feature driven development pdf
Leads the development of the overall model. Development Manager: Manages the day-to-day operations.
The overall model is used to break down the system into smaller functionalities. These are categorized into , Business Activities , and finally, Features . In FDD, a "feature" is a small, client-valued function that can be implemented in two weeks or less (e.g., "Calculate the total of a sale"). 3. Plan by Feature
Use a tool like Google Docs, LaTeX, or Markdown → PDF. Use landscape orientation for diagrams. Before coding begins, the team builds a high-level
Spend the first week of the project hosting intensive workshops with Domain Experts to draw out high-level object models.
While I cannot host files directly due to copyright, the original is legally available via:
If you only hire one role from this list, hire the Chief Programmer . FDD lives or dies on the technical authority of this person. Your feature list is waiting
One of FDD's greatest strengths is its objective tracking mechanism. Because features are tiny, progress is binary and free from subjective estimates like "90% done."
Because features are small, it is easy to track exactly what percentage of a project is "Done." FDD vs. Scrum: Which is Right for You? Primary Unit Sprints (Time) Features (Functionality) Team Structure Self-organizing/Cross-functional Class Owners/Feature Teams Documentation Model-centric Best For Small to mid-sized teams Large, complex enterprise projects Conclusion
Design Sequence: