We use cookies on our website.
Some of them are necessary for the functioning of the site, but you can decide about others.
This guide provides a practical introduction to Feature-Driven Development, including its principles, practices, and benefits. By following this guide, teams can adopt FDD and improve their software development processes.
This guide explores the core principles, lifecycle phases, and practical implementation strategies of FDD, providing a comprehensive framework for software teams looking to scale effectively. What is Feature-Driven Development?
FDD is structured around five main processes, following a "build by feature" approach: 1. Develop an Overall Model
Every credible "Feature Driven Development PDF" structures its content around these five collaborative processes. Here is the practical, condensed version.
The primary reference for Feature-Driven Development (FDD) is the book A Practical Guide to Feature-Driven Development a practical guide to feature driven development pdf
The project manager and Chief Programmers assign features to development waves. This planning phase accounts for feature dependencies, system complexity, and team workload. It also assigns class ownership to specific developers. 4. Design by Feature
Project managers can track completion percentages precisely because features are either "done" or "not done" based on explicit milestones.
Use a tool like Google Docs, LaTeX, or Markdown → PDF. Use landscape orientation for diagrams.
A practical FDD guide outlines five sequential, iterative processes that constitute the lifecycle of a feature. 1. Develop an Overall Model What is Feature-Driven Development
The team, guided by a domain expert, creates a high-level object model of the system. This sets the context for the project and helps everyone understand the business domain. 2. Build a Features List
: Organizing work into small, tangible units.
Project managers use simple, quantitative charts to show clients exactly what percentage of features are designed, coded, and tested. The Five Processes of FDD
FDD is a model-driven, short-iteration process. It begins with a high-level scope and a domain object model, then shifts entirely to . Unlike user stories (e.g., “As a user, I want to log in”), an FDD feature follows a strict syntactic pattern: Here is the practical, condensed version
Using the knowledge gained during the modeling phase, the team identifies the required functionality. This functionality is mapped out into a three-tiered hierarchy:
FDD does not reinvent the wheel; instead, it enforces eight classic software engineering best practices:
FDD thrives on large projects where teams are dispersed, unlike some agile methods that work best for small, co-located teams.