SlideShare a Scribd company logo
1 of 20
Download to read offline
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

More Related Content

What's hot

Kanban vs Scrum: What's the difference, and which should you use?
Kanban vs Scrum: What's the difference, and which should you use?Kanban vs Scrum: What's the difference, and which should you use?
Kanban vs Scrum: What's the difference, and which should you use?Arun Kumar
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanDimitri Ponomareff
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Automated Governance
Automated GovernanceAutomated Governance
Automated GovernanceJohn Willis
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming Fatemeh Karimi
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Simplilearn
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014johnfcshaw
 
Agile Project Management for IT Projects
Agile Project Management for IT ProjectsAgile Project Management for IT Projects
Agile Project Management for IT Projectsrachna_nainani
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...Simplilearn
 
Agile software development methodology
Agile software development methodologyAgile software development methodology
Agile software development methodologyjustinleague0819
 

What's hot (20)

Kanban vs Scrum: What's the difference, and which should you use?
Kanban vs Scrum: What's the difference, and which should you use?Kanban vs Scrum: What's the difference, and which should you use?
Kanban vs Scrum: What's the difference, and which should you use?
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and Kanban
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Automated Governance
Automated GovernanceAutomated Governance
Automated Governance
 
Fdd presentation
Fdd presentationFdd presentation
Fdd presentation
 
Agile sdlc
Agile sdlcAgile sdlc
Agile sdlc
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Agile scrum training
Agile scrum trainingAgile scrum training
Agile scrum training
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
 
What is waterfall
What is waterfallWhat is waterfall
What is waterfall
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
 
Agile Project Management for IT Projects
Agile Project Management for IT ProjectsAgile Project Management for IT Projects
Agile Project Management for IT Projects
 
Scrum
ScrumScrum
Scrum
 
CI/CD
CI/CDCI/CD
CI/CD
 
Devops
DevopsDevops
Devops
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
 
Agile software development methodology
Agile software development methodologyAgile software development methodology
Agile software development methodology
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 

Similar to 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
 

Similar to 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
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
🐬 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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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...
 

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