An Overview of The Feature Driven Development – FDD

programming tutorial

Sharing is caring!

Feature driven development (FDD) refers to iterative and incremental software development model, which is client-centric and architecture-centric. On the paper chosen this week, an ontology based feature driven development for semantic applications was proposed, because there is no description of the role of ontology in the development process. The ontology based feature driven development, described by the researchers, developed a form application model development, which features design and implementation.

The paper chosen this week, also claims that transformation rules, directly defines the transition from OWL based domain model to feature list.

The researchers also discussed the advantages of the ontology feature driven development, which promised fresh direction for the software engineering community. Due to knowledge engineering, which semantic web is based upon, software engineers were led to find, throughout the software engineering life cycle, an ontology based application.

External visible modules have higher quality standards, than the internal components of a semantic web, because they are generated from external ontological components. According to the World Wide Web Consortium (W3C) Web Ontology is part of the semantic web language family, which is used for rich and complex knowledge representation of things, relation between things and groups of things.

Component reuse, composition, validation, information and application integration, testing and quality, has become a problem which is related, to current modeling approaches. Therefore; new approaches towards every single aspect of software engineering have to be generated, due to the modeling problems described.

In a FDD based model approach to software development, the overall model shape is established first, than a series of two week, design by feature, develop by feature iterations is followed. Small results are counted as features, which are useful based on what the client wants and thinks.

The Knowledge Engineering community discovers a variety of modeling approaches, in order to develop semantic web, while the Software Engineering community, pay more attention to software modeling; the gap that exist between these communities, is also reduced in the paper, by using ontology in every step of an FDD process.

As a client-centric, architecture-centric and pragmatic software process, the FDD methodology was invented by Jeff De Luca. The FDD methodology was design from the ground up, in order to accommodate larger teams, who have different challenges, when developing a software. Smaller teams, are likely to succeed in software development, regardless of the software development methodology chosen. A large team would not be equally successful, developing a software, if they don’t chose to use the FDD, which makes the software development process, more convenient for teams with large numbers.

As an iterative and incremental process, FDD is a development process that is similar to all agile methodologies, which focuses on delivering a working software. Best practices are mixed, in an FDD environment in order to deliver what is the most important parts of a software to a client. The features of a software that a client values the most, and the functions that they expect to see, are always delivered first, in an FDD environment.

Thank you for reading this article!!!