Skip to main content

What is Feature-Driven Development?

Feature-Driven Development comes from the assumption that any software application can be split into smaller units named “Use Cases” or “Features.” As if an application was a “composition of Features that makes sense,” understanding a Feature as “a discrete piece of functionality desired by stakeholders.”

Principles of Feature Driven Development

As the Feature definition is quite vague, we define two properties of a Feature to make it easier to create and identify them:

Feature Independence

When a feature is removed from the application, the resulting application still works and makes sense, even if the user experience is interrupted (imagine e-commerce without a checkout form).

Feature Standalone Value

Suppose a feature is the only thing existing on an application. In that case, it will make sense, even if the user feels some context is missing (Independent create user form or independent dashboard widget).

By ensuring these two principles are met for every feature of an application, we will be able to treat the whole platform as a composition of valuable and independent pieces of software.

Do you want to learn more about Feature-Driven Development?