Feature-driven Development - Best Practices

Best Practices

Feature-Driven Development is built around a core set of industry-recognized best practices, derived from software engineering. These practices are all driven from a client-valued feature perspective. It is the combination of these practices and techniques that makes FDD so compelling. The best practices that make up FDD are shortly described below. For each best practice a short description will be given.

  • Domain Object Modeling. Domain Object Modeling consists of exploring and explaining the domain of the problem to be solved. The resulting domain object model provides an overall framework in which to add features.
  • Developing by Feature. Any function that is too complex to be implemented within two weeks is further decomposed into smaller functions until each sub-problem is small enough to be called a feature. This makes it easier to deliver correct functions and to extend or modify the system.
  • Individual Class (Code) Ownership. Individual class ownership means that distinct pieces or grouping of code are assigned to a single owner. The owner is responsible for the consistency, performance, and conceptual integrity of the class.
  • Feature Teams. A feature team is a small, dynamically formed team that develops a small activity. By doing so, multiple minds are always applied to each design decision and also multiple design options are always evaluated before one is chosen.
  • Inspections. Inspections are carried out to ensure good quality design and code, primarily by detection of defects.
  • Configuration Management. Configuration management helps with identifying the source code for all features that have been completed to date and to maintain a history of changes to classes as feature teams enhance them.
  • Regular Builds. Regular builds ensure there is always an up to date system that can be demonstrated to the client and helps highlighting integration errors of source code for the features early.
  • Visibility of progress and results. By frequent, appropriate, and accurate progress reporting at all levels inside and outside the project, based on completed work, managers are helped at steering a project correctly.

Read more about this topic:  Feature-driven Development

Famous quotes containing the word practices:

    Money made through dishonest practices will not last long.
    Chinese proverb.

    Such is the art of writing as Dreiser understands it and practices it—an endless piling up of minutiae, an almost ferocious tracking down of ions, electrons and molecules, an unshakable determination to tell it all. One is amazed by the mole-like diligence of the man, and no less by his exasperating disregard for the ease of his readers.
    —H.L. (Henry Lewis)