SlideShare a Scribd company logo
Feature-Driven Development
Archene Buena
Niño Rogin Flordeliz
Feature-Driven Development (FDD)
- is a client-centric, architecture-centric,
and pragmatic software process.
- The term "client" in FDD is used to
represent what Agile Modeling (AM) refers to
as project stakeholders or eXtreme
Programming (XP) calls customers.
FDD’s first
• FDD was first introduced to the world in 1999 via
the book Java Modeling In Color with UML, a
combination of the software process followed by
Jeff DeLuca's company and Peter Coad's
concept of features.
• FDD was first applied on a 15 month, 50-person
project for a large Singapore bank in 1997,
which was immediately followed by a second,
18-month long 250-person project.
As the name implies, features are an
important aspect of FDD. A feature is a small,
client-valued function expressed in the form
<action><result><object>. For example, "Calculate
the total of a sale", "Validate the password of a
user", and "Authorize the sales transaction of a
customer".
The History Of Feature Driven
Development
The idea of FDD was created by Jeff Luca in
1997 to meet the software development needs of a
Singapore bank. His solution was a group of five
processes designed to cover the model’s
development and also its listing, design, planning
and the building of its features.
Since its original implication, FDD, and its five
basic activities, have continually been used to develop
enterprise software because it is seen as both agile
and pragmatic.
It takes key advantages of eXtreme
Programming and Scrum and combines them with
model-centric techniques including Domain-Driven
Design by Eric Evan and modelling in colour by Peter
Coad. In addition, it is easily scaled to large teams due
to its concept of just enough design initially (JEDI), as
well as peer reviews and dynamic feature teams.
• Process one – develop an overall model: The FDD
model insists that teams exert the adequate amount of
effort at the start of the project in order to build an
object model highlighting the domain problem.
Modelling with feature driven development is time-
boxed and collaborative. Domain models should be
created in detail by small groups and then presented
for peers to review. It is hoped that a proposed model
– or potentially a combination of them – will then be
used for each area of the domain. They will then be
merged over time to produce an overall model.
• Process two – build a feature list: From the
knowledge that is obtained during the modelling
process, a list of features is established by dividing
domains into subject areas that contain
information on business activities. The steps that
are used for each business activity represent a
categorised list of features. Features are
expressed in the form of: “action, result, object”.
The expectation is that they will not take more
than two weeks to complete: if they do, they
should be broken into smaller sections.
• Process three – plan by features: Once the feature list
has been established, the following process involves
assigning the various feature sets to the programmers.
• Process four – design by feature: Programmers then
produce a design package for each feature with a chief
programmer selecting a group of features that should be
developed within a two-week period. The chief
programmer will also establish detailed diagrams for
each feature while refining the model. When this is
complete, prologues are produced and a design
inspection is carried out.
• Process five – build by feature: Once design
inspections are complete, designers plan an
activity for each feature and develop the code for
their respective classes. When the inspection is
complete and a unit test carried out, the feature
is then pushed to the main build.
Feature driven development: best
practices
At the heart of FDD are a number of best
practises designed for software engineering: all
of which are formed from a client’s perspective.
Some of the best practices that should be
followed by developers include:
• Domain object modelling: Explores and
explains the problem that needs to be sold
and provides a framework from which
features can be added.
• Developing by feature: Functions that cannot be
implemented within two weeks should be divided
into smaller functions: with each sub-problem to
be small enough to be labelled as a feature. This
should make it easier to modify the system and
ensure that the correct functions are offered.
• Individual class ownership: Groups of code
should be assigned to individual owners.
• Feature teams: A dynamic small team that
focuses on individual activities. This ensures that
multiple minds are used on each design decision
so that several options are always explored.
Typically roles will include – a project manager,
chief architect, development manager, domain
expert, class owner and chief programmer.
• Inspections: They should be carried out regularly
to ensure there are no defects.
• Configuration management: Identifies source
code for all features and maintains a history of
the changes that are made so that the feature
teams can enhance them.
• Regular builds: Ensures that the system is
always up to date.
• Visibility of progress: Progress reporting should
be carried out on a regular basis to ensure that
managers can steer the project in the right
direction.
Feature driven development (FDD)

More Related Content

What's hot

Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
Mohit Kumar
 
Agile modeling
Agile modelingAgile modeling
Agile modeling
Amir Moghimi
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
Rajeev Misra
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Omar Al-Sabek
 
Agile software development
Agile software developmentAgile software development
Agile software development
Rajesh Piryani
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
Damian T. Gordon
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
Purvik Rana
 
Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
Srikanth Shreenivas
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
Chuu Htet Naing
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
Life Cycle Engineering
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
Bilal Shah
 
Iterative model
Iterative modelIterative model
Iterative model
Vaibhav Dash
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
Nishu Rastogi
 
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
pd7.group
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
Reetesh Gupta
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Balaji Sathram
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
Nguyen Hai
 
Agile software development
Agile software developmentAgile software development
Agile software development
Muhammad Amjad Rana
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
Simran Kaur
 

What's hot (20)

Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Agile Methodology PPT
Agile Methodology PPTAgile Methodology PPT
Agile Methodology PPT
 
Agile modeling
Agile modelingAgile modeling
Agile modeling
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Iterative model
Iterative modelIterative model
Iterative model
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 

Similar to Feature driven development (FDD)

Lect9
Lect9Lect9
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
Damian T. Gordon
 
Software Project management
Software Project managementSoftware Project management
Software Project management
sameer farooq
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
Delowar hossain
 
software project management chapter 1and 2 cse btech
software project management chapter 1and 2  cse  btechsoftware project management chapter 1and 2  cse  btech
software project management chapter 1and 2 cse btech
shagunkumar24
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
bizpresenter
 
Agile software development
Agile software development Agile software development
Agile software development
saurabh goel
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
RedHeart11
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
Durga Prasad
 
Feature-Driven Development: A Success Software Development Delivery
Feature-Driven Development: A Success Software Development DeliveryFeature-Driven Development: A Success Software Development Delivery
Feature-Driven Development: A Success Software Development Delivery
Polyxer Systems
 
SE Lecture 3.ppt
SE Lecture 3.pptSE Lecture 3.ppt
SE Lecture 3.ppt
ssusere16bd9
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptx
Devnath13
 
Custom mobile application development
Custom mobile application developmentCustom mobile application development
Custom mobile application development
Keven Thibeault
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
yedej15330
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
Gears agile
Gears agileGears agile
Gears agile
ajit.alwe
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
ShudipPal
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
Muhammad Shoaib
 

Similar to Feature driven development (FDD) (20)

Lect9
Lect9Lect9
Lect9
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
 
software project management chapter 1and 2 cse btech
software project management chapter 1and 2  cse  btechsoftware project management chapter 1and 2  cse  btech
software project management chapter 1and 2 cse btech
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Agile software development
Agile software development Agile software development
Agile software development
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
 
Feature-Driven Development: A Success Software Development Delivery
Feature-Driven Development: A Success Software Development DeliveryFeature-Driven Development: A Success Software Development Delivery
Feature-Driven Development: A Success Software Development Delivery
 
SE Lecture 3.ppt
SE Lecture 3.pptSE Lecture 3.ppt
SE Lecture 3.ppt
 
unit-1.ppt
unit-1.pptunit-1.ppt
unit-1.ppt
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptx
 
Custom mobile application development
Custom mobile application developmentCustom mobile application development
Custom mobile application development
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Gears agile
Gears agileGears agile
Gears agile
 
Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)Software Engineering (An Agile View of Process)
Software Engineering (An Agile View of Process)
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 

Recently uploaded

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
Nguyen Thanh Tu Collection
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
Steve Thomason
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
EduSkills OECD
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
GeoBlogs
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
Excellence Foundation for South Sudan
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
Col Mukteshwar Prasad
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
rosedainty
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 

Recently uploaded (20)

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
How to Break the cycle of negative Thoughts
How to Break the cycle of negative ThoughtsHow to Break the cycle of negative Thoughts
How to Break the cycle of negative Thoughts
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)Template Jadual Bertugas Kelas (Boleh Edit)
Template Jadual Bertugas Kelas (Boleh Edit)
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 

Feature driven development (FDD)

  • 2. Feature-Driven Development (FDD) - is a client-centric, architecture-centric, and pragmatic software process. - The term "client" in FDD is used to represent what Agile Modeling (AM) refers to as project stakeholders or eXtreme Programming (XP) calls customers.
  • 3. FDD’s first • FDD was first introduced to the world in 1999 via the book Java Modeling In Color with UML, a combination of the software process followed by Jeff DeLuca's company and Peter Coad's concept of features. • FDD was first applied on a 15 month, 50-person project for a large Singapore bank in 1997, which was immediately followed by a second, 18-month long 250-person project.
  • 4. As the name implies, features are an important aspect of FDD. A feature is a small, client-valued function expressed in the form <action><result><object>. For example, "Calculate the total of a sale", "Validate the password of a user", and "Authorize the sales transaction of a customer".
  • 5.
  • 6. The History Of Feature Driven Development The idea of FDD was created by Jeff Luca in 1997 to meet the software development needs of a Singapore bank. His solution was a group of five processes designed to cover the model’s development and also its listing, design, planning and the building of its features.
  • 7. Since its original implication, FDD, and its five basic activities, have continually been used to develop enterprise software because it is seen as both agile and pragmatic. It takes key advantages of eXtreme Programming and Scrum and combines them with model-centric techniques including Domain-Driven Design by Eric Evan and modelling in colour by Peter Coad. In addition, it is easily scaled to large teams due to its concept of just enough design initially (JEDI), as well as peer reviews and dynamic feature teams.
  • 8. • Process one – develop an overall model: The FDD model insists that teams exert the adequate amount of effort at the start of the project in order to build an object model highlighting the domain problem. Modelling with feature driven development is time- boxed and collaborative. Domain models should be created in detail by small groups and then presented for peers to review. It is hoped that a proposed model – or potentially a combination of them – will then be used for each area of the domain. They will then be merged over time to produce an overall model.
  • 9. • Process two – build a feature list: From the knowledge that is obtained during the modelling process, a list of features is established by dividing domains into subject areas that contain information on business activities. The steps that are used for each business activity represent a categorised list of features. Features are expressed in the form of: “action, result, object”. The expectation is that they will not take more than two weeks to complete: if they do, they should be broken into smaller sections.
  • 10. • Process three – plan by features: Once the feature list has been established, the following process involves assigning the various feature sets to the programmers. • Process four – design by feature: Programmers then produce a design package for each feature with a chief programmer selecting a group of features that should be developed within a two-week period. The chief programmer will also establish detailed diagrams for each feature while refining the model. When this is complete, prologues are produced and a design inspection is carried out.
  • 11. • Process five – build by feature: Once design inspections are complete, designers plan an activity for each feature and develop the code for their respective classes. When the inspection is complete and a unit test carried out, the feature is then pushed to the main build.
  • 12. Feature driven development: best practices At the heart of FDD are a number of best practises designed for software engineering: all of which are formed from a client’s perspective. Some of the best practices that should be followed by developers include: • Domain object modelling: Explores and explains the problem that needs to be sold and provides a framework from which features can be added.
  • 13. • Developing by feature: Functions that cannot be implemented within two weeks should be divided into smaller functions: with each sub-problem to be small enough to be labelled as a feature. This should make it easier to modify the system and ensure that the correct functions are offered. • Individual class ownership: Groups of code should be assigned to individual owners.
  • 14. • Feature teams: A dynamic small team that focuses on individual activities. This ensures that multiple minds are used on each design decision so that several options are always explored. Typically roles will include – a project manager, chief architect, development manager, domain expert, class owner and chief programmer. • Inspections: They should be carried out regularly to ensure there are no defects.
  • 15. • Configuration management: Identifies source code for all features and maintains a history of the changes that are made so that the feature teams can enhance them. • Regular builds: Ensures that the system is always up to date. • Visibility of progress: Progress reporting should be carried out on a regular basis to ensure that managers can steer the project in the right direction.