/
Feature Driven Development Feature Driven Development

Feature Driven Development - PowerPoint Presentation

pasty-toler
pasty-toler . @pasty-toler
Follow
391 views
Uploaded On 2017-12-11

Feature Driven Development - PPT Presentation

By John Bonjean Overview History Definition Key Concepts Process Reporting Pros Cons History 1997 Jeff De Luca Peter Coad Singapore Bank Large Scale Software Project Create alternative to Waterfall process ID: 614397

build feature design chief feature build chief design process list model class development features plan total ownership fdd account develop phase architect

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Feature Driven Development" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Feature Driven Development

By: John

BonjeanSlide2

Overview

History

Definition

Key Concepts

Process

Reporting

Pros

ConsSlide3

History

1997

Jeff

De

Luca

Peter Coad

Singapore Bank

Large Scale Software Project

Create alternative to Waterfall processSlide4

Feature Driven Development (FDD)

Agile Process

Incremental

Short Iterations

Model-Driven

Five Processes

Feature

Agile ProcessSlide5

Why FDD?

Emphasizes quality

Deliver frequent tangible results

Visible reporting

Communication

Decomposes problem

Distance between analysis and test phase reduced

Developing by featureSlide6

Feature

Small client valued function

Implemented 10 days

Template

<

action

>the <

result

><by/for/of/to><a/an><object>ExampleCalculate the

total

of

an

account

Display

the

total

of

a

balanceSlide7

Feature Set

Group of Business Related Features

<

action

><

-

ing

><

a/an><object>ExampleCreating

an

account

Features

Calculate

the

total

of

an

account

Display

the

total

of

an

accountSlide8

Feature Teams

Chief Programmer

Temporary 2-week team

Members can be in multiple teams

Feature Team 1

Feature Team 2Slide9

Class Ownership

Individual class ownership

Sense of ownership

Local consistency

Quicker changes

Local expertSlide10

Roles

Project Manager

Chief Architect

Development Manager

Chief Programmers

Class Owners (Developers)

Domain ExpertsSlide11

Supporting Roles

Release Manager

Language Guru

Build Engineer

Toolsmith

System AdministratorSlide12

Process Development

Lightweight

Well-defined

Simple

Repeatable success

Scalability to larger projects

Result focus rather than process micro-stepping

Shorter learning curve

CreatesSlide13

FDD Process Template

ETVX

E

ntry Criteria

T

asks

Name

Teams involved

Optional/requiredDescriptionVerificationExit criteriaSlide14

Five Processes

Develop an Overall Model

Build a Features List

Plan By Feature

Design By Feature

Build By Feature

Develop an Overall Model

Plan By Feature

Design By Feature

Build By Feature

Build Feature List

Startup Phase

Construction PhaseSlide15

EntryDomain experts, Chief Programmers, Chief Architect selected

Tasks

Form modeling team

Domain walk-through

Develop the model

Verification

Internal and external Assessment

ExitObject Model created

1. Develop an Overall ModelSlide16

EntryDomain experts, Chief Programmers, Chief Architect selected

Tasks

Form feature list team

Build Feature List

Verification

Internal and external Assessment

Exit

Features List Created

2. Build a Features ListSlide17

EntryFeatures List completed

Tasks

Form the Planning Team

Determine the Development Sequence

Assign Business Activities to Chief Programmers

Assign classes to Developers

Verification

Self AssessmentExit

Development plan3. Plan By FeatureSlide18

EntryPlanning process completed

Tasks

Form feature team

Domain walk-through

Develop sequence diagrams

Refine the object model

Write class/method prologues

VerificationDesign inspectionExit

Successful design package4. Design By FeatureSlide19

Entry

Design package created

Tasks

Implement classes and methods

Code inspections

Unit test

Promote to build

VerificationCode inspectionsUnit testExit

Completion of client valued feature 5. Build By FeatureSlide20

FDD ModelSlide21

Track by Feature

Feature Progress

Processes 4,5

Design by Feature (DBF)

Domain walkthrough (1%)

Design (40%)

Design Inspection (3%)

Build by Feature (BBF)

Code (45%)Code Inspection (10%)Promote to Build (1%)

DBF

BBFSlide22

Parking Lot ReportSlide23

Parking Lot ReportSlide24

Feature SetSlide25

Pros

Adaptable to large projects

Progress tracking/reporting

Frequent tangible results

Class ownership

Concise processes

Emphasizes quality

Just enough design initiallySlide26

Cons

Not as powerful on smaller projects

High reliance on chief programmer

No written documentationSlide27

Conclusion

Agile process

Five processes

Develop an Overall Model

Build a Features List

Plan By Feature

Design By Feature

Build By Feature

Feature driven Produces frequent tangible resultsSlide28

Questions?