Example Scenario where FDD is more effective than Scrum

Example Scenario where FDD is more effective than Scrum

FDD and Scrum are two examples of agile development methodologies. Agile development tries to avoid the main weakness of "waterfall" by doing iterative development.

Scrum is an iterative, incremental framework for project management often seen in agile software development, a type of software engineering.

Feature Driven Development, FDD is an agile software development methodology by Jeff De Luca and Peter Coad. It has more formal requirements and steps than Scrum from a development perspective.

Scenario : Software development

FDD can be a good option for software development teams looking for a structured, focused Agile methodology that can be scaled across the product organization and will deliver clear outcomes.

FDD allows teams to update the project regularly and identify errors quickly. Plus, clients can be provided with information and substantial results at any time. FDD is a favorite method among development teams because it helps reduce two known morale-killers in the development world: Confusion and rework.

FDD consists of five high level activities:
  • Develop an overall domain mode
  • FDD advocates light modelling up front to understand the shape and scope of the application.

Build a list of features

Team builds a feature list. Each feature represents 1-10 days worth of effort.
A feature is a small piece of client-valued function expressed in the form: <action> <result> <object> i.e. Calculate the total of a sale Plan by feature

Features are then assigned to iterative release cycles.

Developers are also assigned to own particular classes identified in the domain model by a chief programmer.

Design By Feature (DBF)

Feature teams are assigned to a set of features and proceed to the design in detail i.e. sequence diagrams

Build By Feature (BBF)

Those teams then carry out the code development and testing of those features.

When chief programmer is satisfied then completed features are promoted to the main build.

FDD utilizes chief programmer, inspections, and class ownership. The chief programmers function as team leaders, mentors, and reviewers. While the term chief programmer may suggest micro-management and control, FDD teams stress the collaboration and knowledge sharing roles.

Post a Comment

Previous Post Next Post