Top 9 facts to know about Feature Driven Development

What is Feature Driven Development?

Technically, FDD is said to be:

  1. Client-centric
  2. Architecture-oriented
  3. Iterative
  4. Incremental
  5. Pragmatic

Here, the software development process amalgamated with agile methodology.

In FDD the project is divided into features. As per an essay on FDD and agile modeling, features are small, client-valued function in the form of <action><result><object>. For instance, “Calculate the total of a sale,” “Validate the password of a user,” “Authorize the sales transaction of a customer.”

FDD is desirable for:

  1. Organizations who are trying to passage to iterative approach from a phase-based approach.
  2. Another factor that organizations are worried about is post-transition. Even after trying to switch, the thought of getting rid of all tasks and assignments are something they are not comfortable.

Features of using FDD:

  1. Cross-functional
  2. Collaborative
  3. It builds an object model of the domain problem.
  4. Focus on Domain Modeling.
  5. Scaling

Aren’t you curious to know more about Feature Driven Development and how it is beneficial to your company?

Let’s dive in details.

1.  The five main activities in FDD

The 5 main activities in FDD are listed below:

  • Develop an overall model
  • Build a Features List
  • Plan by Feature
  • Design by feature
  • Build by feature

I) Develop a global Model: Firtsly, you need to build the whole model for domainA whole model of the domain . The reason is to define the scope of the system and provide a common understanding of the system.
II) Build a features list: Once the overall model is built as mentioned in the earlier phase, in this step features have to be constructed. You can do it by the information collected in the previous period. These features should be valuable to the client and these would be guiding the project.
III) The plan by Feature: This step includes a development plan where one can find the order of the sets. Here it will be planned which chief programmers are responsible for which feature sets and which class owners are responsible for each class.
IV) Design by Feature and Build by Feature: Here, there is a launch of series of operations. They include tasks such as detailed modeling, programming, testing, and packaging of the system.
V) Repeat step 4 until no features exist.

2.  Short Iteration Process

In the first step itslef, we build an overall model of the domain. The features are then made through various “design by feature, build by feature” iterations. These iterations result in such elements which are useful from the clients perspective of development.

3.  An Agile Methodology

With businesses hurrying for results within the stipulated time, you have to meet the 2 week limit for FDD. You need to build all the features within 12 days. But if wasn’t the case, then these features will be later on divided into an equal volume of features unless you meet the 2-week rule condition.

To know more in detail about how to implement the agile methodology in app development, you should Hire Dedicated Developers from eSparkBiz. He/She will be able to guide you regarding this subject.

4.  Ownership of Class

  1. Class ownership is one of the most noticeable features of FDD.
  2. You need to build each class with a set of features which the developer knows.
  3. The reason behind this is whatever it takes while implementing the features into a class is solely the responsibility of the developer.
  4. Due to this, the role-based tasks retain their reliability and authenticity which in turn enhances the processes.

Read also: How Can AR/VR Help You In Increasing The B2B Sales?

5.  Methodologies at it’s best

  1. The methods like Scrum and Extreme programming are methods in Agile format.
  2. FDD comprises both XP and Scrum.
  3. Since the features of FDD achieves fast results, useful resources are brought under the same roof.
  4. FDD approach follows UML color standards as it makes the process trackable and comprehensible.

6.  Results obtained are tangible

Since FDD has an incremental feature, the main focus is on developing features one by one. The advantage of this is the achievement of actual results in a short span. It, in turn, leads in confident proceedings with their plans with quality results.

7.  Feature Teams

FDD has a concept of feature teams who have their tasks and responsibilities. Design decisions can be contributed freely as per the requirements.

8.  Scaled to large projects

Feature Driven Development allows adding different modules and components in the project while development of the same thus providing flexibility. Another factor that hasn’t to be mind is about the consistency of the part separately.

9.  An Inclusive Methodology

  1. If offerings are considered, FDD is comprehensive in its scope and range.
  2. Thus FDD becomes your companion as per different project needs.
  3. Some of the qualities of FDD are relevancy, comprehensive reporting to keep all in the loop, and so on.
  4. whole enables alignment and iteration of functions. Resources for the tasks are assigned for gaining maximum value and fast response for achieving optimum results.

What are the applications of FDD?

  • Systems where businesses change rapidly during long projects.
  • For web design and web development projects
  • To build and design software.
  • For an enterprise that uses application life-cycle management solutions.

Advantages of FDD

  • With a shorter ramp-up time, the staff can be recruited if the five stages are practiced of FDD.
  • You can reduce the risk due to iteration, and small chunks build up.
  • While developing an entire model, two factors are kept in mind- clarification of the requirements for future phases and a better understanding of the entire system.
  • Accuracy is another factor that one can obtain by costing the feature leads.
  • It allows team working in parallel.
  • Well defined tracking and reporting capabilities.

Comparison of FDD with other Agile methodologies:

Points of Differentiation XP FDD
Project Size 3-12 2-250
Units of Planning User Story Feature
Code Ownership Collective Individual
Domain Modeling Shared Metaphor Color Modeling
Collaborative Construction Pair Programming Formal Inspection
Development Testing Unit Testing/Test Driven Development Unit Testing
Integration Testing Automated Acceptance Testing Manual Testing
Builds Continuous Integration Daily Builds
Points of Differentiation Scrum FDD
Approach Iterative Increments Iterative
Time Period for Iteration 2-4 weeks 2 days- 2 weeks
Team Size All Sizes Many members and more than one team
Suitable Project Size All types of projects More complex projects.
User Involvement Involvement through the product owner. Involvement through reports.
Documentation Only basic documentation Documentation is important
Major Practices Sprint, Product and sprint backlog, scrum meetings. UML Diagrams

Drawbacks of FDD

  1. It is not powerful in the case of smaller projects.
  2. There is more reliance on the chief programmer as he has multiple roles like a coordinator, mentor and lead designer.
  3. No written documentation.
  4. Individual code ownership is promoted rather than team ownership.
  5. No well-defined iterations as others have.
  6. While working on the old systems where there is no system model, the model-centric aspect has a considerable impact.

To Wrap!

The entire idea of Feature Driven App Development surrounds along the lines of Agile methodology where different teams are for different models. From now you will see, Custom App Development company adopting this practice and also getting rewards for that. Practices of Agile methodologies form the base of applications of FDD. That’s all from my side. If you want to share your ideas do comment in the box below.


Disclaimer: We at eSparkBiz Technologies have created this blog with all the consideration and utmost care. We always strive for excellence in each of our blog posts and for that purpose, we ensure that all the information written in the blog is complete, correct, comprehensible, accurate and up-to-date. However, we can’t always guarantee that the information written in the blog correct, accurate or up-to-date. Therefore, we always advise our valuable readers not to take any kind of decisions based on the information as well as the views shared by our authors. The readers should always conduct an in-depth research before making the final decision. In addition to these, all the logos, 3rd part trademarks and screenshots of websites & mobile apps are the property of the individual owners. We’re not associated with any of them.

Harikrishna kundariya

Harikrishna kundariya

Harikrishna Kundariya, a marketer, developer, IoT, ChatBot & Blockchain savvy, designer, co-founder, Director of eSparkBiz @IoT App Development Company. His 8+ experience enables him to provide digital solutions to new start-ups based on IoT and ChatBot. A ChatBot Development Company, eSparkbiz has reached to greater heights with his immense contribution.

Related Post

Mobile App Development Tips & Tricks That Makes You A World-Class Developer

Mobile App Development Tips & Tricks That Makes You A World-Class Developer

Choosing a career path is one of the boldest moves that a person has to take in his life. It’s about throwing all your cards…

Everything You Need to Know About Android Q

Everything You Need to Know About Android Q

Android has become the largest platform that mobile phones use. The first version of Android was known as Cupcake, and since then, every new version…

How Can You Make Fintech Application Development Process Safe & Secure?

How Can You Make Fintech Application Development Process Safe & Secure?

Currently, the new-age financial services technology i.e Fintech Application Development is upsetting the conventional bank systems, investment firm schemes, and throwing over the traditional insurance…

get in touch image

Growth Is Just One Click Away

Don’t feel like calling? Just share some project details & our company representative will get in touch. Schedule A Meeting with our Director of New Business

How long would you like the meeting to be?
Get In Touch