The Agile methodology for developing all the software. Feature-driven development will be customer-centric, iterative and incremental, with a goal of delivering tangible software results often and efficiently. Here FDD in Agile enhances status reporting at all levels that help to track the progress. FDD will allow teams to update the project regularly and identify the errors FDD can be a favourite method among development teams because it assists to reduce two known morale – killers in the development world.
How does FDD work?
It is used in large-scale development projects there are five activities that will exist like
- To develop an overall model
- Build feature list
- It has planned by feature
- It has design by feature
- It is built by features.
The stages of FDD are
Stage 0: Gather Data
With all the agile methodologies, the first step of FDD will be to gain an accurate understanding of the content and context of the project and to develop a clear understanding of the target audience and also their needs. The teams will aim to learn everything the why, what and for whom about the project they’re about to begin. Data gathering can be thought of as stage 0, but one that cannot be skipped when comparing product development with writing a research paper. This will be the first named stage as FDD.
Develop an overall model
Continuing the research paper metaphor, this stage is when the outline will be drafted by using the thesis as a guide, the team will develop detailed domain models which will then be merged into an overall model that acts as a rough outline of the system.
Build a features list
When we use the information that is assembled in the first level it creates a list of required features. Here is a feature client valued output. Here by making the list of features and keep in mind that these features will have purposes or may be smaller goals as per the tasks.
Plan by feature
By entering the tasks analyze the complexity of each feature and also plan tasks that are related for team members to accomplish. By planning the stage, all members of the team will plan to take part in an evaluation of the features with all the perspectives of each development stage in mind. Here the use of assessment of complexity to determine the order in which each feature will be implemented and also the team members that will be assigned to each feature set.
This stage will identify class owners and individual developers who are assigned to classes. As in every class of developing features that belong to a specific developer, someone will be responsible for the conceptual principles of that class and should have changes that will be required for many classes then collaboration will be necessary between the owners of each to implement them.
Design by feature
Here a chief programmer will determine the features that will be designed and built. Here she or he can determine the class owners and feature teams involved when defining the feature priorities. The main part of the group might work on technical design while others work on the framework. The design review is completed by the whole team before moving forward.
Build by feature
This step will be there to implement all the necessary items that will support the design. Here user interfaces are built, as are components detailed in the technical design and a feature prototype will be created.
Advantages of FDD
- It gives the team a very good understanding of the project’s scope and context.
- It always requires fewer meetings. One of the most frequent complaints about agile is that there are too many meetings. Scrum uses daily meetings to communicate. FDD will use the documentation to communicate.
- By user-centric approach. With scrum, the product manager is usually considered the end-user. By FDD the client is the end-user.
Questions
- What is FDD? Explain?
- Why is FDD used?