$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Getting Feature Focused
Search
Ryan Cromwell
October 30, 2012
Programming
2
320
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
2
450
Collaborative APIs
cromwellryan
4
490
Sweet Elixir - Short
cromwellryan
6
630
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
430
Professional Scrum with Visual Studio 2012
cromwellryan
0
470
Avoiding Scrummerfall
cromwellryan
3
1.3k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
800
Other Decks in Programming
See All in Programming
Developing static sites with Ruby
okuramasafumi
0
320
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
470
Grafana:建立系統全知視角的捷徑
blueswen
0
140
マスタデータ問題、マイクロサービスでどう解くか
kts
0
120
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
440
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3k
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
250
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
350
AIコーディングエージェント(NotebookLM)
kondai24
0
220
AIコーディングエージェント(Manus)
kondai24
0
210
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
170
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
30
エンジニアに許された特別な時間の終わり
watany
105
220k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
400
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
1.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
[SF Ruby Conf 2025] Rails X
palkan
0
560
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
190
Navigating Team Friction
lara
191
16k
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]