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
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.5k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
Fluid Templating in TYPO3 14
s2b
0
130
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
1.1k
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
20
7k
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
CSC307 Lecture 03
javiergs
PRO
1
490
dchart: charts from deck markup
ajstarks
3
990
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
67
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Invisible Side of Design
smashingmag
302
51k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
72
What's in a price? How to price your products and services
michaelherold
247
13k
Accessibility Awareness
sabderemane
0
49
Paper Plane (Part 1)
katiecoart
PRO
0
4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
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]