SlideShare a Scribd company logo
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

Agile methodology
Agile methodologyAgile methodology
Agile methodology
Dhruv Kumar
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
Aniruddha Ray (Ani)
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is Not
Derek Huether
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
Gh-Mohammed Eldadah
 
Software Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementSoftware Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project Management
Ahsan Rahim
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
Mikalai Alimenkou
 
Agile Manifesto and Principles
Agile Manifesto and PrinciplesAgile Manifesto and Principles
Agile Manifesto and Principles
Aryan Rajbhandari
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
Harun Yardımcı
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
Saqib Raza
 
Scrum Cheat Sheet
Scrum Cheat SheetScrum Cheat Sheet
Scrum Cheat Sheet
Edwin Ritter
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
PrudentialSolutions
 
Agile vs Waterfall
Agile vs WaterfallAgile vs Waterfall
Agile vs Waterfall
Ahmed Abdel Rahman
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Aciron Consulting
 
Agile Scrum Presentation-Detailed
Agile Scrum Presentation-DetailedAgile Scrum Presentation-Detailed
Agile Scrum Presentation-DetailedPrashaanth T R
 
Product Backlog Refinement
Product Backlog RefinementProduct Backlog Refinement
Product Backlog Refinement
Katarzyna Kot
 
Introduction to Agile and Scrum
Introduction to Agile and ScrumIntroduction to Agile and Scrum
Introduction to Agile and Scrum
Operational Excellence Consulting
 

What's hot (20)

Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
 
Fdd presentation
Fdd presentationFdd presentation
Fdd presentation
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is Not
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
 
Crystal
CrystalCrystal
Crystal
 
Software Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementSoftware Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project Management
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
 
Agile Manifesto and Principles
Agile Manifesto and PrinciplesAgile Manifesto and Principles
Agile Manifesto and Principles
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Kanban Vs Scrum
Kanban Vs ScrumKanban Vs Scrum
Kanban Vs Scrum
 
Scrum Cheat Sheet
Scrum Cheat SheetScrum Cheat Sheet
Scrum Cheat Sheet
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
Agile vs Waterfall
Agile vs WaterfallAgile vs Waterfall
Agile vs Waterfall
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Scrum Presentation-Detailed
Agile Scrum Presentation-DetailedAgile Scrum Presentation-Detailed
Agile Scrum Presentation-Detailed
 
Product Backlog Refinement
Product Backlog RefinementProduct Backlog Refinement
Product Backlog Refinement
 
Introduction to Agile and Scrum
Introduction to Agile and ScrumIntroduction to Agile and Scrum
Introduction to Agile and Scrum
 

Similar to FDD Overview

PM, Scrum and TFS - Ivan Marković
PM, Scrum and TFS - Ivan MarkovićPM, Scrum and TFS - Ivan Marković
PM, Scrum and TFS - Ivan Marković
Software StartUp Academy Osijek
 
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.1
Smart 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_estimation
Johnnie Fox
 
Sage Project Management
Sage Project Management Sage Project Management
Sage Project Management
RKLeSolutions
 
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
Evolve The Adobe Digital Marketing Community
 
The Dashlane Agile Journey
The Dashlane Agile JourneyThe Dashlane Agile Journey
The Dashlane Agile Journey
Dashlane
 
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_med
Mary 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

Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 

Recently uploaded (20)

Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 

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