SlideShare a Scribd company logo
1 of 30
Download to read offline
Feature Driven Development 
Presented by 
Gayal G.S. MS14904356 
Ruhaim Izmeth MS14901218 
I.D.I.P.KUMARA MS13904142
Agenda 
•Background 
•Roles in FDD 
•FDD Practices 
•FDD Processes 
•Project Reporting 
•Advantages and Disadvantages 
•Conclusion & Summery 
•Q/A
Introduction 
Feature Driven Development (FDD) is one of the Agile 
Software Development Methodologies. 
Came into view in last 15 years as an alternative to traditional 
Waterfall development.
Birth of FDD 
Jeff De Luca 
Peter Coad 
Introduced in 1997 
Published in a book 
in 1999, 
by 
Peter Coad
Why do we have to use FDD ? 
1. Communication 
Consider developers as nodes in a communication network, all potentially linked to each other by 
communication channels. The number of potential communication channels increase dramatically as 
more number of developers are added 
2. Complexity 
FDD decomposes the entire problem domain into tiny problems, which can be solved in a small 
period of time, usually 2 weeks decomposed problems independent to each other reduces the 
need of communication. 
FDD splits the project into iterations so that the distance in time between analysis and test is 
reduced early discovery of errors reduces the cost of fixing the errors. 
3. Quality 
Different persons have different perception of software quality 
This makes necessary to view quality as a spectrum, with internal quality at one end and external 
quality at other end.
Roles in FDD 
Key Roles 
1. Project Manager (PM) 
2. Chief Architect (CA) 
3. Development Manager (DM) 
4. Chief Programmers 
5. Class Owners 
6. Domain Experts 
Supporting Roles 
1. Release Manager 
2. Language Guru 
3. Build Engineer 
4. Toolsmith 
5. System Administrator 
Additional Roles 
1. Testers 
2. Deployers 
3. Technical Writer
FDD - Practices 
Domain Object Modeling 
The Problem is broken down into the significant objects involved. 
The design and implementation of each object or 
class identified in the model is a smaller problem to solve. 
Completed classes are combined, 
Form the solution to the larger problem 
Best technique for domain object modeling is, 
M o d e l i n g I n C o l o r
FDD - Practices 
UML in Color 
All classes are divided into different categories with its own color code. 
a role being played. 
by a person or an organization, example: a user of an online auction may play different roles as a 
buyer or seller. 
a catalogue like description. 
example: a description of smart phones that sells in auction. 
a party, place or thing. 
example: the smart phones in stock would be modeled as green. This class usually has some 
identifying attributes such as serial no, persons name, etc. 
a moment in time or time associated with some business process. 
example: the fact of purchase may be shown a pink class, since it has a time of sale which is 
tracked by the online store,
FDD - Practices 
UML in Color 
All classes are divided into different categories with its own color code. 
a role being played. 
a catalogue like description. 
a party, place or thing. 
a moment in time or 
time associated with 
some business process.
FDD - Practices 
What is a Feature ? 
A feature is a small, client valued function that can be implemented in two weeks 
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. 
Major Feature Feature set Feature
FDD - Practices 
Developing by Feature 
The feature naming template 
<action> the <result> <by | for | of | to><a(n)><object> 
Example of features: 
Calculate <action> the total <result> of a sale <object> 
Calculate the total of a sale
FDD - Practices 
Class (code) Ownership 
In a development process, class (code) ownership is indicates who is 
ultimately responsible for the content of a class (piece of code). 
Feature Team 
Implementation of a feature may involve more than one class and more than 
one class owner
Processes 
FDD consist five processes 
Process
Processes 
Entry Criteria 
Domain experts, Chief Programmers and the Chief 
Architect have been selected. 
Exit Criteria 
● Class diagrams focusing on model shape. That 
is, what classes are in the domain, how are they 
connected to one another and under what 
constraints. 
● Methods and attributes identified are placed in 
the classes. 
● Sequence Diagram(s), if any. 
● Model notes to capture why a particular model 
shape was chosen and/or what alternatives were 
considered
Processes 
● A team consist of Chief Programmers from process 1 
are formed to decompose the domain functionality. 
● The team breaks the domain into a number of areas 
(major feature Sets), based on the partitioning of the 
domain by the Domain Experts in process 1 
● Each area is further broken into a number of 
activities (feature sets). 
● Each step within an activity is identified as a feature. 
Exit Criteria 
● A list of subject areas 
● For each subject area, a list of the 
business activities within that subject 
area 
● For each business activity step, the 
feature to satisfy the step
Processes 
The project Manager, Development Manager, and Chief Programmers plan the order that the features are to 
be implemented, based on feature dependencies, load across the development team, and the complexity of 
the features to be implemented. 
Exit Criteria 
● Business activities with 
completion dates (month and 
year) 
● Chief programmers assigned 
to business activities 
● Subject areas with 
completion dates (month and 
year) derived from the last 
completion date of their 
respective business activities 
● The list of classes and the 
developers that own them 
(the class owner list)
Processes 
Feature Team 
Exit Criteria 
● A covering memo, or paper, that integrates 
and describes the design package such that 
it stands on its own for reviewers. 
● The referenced requirements (if any) in the 
form of documents and all related 
confirmation memos and supporting 
documentation. 
● The Sequence diagram(s). 
● Design alternatives (if any) 
● The object model with new/updated classes, 
methods and attributes.
Processes 
Class owners implement the items necessary for their class 
to support the design for the feature(s) in the work package, 
based on the design package produced during the Design 
by Feature process. 
The developed code which is determined by the Chief 
Programmer is tested and inspected. 
After a successful code inspection, the code is permitted to 
build. 
Exit Criteria 
● Class(es) and/or method(s) that have been 
successfully code inspected. 
● Class(es) that have been promoted to the build. 
● The completion of a client-valued function (feature)
Processes 
Guidelines for time spent in each process 
Process
Progress 
Reporting to Chief programmers and Project Manager 
Major Feature Set – “Workshop Management Area” 
Feature Set No of features No of 
Not started 
No of 
In progress 
No of 
Completed 
% 
completed
Progress 
Reporting to Chief programmers and Project Manager 
Every week, the rate of progress is shown by plotting a graph for the number of features completed each 
week
Progress 
Reporting to Sponsors and Upper Management 
Progress of the feature set “Scheduling a Service” 
Scheduling a 
Service 
(19) 
27% 
DEC 2012 
Work in progress 
Attention (behind Schedule) 
Completed 
Not yet started 
Completion Percentage 
Progress bar 
Completion Status 
Completed 
MY Targeted completion month 
Feature Set Name 
No of Features in the 
Features Set 
Feature set name 
- Scheduling a service 
Features are consist – 19 
Currently complete – 27% 
Due date – Dec 2012
Progress 
Reporting to Sponsors and Upper Management 
Progress of the feature sets 
Scheduling 
a Service 
(19) 
27.7% 
DEC 2012 
Performing 
a Service 
(15) 
30.1% 
DEC 2012 
Billing a 
Service 
(6) 
16.6% 
DEC 2012 
Booking in 
a Repair 
(13) 
75% 
DEC 2012 
Feature Set No of features No of 
Not started 
No of 
In progress 
No of 
Completed 
% completed
Progress 
Reporting to Sponsors and Upper Management 
Major feature set
Major Usage of FDD 
FDD can be implemented with 
Up to 500 developers 
More critical projects 
Bigger projects 
More novice developers 
Environments that demand Waterfall
Advantages and Disadvantages of FDD 
Advantages 
Supports multiple teams working in parallel 
All aspects of a project tracked by a feature 
Design by feature and build by a feature aspects are easy to understand and adopt 
Scales to large teams or projects well 
Better in teams where developers’ experiences varies 
Offers well defined progress tracking and reporting capabilities
Advantages and Disadvantages of FDD 
Disadvantages 
Promotes individual code ownership as opposed to shared/team ownership 
Iterations are not well defined by the process as other agile methodologies 
The model-centric aspects can have huge impacts when working on existing 
systems that have no models.
Summary and Conclusion 
FDD is a process that begins with high level planning to define the scope of the project, 
which then moves into incremental delivery. 
FDD defines the overall scope of the project at the beginning, but does not define 
the details. 
FDD tries to combine good planning with the continuous improvement through 
iteration. 
There are five phases in an FDD process; the first three phases are planning phases 
and the last two phases are iterative phases 
Main Advantages: Easy to understand the feature based process, Scalability 
Main Disadvantages: Promotes individualism, Undefined iterations, Potential Model- 
Centric failures
References & Links 
Weinberg, G. Quality Software Management vols. NJ:Prentice Hall PTR, 2002. 
Coad, Peter, et al. Java modeling in Color with UML.Upper Saddle River, NJ:Prentice Hall PTR, 1999. 
Stephen R. Palmer, 2002. A Practical Guide to Feature-Driven Development. 1 Edition. Prentice Hall. 
Sadhna Goyal. “Agile Techniques for Project Management and Software Engineering”, Major Seminar on 
Feature Driven Development, Technical University-Munich, 2007-2008. 
Internet links, 
http://www.nebulon.com 
http://www.petercoad.com 
http://www.featuredrivendevelopment.com 
http://www.featuredrivendevelopment.com/certification/list 
http://en.wikipedia.org/wiki/Feature_Driven_Development
Q & A

More Related Content

What's hot

Agile Process models
Agile Process modelsAgile Process models
Agile Process modelsStudent
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life CycleUTKARSHSRIVASTAVA235
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Al-Mamun Sarkar
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
Agile software development methodology
Agile software development methodologyAgile software development methodology
Agile software development methodologyjustinleague0819
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Mohamed Sami El-Tahawy
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software DevelopmentLife Cycle Engineering
 
Incremental model
Incremental modelIncremental model
Incremental modelHpibmx
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Angelin R
 
SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING Abhinav Shukla
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall modelREHMAT ULLAH
 

What's hot (20)

Agile Process models
Agile Process modelsAgile Process models
Agile Process models
 
Software developement life cycle ppt
Software developement life cycle pptSoftware developement life cycle ppt
Software developement life cycle ppt
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Sdlc
SdlcSdlc
Sdlc
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life Cycle
 
Software process
Software processSoftware process
Software process
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Agile software development methodology
Agile software development methodologyAgile software development methodology
Agile software development methodology
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING
 
Sdlc
SdlcSdlc
Sdlc
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
 
Rad model
Rad modelRad model
Rad model
 

Similar to FDD Presentation

"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development MethodologiesDamian T. Gordon
 
Testing material (1).docx
Testing material (1).docxTesting material (1).docx
Testing material (1).docxKVamshiKrishna5
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptKENNEDYDONATO1
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashedlivgeni
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsGabor Guta
 
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSanthanalakshmiSelva2
 
Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKunit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKAvijitChaudhuri3
 
1 2. project management
1 2. project management1 2. project management
1 2. project managementakashsaini8
 
Amrutha_Resume[1_2]
Amrutha_Resume[1_2]Amrutha_Resume[1_2]
Amrutha_Resume[1_2]Amrutha T
 
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 developmentbizpresenter
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptxMohamedElshaikh10
 

Similar to FDD Presentation (20)

"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
 
Testing material (1).docx
Testing material (1).docxTesting material (1).docx
Testing material (1).docx
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.ppt
 
Different Proposed Models to Mapping MDA to RUP
Different Proposed Models to Mapping MDA to RUPDifferent Proposed Models to Mapping MDA to RUP
Different Proposed Models to Mapping MDA to RUP
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 
SDET UNIT 1.pptx
SDET UNIT 1.pptxSDET UNIT 1.pptx
SDET UNIT 1.pptx
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptxSOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
SOFTWARE DEVELOPMENT AND PROCESS MODELS.pptx
 
Agile software development
Agile software development Agile software development
Agile software development
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKunit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
 
Software process model
Software process modelSoftware process model
Software process model
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
1 2. project management
1 2. project management1 2. project management
1 2. project management
 
Lect9
Lect9Lect9
Lect9
 
Amrutha_Resume[1_2]
Amrutha_Resume[1_2]Amrutha_Resume[1_2]
Amrutha_Resume[1_2]
 
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
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
Mg6088 spm unit-5
Mg6088 spm unit-5Mg6088 spm unit-5
Mg6088 spm unit-5
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 

Recently uploaded

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

FDD Presentation

  • 1. Feature Driven Development Presented by Gayal G.S. MS14904356 Ruhaim Izmeth MS14901218 I.D.I.P.KUMARA MS13904142
  • 2. Agenda •Background •Roles in FDD •FDD Practices •FDD Processes •Project Reporting •Advantages and Disadvantages •Conclusion & Summery •Q/A
  • 3. Introduction Feature Driven Development (FDD) is one of the Agile Software Development Methodologies. Came into view in last 15 years as an alternative to traditional Waterfall development.
  • 4. Birth of FDD Jeff De Luca Peter Coad Introduced in 1997 Published in a book in 1999, by Peter Coad
  • 5. Why do we have to use FDD ? 1. Communication Consider developers as nodes in a communication network, all potentially linked to each other by communication channels. The number of potential communication channels increase dramatically as more number of developers are added 2. Complexity FDD decomposes the entire problem domain into tiny problems, which can be solved in a small period of time, usually 2 weeks decomposed problems independent to each other reduces the need of communication. FDD splits the project into iterations so that the distance in time between analysis and test is reduced early discovery of errors reduces the cost of fixing the errors. 3. Quality Different persons have different perception of software quality This makes necessary to view quality as a spectrum, with internal quality at one end and external quality at other end.
  • 6. Roles in FDD Key Roles 1. Project Manager (PM) 2. Chief Architect (CA) 3. Development Manager (DM) 4. Chief Programmers 5. Class Owners 6. Domain Experts Supporting Roles 1. Release Manager 2. Language Guru 3. Build Engineer 4. Toolsmith 5. System Administrator Additional Roles 1. Testers 2. Deployers 3. Technical Writer
  • 7. FDD - Practices Domain Object Modeling The Problem is broken down into the significant objects involved. The design and implementation of each object or class identified in the model is a smaller problem to solve. Completed classes are combined, Form the solution to the larger problem Best technique for domain object modeling is, M o d e l i n g I n C o l o r
  • 8. FDD - Practices UML in Color All classes are divided into different categories with its own color code. a role being played. by a person or an organization, example: a user of an online auction may play different roles as a buyer or seller. a catalogue like description. example: a description of smart phones that sells in auction. a party, place or thing. example: the smart phones in stock would be modeled as green. This class usually has some identifying attributes such as serial no, persons name, etc. a moment in time or time associated with some business process. example: the fact of purchase may be shown a pink class, since it has a time of sale which is tracked by the online store,
  • 9. FDD - Practices UML in Color All classes are divided into different categories with its own color code. a role being played. a catalogue like description. a party, place or thing. a moment in time or time associated with some business process.
  • 10. FDD - Practices What is a Feature ? A feature is a small, client valued function that can be implemented in two weeks 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. Major Feature Feature set Feature
  • 11. FDD - Practices Developing by Feature The feature naming template <action> the <result> <by | for | of | to><a(n)><object> Example of features: Calculate <action> the total <result> of a sale <object> Calculate the total of a sale
  • 12. FDD - Practices Class (code) Ownership In a development process, class (code) ownership is indicates who is ultimately responsible for the content of a class (piece of code). Feature Team Implementation of a feature may involve more than one class and more than one class owner
  • 13. Processes FDD consist five processes Process
  • 14. Processes Entry Criteria Domain experts, Chief Programmers and the Chief Architect have been selected. Exit Criteria ● Class diagrams focusing on model shape. That is, what classes are in the domain, how are they connected to one another and under what constraints. ● Methods and attributes identified are placed in the classes. ● Sequence Diagram(s), if any. ● Model notes to capture why a particular model shape was chosen and/or what alternatives were considered
  • 15. Processes ● A team consist of Chief Programmers from process 1 are formed to decompose the domain functionality. ● The team breaks the domain into a number of areas (major feature Sets), based on the partitioning of the domain by the Domain Experts in process 1 ● Each area is further broken into a number of activities (feature sets). ● Each step within an activity is identified as a feature. Exit Criteria ● A list of subject areas ● For each subject area, a list of the business activities within that subject area ● For each business activity step, the feature to satisfy the step
  • 16. Processes The project Manager, Development Manager, and Chief Programmers plan the order that the features are to be implemented, based on feature dependencies, load across the development team, and the complexity of the features to be implemented. Exit Criteria ● Business activities with completion dates (month and year) ● Chief programmers assigned to business activities ● Subject areas with completion dates (month and year) derived from the last completion date of their respective business activities ● The list of classes and the developers that own them (the class owner list)
  • 17. Processes Feature Team Exit Criteria ● A covering memo, or paper, that integrates and describes the design package such that it stands on its own for reviewers. ● The referenced requirements (if any) in the form of documents and all related confirmation memos and supporting documentation. ● The Sequence diagram(s). ● Design alternatives (if any) ● The object model with new/updated classes, methods and attributes.
  • 18. Processes Class owners implement the items necessary for their class to support the design for the feature(s) in the work package, based on the design package produced during the Design by Feature process. The developed code which is determined by the Chief Programmer is tested and inspected. After a successful code inspection, the code is permitted to build. Exit Criteria ● Class(es) and/or method(s) that have been successfully code inspected. ● Class(es) that have been promoted to the build. ● The completion of a client-valued function (feature)
  • 19. Processes Guidelines for time spent in each process Process
  • 20. Progress Reporting to Chief programmers and Project Manager Major Feature Set – “Workshop Management Area” Feature Set No of features No of Not started No of In progress No of Completed % completed
  • 21. Progress Reporting to Chief programmers and Project Manager Every week, the rate of progress is shown by plotting a graph for the number of features completed each week
  • 22. Progress Reporting to Sponsors and Upper Management Progress of the feature set “Scheduling a Service” Scheduling a Service (19) 27% DEC 2012 Work in progress Attention (behind Schedule) Completed Not yet started Completion Percentage Progress bar Completion Status Completed MY Targeted completion month Feature Set Name No of Features in the Features Set Feature set name - Scheduling a service Features are consist – 19 Currently complete – 27% Due date – Dec 2012
  • 23. Progress Reporting to Sponsors and Upper Management Progress of the feature sets Scheduling a Service (19) 27.7% DEC 2012 Performing a Service (15) 30.1% DEC 2012 Billing a Service (6) 16.6% DEC 2012 Booking in a Repair (13) 75% DEC 2012 Feature Set No of features No of Not started No of In progress No of Completed % completed
  • 24. Progress Reporting to Sponsors and Upper Management Major feature set
  • 25. Major Usage of FDD FDD can be implemented with Up to 500 developers More critical projects Bigger projects More novice developers Environments that demand Waterfall
  • 26. Advantages and Disadvantages of FDD Advantages Supports multiple teams working in parallel All aspects of a project tracked by a feature Design by feature and build by a feature aspects are easy to understand and adopt Scales to large teams or projects well Better in teams where developers’ experiences varies Offers well defined progress tracking and reporting capabilities
  • 27. Advantages and Disadvantages of FDD Disadvantages Promotes individual code ownership as opposed to shared/team ownership Iterations are not well defined by the process as other agile methodologies The model-centric aspects can have huge impacts when working on existing systems that have no models.
  • 28. Summary and Conclusion FDD is a process that begins with high level planning to define the scope of the project, which then moves into incremental delivery. FDD defines the overall scope of the project at the beginning, but does not define the details. FDD tries to combine good planning with the continuous improvement through iteration. There are five phases in an FDD process; the first three phases are planning phases and the last two phases are iterative phases Main Advantages: Easy to understand the feature based process, Scalability Main Disadvantages: Promotes individualism, Undefined iterations, Potential Model- Centric failures
  • 29. References & Links Weinberg, G. Quality Software Management vols. NJ:Prentice Hall PTR, 2002. Coad, Peter, et al. Java modeling in Color with UML.Upper Saddle River, NJ:Prentice Hall PTR, 1999. Stephen R. Palmer, 2002. A Practical Guide to Feature-Driven Development. 1 Edition. Prentice Hall. Sadhna Goyal. “Agile Techniques for Project Management and Software Engineering”, Major Seminar on Feature Driven Development, Technical University-Munich, 2007-2008. Internet links, http://www.nebulon.com http://www.petercoad.com http://www.featuredrivendevelopment.com http://www.featuredrivendevelopment.com/certification/list http://en.wikipedia.org/wiki/Feature_Driven_Development
  • 30. Q & A