SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Feature-Driven
Development
Adail Retamal
Software and Systems Engineer
@heptaman
Frequent, tangible, working results
ALLES AUSSER SCRUM
Ganztägige Unconference
5 April 2019 - Köln
Methodologies Timeline
Non-exhaustive list
True story!
• 1997-1998, Singapore
• Context: A big Java project for a new lending system for a
major international bank
• Previously, after 2 years of consulting, 3,500 pages of use
cases and other specs, and a domain model with hundreds
of classes, the project was considered impossible
• Decisions:
• Jeff De Luca as Project Manager
• Peter Coad as Chief Architect (OOAD method and UML in Colour)
• Results: after 15 months, 2,000 features delivered by a team
of 50 people!
FDD: People and Books
Jeff De LucaPeter Coad
Stephen Palmer John Mac Felsing
David Anderson
FDD: Birthplace
United Overseas Bank HQ David Anderson, the GUI-Man
Peter Coad and
the Domain Team
Paul Szego and
Stephen Palmer
Jeff De Luca and the
Development Team
FDD: Main Benefits
• Enough structure for bigger teams
• Emphasis on quality production software
• Frequent, tangible, working results
• Meaningful upfront work before becoming highly
iterative (invaluable for fixed-price contracts!)
• Simple and meaningful progress and status reports
• Common language and mindset across customers,
managers and developers
Do Bit by Bit
Think A Bit
Construction
Startup
FDD: Lifecycle
More content in shape
More shape than content
Domain
Model
Work Packages
Product
Requirements
Development
Plan
Progress Reports
Develop
an Overall
Model
1
Build
Features
List
2 Planning3
Design by
Feature
4
Build by
Feature
5
FBS
FDD: Roles
Project
Manager
Chief
Architect
Domain
Specialists
Development
Manager
Chief
Programmers
Class
Owners
FDD: Best Practices (Then and Now)
• Domain object modelling
• Development by feature
• Situational class/code ownership
• Feature Teams
• Inspections
• Regular builds
• Configuration Management
• Simple and meaningful progress reports
à UML in Colour à DDD
à User Story à Full Stack Slice
à Pull Request
à Spotify organisation (~ Squads, Guilds)
à Design & Code Reviews à Automated Testing
à Git à CI/CD à DevOps
à Kanban
Domain Neutral Components (DNC) or
Archetypal Domain Shape (ADS)
<<mi>>
Moment_Interval
Status
ID
StartDateTime
FinishDateTime
…
AddDetail
Complete
Cancel
ComputeAmount
…
<<mi-detail>>
MI_Detail
Order
Quantity
…
ComputeAmount
…
<<role>>
Role
Status
ID
PerformanceIndicator
…
EvaluatePerformance
AvailableInThisRole
…
<<party/place/thing>>
Party_Place_Thing
SerialNumber
Name
Address
…
IsAvailable
EvaluateAcrossRoles
…
<<description>>
Description
ID
Description
DefaultValue
…
ComputeAvailableQty
ComputeAmountForQty
…
0..*1
0..*
0..11
0..*
1
UML in B/W
Room
ID
Status
Guest
Score
LastVisit
Hotel
Name
Address
Stars
Person
Name
SSN
Phone
Stay
Start
Finish
TotalAmnt
*
Employee
StartDate
ID
*
*
Service
Date
Time
Amount
*
RoomType
Description
SingleQty
CoupleQty
Smoker?
*
UML in Colour
Room
ID
Status
Guest
Score
LastVisit
Hotel
Name
Address
Stars
Person
Name
SSN
Phone
Stay
Start
Finish
TotalAmnt
*
Employee
StartDate
ID
*
*
Service
Date
Time
Amount
*
RoomType
Description
SingleQty
CoupleQty
Smoker?
*
The Power of Archetypes!
FBS: Feature Breakdown Structure
System or
Application
Business Area Business Area Business Area
Business Activity
Business Activity
Business Activity
Business Activity
Business Activity
Business Activity
Business Activity
Business ActivityFeature
Feature
[Xyz] Management
<Noun>
<Verb In The Infinitive> ...
<Action> <Result> <Object>
Feature Team
• Dynamically formed
• Under the lead of a Chief Programmer
• Appropriate to the situational code ownership
• Multiple minds designing
• Compare among alternatives and select the most
appropriate
• Members are the relevant Class Owners
• Emphasise team work
• No one finishes until the Feature Team finishes
Progress Report: Proto-Kanban
• During the iterative cycles (process #4 and #5) progress is measured
according to well defined milestones (6 in the original definition)
• When each milestone is reached its respective percentage is aggregated to
the total progress of the feature (kind of earned value)
Domain
Walkthrough
1%
Design
40%
Design
Inspection
3%
Code
45%
Code
Inspection
10%
Promote
to Build
1%
#4: Design by Feature #5: Build by Feature
DOM BFL PBF
DBF BBF
The Parking Lot Report
Key: Not started In Progress Attention Complete
Sales Management (SM) – 34%
Purchase
Orders
(33)
Jul 2019
CP-1
Contract
Management
(13)
Oct 2019
Product
Selling
(22)
Mar 2019
CP-1
Product
Shipment
(19)
Oct 2019
CP-1
10%
Product
Delivery
(10)
Sep 2019
CP-3
30%
Sales
Reports
(14)
May 2019
75%99% 3%
Customer Account Management (CAM) – 90%
New Account
Proposal
(23)
Feb 2019
95%
Account
Transaction
Records
(30)
Mar 2019
82%
New Account
Opening
(11)
Dec 2018
100%
Stock Management (SM) – 94%
SKU
Management
(26)
Dec 2018
100%
Stock
Reconciliation
(19)
Feb 2019
82%
CP-3
SKU
Movement
(18)
Jan 2019
97%
CP-3
CP-2 CP-1
CP-2 CP-2 CP-2 CP-3
Commercial
System
(238)
Nov 2019
65%
Current Date:
05-Mar-2019
CFD: Leading and Historical Indicator
Cumulative Flow Diagram
Key:
Not Started
In Progress
Complete
Time (weeks)
Features
Lead Time
Work in ProgressProduct Backlog
FDD to the Rescue
8. Product Increment
(potentially shippable)
6. Daily
5. Iteration
(2 - 4 weeks)4. Tasks
detailed
by the team
1. Vision
(ROI, milestones,
releases)
2. Product Feature Backlog, prioritized
by the Product Owner
3. Iteration
Backlog
7. Standup
Meetings
Startup
1
DOM
3
PBF
2
BFL
Construction
4
DBF
5
BBF
9. Inspect
and Adapt
FDD: Where to Learn More
• A Practical Guide to FDD (the book)
• Excerpt chapter 3 “Integrating Best Practices”
• www.featuredrivendevelopment.com
• FDD @ Nebulon (Jeff’s old company)
• Stephen Palmer’s STEP-10 Blog
• Software Engineering Radio: Jeff De Luca on FDD
• FDD on Wikipedia
Thanks and Q&A
Adail Retamal
@heptaman
linkedin.com/in/adail

Contenu connexe

Tendances

Agile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management PresentationAgile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management PresentationPrateek Sharma
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologyTyler Rose
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process IntroductionNguyen Hai
 
Agile Project and Portfolio Management Using Jira - AgileSolutions
Agile Project and Portfolio Management Using Jira - AgileSolutionsAgile Project and Portfolio Management Using Jira - AgileSolutions
Agile Project and Portfolio Management Using Jira - AgileSolutionsKeith Klundt
 
Sprint Report Template.pptx
Sprint Report Template.pptxSprint Report Template.pptx
Sprint Report Template.pptxgary965038
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) ModelDamian T. Gordon
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentTathagat Varma
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumArrielle Mali
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)Adrian Howard
 
Agile product development
Agile product developmentAgile product development
Agile product developmentBrenn Hill
 

Tendances (20)

Agile
Agile Agile
Agile
 
Fdd presentation
Fdd presentationFdd presentation
Fdd presentation
 
Scrumban
ScrumbanScrumban
Scrumban
 
Agile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management PresentationAgile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management Presentation
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Jira fundamentals
Jira fundamentalsJira fundamentals
Jira fundamentals
 
Agile Project and Portfolio Management Using Jira - AgileSolutions
Agile Project and Portfolio Management Using Jira - AgileSolutionsAgile Project and Portfolio Management Using Jira - AgileSolutions
Agile Project and Portfolio Management Using Jira - AgileSolutions
 
Jira overview
Jira overviewJira overview
Jira overview
 
Sprint Report Template.pptx
Sprint Report Template.pptxSprint Report Template.pptx
Sprint Report Template.pptx
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to Scrum
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Scrumban
ScrumbanScrumban
Scrumban
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)
 
Agile product development
Agile product developmentAgile product development
Agile product development
 

Similaire à FDD Overview

Resume_Sunil_Faroz
Resume_Sunil_FarozResume_Sunil_Faroz
Resume_Sunil_FarozSunil Faroz
 
Case Study: Upgrade Strategies for PeopleSoft Financials and Supply Chain 9.1
Case Study: Upgrade Strategies for PeopleSoft Financials and Supply Chain 9.1Case Study: Upgrade Strategies for PeopleSoft Financials and Supply Chain 9.1
Case Study: Upgrade Strategies for PeopleSoft Financials and Supply Chain 9.1Smart ERP Solutions, Inc.
 
Saikrishna_Bejjanki_HP Exstream Developer
Saikrishna_Bejjanki_HP Exstream DeveloperSaikrishna_Bejjanki_HP Exstream Developer
Saikrishna_Bejjanki_HP Exstream DeveloperSaikrishna Bejjanki
 
Drupal cebu promet_estimation
Drupal cebu promet_estimationDrupal cebu promet_estimation
Drupal cebu promet_estimationJohnnie Fox
 
Sage Project Management
Sage Project Management Sage Project Management
Sage Project Management RKLeSolutions
 
The Dashlane Agile Journey
The Dashlane Agile JourneyThe Dashlane Agile Journey
The Dashlane Agile JourneyDashlane
 
Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer Todd Shelton
 
SauravResume(4Years Exp)
SauravResume(4Years Exp)SauravResume(4Years Exp)
SauravResume(4Years Exp)saurav kumar
 
Spectrum2018 agile roadtrip_med
Spectrum2018 agile roadtrip_medSpectrum2018 agile roadtrip_med
Spectrum2018 agile roadtrip_medMary Elise Dedicke
 
9 ASUG82967 - Successful implementation of SAP Product Lifecycle Management a...
9 ASUG82967 - Successful implementation of SAP Product Lifecycle Management a...9 ASUG82967 - Successful implementation of SAP Product Lifecycle Management a...
9 ASUG82967 - Successful implementation of SAP Product Lifecycle Management a...ghaeltailyn
 
sonam_new _resume - Copy
sonam_new _resume - Copysonam_new _resume - Copy
sonam_new _resume - CopySonam Dubey
 

Similaire à FDD Overview (20)

Resume Sachidanand Suman
Resume Sachidanand SumanResume Sachidanand Suman
Resume Sachidanand Suman
 
PM, Scrum and TFS - Ivan Marković
PM, Scrum and TFS - Ivan MarkovićPM, Scrum and TFS - Ivan Marković
PM, Scrum and TFS - Ivan Marković
 
Resume_Sunil_Faroz
Resume_Sunil_FarozResume_Sunil_Faroz
Resume_Sunil_Faroz
 
Case Study: Upgrade Strategies for PeopleSoft Financials and Supply Chain 9.1
Case Study: Upgrade Strategies for PeopleSoft Financials and Supply Chain 9.1Case Study: Upgrade Strategies for PeopleSoft Financials and Supply Chain 9.1
Case Study: Upgrade Strategies for PeopleSoft Financials and Supply Chain 9.1
 
Saikrishna_Bejjanki_HP Exstream Developer
Saikrishna_Bejjanki_HP Exstream DeveloperSaikrishna_Bejjanki_HP Exstream Developer
Saikrishna_Bejjanki_HP Exstream Developer
 
Resume
ResumeResume
Resume
 
Drupal cebu promet_estimation
Drupal cebu promet_estimationDrupal cebu promet_estimation
Drupal cebu promet_estimation
 
Resume_Admin
Resume_AdminResume_Admin
Resume_Admin
 
Mira Isabelle R. Fernandez_CV 2015
Mira Isabelle R. Fernandez_CV 2015Mira Isabelle R. Fernandez_CV 2015
Mira Isabelle R. Fernandez_CV 2015
 
Sage Project Management
Sage Project Management Sage Project Management
Sage Project Management
 
Umesh_Kumar
Umesh_KumarUmesh_Kumar
Umesh_Kumar
 
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into RequirementsEvolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
 
SaiVarunReddy_Muppidi
SaiVarunReddy_MuppidiSaiVarunReddy_Muppidi
SaiVarunReddy_Muppidi
 
The Dashlane Agile Journey
The Dashlane Agile JourneyThe Dashlane Agile Journey
The Dashlane Agile Journey
 
Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer
 
SauravResume(4Years Exp)
SauravResume(4Years Exp)SauravResume(4Years Exp)
SauravResume(4Years Exp)
 
Spectrum2018 agile roadtrip_med
Spectrum2018 agile roadtrip_medSpectrum2018 agile roadtrip_med
Spectrum2018 agile roadtrip_med
 
9 ASUG82967 - Successful implementation of SAP Product Lifecycle Management a...
9 ASUG82967 - Successful implementation of SAP Product Lifecycle Management a...9 ASUG82967 - Successful implementation of SAP Product Lifecycle Management a...
9 ASUG82967 - Successful implementation of SAP Product Lifecycle Management a...
 
sonam_new _resume - Copy
sonam_new _resume - Copysonam_new _resume - Copy
sonam_new _resume - Copy
 
Umesh_Kumar
Umesh_KumarUmesh_Kumar
Umesh_Kumar
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Dernier (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

FDD Overview

  • 1. Feature-Driven Development Adail Retamal Software and Systems Engineer @heptaman Frequent, tangible, working results ALLES AUSSER SCRUM Ganztägige Unconference 5 April 2019 - Köln
  • 3. True story! • 1997-1998, Singapore • Context: A big Java project for a new lending system for a major international bank • Previously, after 2 years of consulting, 3,500 pages of use cases and other specs, and a domain model with hundreds of classes, the project was considered impossible • Decisions: • Jeff De Luca as Project Manager • Peter Coad as Chief Architect (OOAD method and UML in Colour) • Results: after 15 months, 2,000 features delivered by a team of 50 people!
  • 4. FDD: People and Books Jeff De LucaPeter Coad Stephen Palmer John Mac Felsing David Anderson
  • 5. FDD: Birthplace United Overseas Bank HQ David Anderson, the GUI-Man Peter Coad and the Domain Team Paul Szego and Stephen Palmer Jeff De Luca and the Development Team
  • 6. FDD: Main Benefits • Enough structure for bigger teams • Emphasis on quality production software • Frequent, tangible, working results • Meaningful upfront work before becoming highly iterative (invaluable for fixed-price contracts!) • Simple and meaningful progress and status reports • Common language and mindset across customers, managers and developers
  • 7. Do Bit by Bit Think A Bit Construction Startup FDD: Lifecycle More content in shape More shape than content Domain Model Work Packages Product Requirements Development Plan Progress Reports Develop an Overall Model 1 Build Features List 2 Planning3 Design by Feature 4 Build by Feature 5 FBS
  • 9. FDD: Best Practices (Then and Now) • Domain object modelling • Development by feature • Situational class/code ownership • Feature Teams • Inspections • Regular builds • Configuration Management • Simple and meaningful progress reports à UML in Colour à DDD à User Story à Full Stack Slice à Pull Request à Spotify organisation (~ Squads, Guilds) à Design & Code Reviews à Automated Testing à Git à CI/CD à DevOps à Kanban
  • 10. Domain Neutral Components (DNC) or Archetypal Domain Shape (ADS) <<mi>> Moment_Interval Status ID StartDateTime FinishDateTime … AddDetail Complete Cancel ComputeAmount … <<mi-detail>> MI_Detail Order Quantity … ComputeAmount … <<role>> Role Status ID PerformanceIndicator … EvaluatePerformance AvailableInThisRole … <<party/place/thing>> Party_Place_Thing SerialNumber Name Address … IsAvailable EvaluateAcrossRoles … <<description>> Description ID Description DefaultValue … ComputeAvailableQty ComputeAmountForQty … 0..*1 0..* 0..11 0..* 1
  • 13. FBS: Feature Breakdown Structure System or Application Business Area Business Area Business Area Business Activity Business Activity Business Activity Business Activity Business Activity Business Activity Business Activity Business ActivityFeature Feature [Xyz] Management <Noun> <Verb In The Infinitive> ... <Action> <Result> <Object>
  • 14. Feature Team • Dynamically formed • Under the lead of a Chief Programmer • Appropriate to the situational code ownership • Multiple minds designing • Compare among alternatives and select the most appropriate • Members are the relevant Class Owners • Emphasise team work • No one finishes until the Feature Team finishes
  • 15. Progress Report: Proto-Kanban • During the iterative cycles (process #4 and #5) progress is measured according to well defined milestones (6 in the original definition) • When each milestone is reached its respective percentage is aggregated to the total progress of the feature (kind of earned value) Domain Walkthrough 1% Design 40% Design Inspection 3% Code 45% Code Inspection 10% Promote to Build 1% #4: Design by Feature #5: Build by Feature DOM BFL PBF DBF BBF
  • 16. The Parking Lot Report Key: Not started In Progress Attention Complete Sales Management (SM) – 34% Purchase Orders (33) Jul 2019 CP-1 Contract Management (13) Oct 2019 Product Selling (22) Mar 2019 CP-1 Product Shipment (19) Oct 2019 CP-1 10% Product Delivery (10) Sep 2019 CP-3 30% Sales Reports (14) May 2019 75%99% 3% Customer Account Management (CAM) – 90% New Account Proposal (23) Feb 2019 95% Account Transaction Records (30) Mar 2019 82% New Account Opening (11) Dec 2018 100% Stock Management (SM) – 94% SKU Management (26) Dec 2018 100% Stock Reconciliation (19) Feb 2019 82% CP-3 SKU Movement (18) Jan 2019 97% CP-3 CP-2 CP-1 CP-2 CP-2 CP-2 CP-3 Commercial System (238) Nov 2019 65% Current Date: 05-Mar-2019
  • 17. CFD: Leading and Historical Indicator Cumulative Flow Diagram Key: Not Started In Progress Complete Time (weeks) Features Lead Time Work in ProgressProduct Backlog
  • 18. FDD to the Rescue 8. Product Increment (potentially shippable) 6. Daily 5. Iteration (2 - 4 weeks)4. Tasks detailed by the team 1. Vision (ROI, milestones, releases) 2. Product Feature Backlog, prioritized by the Product Owner 3. Iteration Backlog 7. Standup Meetings Startup 1 DOM 3 PBF 2 BFL Construction 4 DBF 5 BBF 9. Inspect and Adapt
  • 19. FDD: Where to Learn More • A Practical Guide to FDD (the book) • Excerpt chapter 3 “Integrating Best Practices” • www.featuredrivendevelopment.com • FDD @ Nebulon (Jeff’s old company) • Stephen Palmer’s STEP-10 Blog • Software Engineering Radio: Jeff De Luca on FDD • FDD on Wikipedia
  • 20. Thanks and Q&A Adail Retamal @heptaman linkedin.com/in/adail