Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Getting Feature Focused
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ryan Cromwell
October 30, 2012
Programming
2
330
Getting Feature Focused
Experiences build an application organized by feature rather than architecture.
Ryan Cromwell
October 30, 2012
Tweet
Share
More Decks by Ryan Cromwell
See All by Ryan Cromwell
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Letting Users Get On With Their Lives
cromwellryan
3
460
Collaborative APIs
cromwellryan
4
500
Sweet Elixir - Short
cromwellryan
6
650
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
440
Professional Scrum with Visual Studio 2012
cromwellryan
0
480
Avoiding Scrummerfall
cromwellryan
3
1.3k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
810
Other Decks in Programming
See All in Programming
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.9k
CSC307 Lecture 07
javiergs
PRO
0
540
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
Implementation Patterns
denyspoltorak
0
280
AI時代の認知負荷との向き合い方
optfit
0
130
CSC307 Lecture 01
javiergs
PRO
0
680
今から始めるClaude Code超入門
448jp
7
8.2k
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
290
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
Package Management Learnings from Homebrew
mikemcquaid
0
180
ThorVG Viewer In VS Code
nors
0
760
Featured
See All Featured
Crafting Experiences
bethany
1
46
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
Bash Introduction
62gerente
615
210k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
95
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
55
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
71
Speed Design
sergeychernyshev
33
1.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Transcript
Feature Focused A Be.er Applica2on Structure
• Coder • Agile Coach • Scrum.org Trainer
Who am I? Ryan Cromwell
travel + twins = crazy person
where would you go to… update the search algorithm?
add favorite products? one click checkout only show in-‐stock products?
I don’t even like my mouse. My mouse was
crying… omg!
architecture rant bit.ly/unclebobarch bit.ly/screamarch
• Release Reuse • Common Closure • Common
Reuse • Acyclic Dependencies • Stable Dependencies • Stable Abstrac2ons Forgo%en SOLID principals What you hear about • Single Responsibility • Open/Closed • Liskov Subs2tu2on • Interface Segrega2on • Dependency Inversion
common closure Classes that change together are packaged together.
h.p://bit.ly/PrincOOD
• Tasking • Chat (XMPP) Feature Themes walk the
walk Context • Air Force • Old: Thick Client • New: Single Page App • HTML5(ish) + Javascript • Java
Why call them modules? S2ll a lot of noise
spot the feature?
Focus Drill into chat feature Focus
other effects • Conven2ons Within Features • Responsibility Viola2ons
Obvious • Ramp up • Small, Simple Interfeature Collabora2on “Ah consistency, the path to simplicity and the bane of innova6on. Choose wisely” ~ me, on twi<er
what‘s next? • Server + Client side-‐by-‐side (i.e. Controllers)
• CSS/images • Requirejs + unit tes2ng = painful • Frameworks/Tooling
thanks! @cromwellryan h.p://cromwellhaus.com
[email protected]