What Is The Full Form Of FDD?
The full form of FDD is Feature-Driven Development.
FDD is a framework for developing software that uses an agile model to progress, organize, and implement the required features. FDD is a feature-driven approach for development that provides functioning software to any client along with timely updates. FDD identifies errors quickly and updates the projects regularly to deliver tangible results often and efficiently.
FDD is customer-centric. It works by developing features, object models, and scope and then by utilizing it to develop, plan, design, and test the tasks required for all the features.
History Of FDD
- In 1997, Jeff De Luca initially devised FDD to meet the requirements of a 50-person development project of 15 months.
- It led to the formulation of five processes for developing the software along with its features. The successful Singapore project further led to several FDD implementations.
- A book named Java Modeling in Color with UML, in the year 1999 publishes FDD as a description and discussion.
- Published in 2002, the book A Practical Guide to Feature-Driven Development gives a more general description of FDD.
Characteristics Of FDD
- Every lifecycle of FDD works in short iterations. It finishes every work on time and gives a good pace for all projects- be it small or large.
- All the features of FDD are customer-centric. The client inspects and checks every feature before pushing in the main building code.
- FDD works on the frequent release of features in any software. It retains the success of a project and maintains further developments.
- The initial activities in an FDD lifecycle focus on building the features list and domain model. About 70% of efforts go into the commencement of the last two activities.
Lifecycle of FDD
- Build an overall model
- Build a list of features
- Undergo planning
- Design the features
- Build the software by feature
Supporting Roles Of FDD
Here is a collection of roles that FDD defines under its implementation on any project:
- Manager of Domain
- Release Manager
- Language Expert
- Build Engineer
- Tools Manager
- Administrator of System
- Testers for a final touch
- Technical Writers
Benefits Of FDD
- Continuous reporting leads to an easier tracking of progress at all levels.
- All risks get reduced in the entire model because the overall design formulates in smaller segments.
- Easy to test and analyze before release.
- Managing larger projects and multiple teams becomes much more feasible with FDD.
- The five-step development process is simpler to manage.
- Estimation of expenses becomes more accurate with FDD due to the segmentation in features.
- The entire process stays transparent among the developers, managers, deployers, and others in the team.
- Teams can move quickly and implement better strategies due to pre-developed standards.
Limitations Of FDD
- FDD does not go well with the smaller projects and teams. It is more functional for complex assignments.
- The dependency on lead designers, programmers, mentors, and managers is too high and may lead to unequal distribution of responsibilities.
- It lacks written documentation- thus leads to issues and confusion later on.
- The approach is only suitable for highly skilled and experienced project leaders because learning on the go is never an option.