Feature Driven Development
Feature-Driven Development is a form of Agile Methodology used primarily in software development. It is a model-driven method that is both incremental and iterative and it primarily focuses on client-valued functions, or features. The project is built based on required specific features rather than adding them on later. FDD is most effective with larger projects that use complex business logic, whereas small, simple projects cannot properly use the methodology. The FDD process is broken down into five basic steps: Develop the Overall Model, Build Feature List, Plan by Feature, Design by Feature, and Build by Feature. The first step involves starting with a walkthrough of the context and scope of each domain in the entire project in order to create a broad model. The model does not contain any specific attributes or methods involved, but instead focuses on the general shape of each part of the project and culminates in a total picture. It is an iterative and collaborative process that involves the entire team as well as the clients/stakeholders to come up with the model. The second step consists of identifying and listing all of the specific features required to meet the project requirements. It is imperative to use the terminology of the business domain so that the client would be able to understand each feature and reduce the chances of miscommunication. Often times poor communication leads to problems in development, so a common language must be used to clear up any confusion. With FDD, every aspect is described as a feature, which is defined as <action> the <result> by/for/to an <object> (e.g., calculate the total for a sale). Along with this description, features also include a timeline, typically less than two weeks each. The definition of each feature ensures that both clients and project team members are on the same page in terms of requirements and minimizes risk of miscommunication. The third...
Please join StudyMode to read the full document