We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Software

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What is Feature Driven Development?

By Troy Holmes
Updated: May 16, 2024

All software development requires project management and system-development-life-cycle (SDLC) management. These are the techniques and processes that are used to effectively manage the development process of a software application. Feature driven development is a technique that is based on quick development cycles. It provides the business with functionality faster then typical standard SLDC techniques.

In today’s competitive marketplace, it is important for organizations to react quickly to changing trends and market climates. Information technology has attempted to evolve software development into a more agile process that can anticipate the competitive needs of an organization. Feature driven development is a software development technique that attempts to implement application features in an iterative manner based on the priorities of a business.

Feature driven development is considered an iterative development process. This is because code is developed and deployed in iterations of functionality rather then as a full application. It was created by Jeff De Luca in 1997 as fast technique for delivering software applications. This agile process attempts to deliver prioritized features to a customer more quickly.

The feature driven development process is based on models and short development cycles. This is similar to the development techniques used in Extreme Programming (XP). Each project is broken into small features that can be coded, tested, and deployed in less than two weeks. This two-week cycle provides the business with a feature-rich system faster because it is continually evolving.

There are four primary areas of feature driven development. These are the domain model, feature list, plan by feature, and finally build and deploy by feature. These four areas have specific requirements and techniques that make them successful.

The domain model is a high-level overview and design of the entire application. It is the skeleton blueprint of what will be built during the iteration process. This is the first step of the feature driven process and is meant to give the development team a road map of the entire application.

Once the domain model is complete, a list of features needs to be created. The feature list will include all of the required functionality of the application. Each feature needs to be designed in specific detail to making it work. An example of a feature for a bank application could be “calculate the total available bank balance.”

Prioritization is the next step in featured driven development. After the entire feature list is created it should be prioritized by the business users. This prioritization should be based on the importance of functionality for the organization.

The final phase of feature driven development is based on building and deploying features based on the prioritized feature list. Each feature will be coded, tested, and deployed in two-week increments. This fast iterative approach gives the business an opportunity to use the application before it is completely finished.

EasyTechJunkie is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
Discussion Comments
Share
https://www.easytechjunkie.com/what-is-feature-driven-development.htm
EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.

EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.