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
Ryan Cromwell
October 30, 2012
Programming
2
280
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
133
9.1k
Letting Users Get On With Their Lives
cromwellryan
2
400
Collaborative APIs
cromwellryan
4
450
Sweet Elixir - Short
cromwellryan
6
510
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
390
Professional Scrum with Visual Studio 2012
cromwellryan
0
410
Avoiding Scrummerfall
cromwellryan
3
1.2k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
710
Other Decks in Programming
See All in Programming
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
210
時計仕掛けのCompose
mkeeda
1
290
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
370
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
220
SpringBoot3.4の構造化ログ #kanjava
irof
2
990
GAEログのコスト削減
mot_techtalk
0
120
Immutable ActiveRecord
megane42
0
140
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
560
Ruby on cygwin 2025-02
fd0
0
140
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
180
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
0
190
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Code Reviewing Like a Champion
maltzj
521
39k
Speed Design
sergeychernyshev
27
790
Navigating Team Friction
lara
183
15k
Making Projects Easy
brettharned
116
6k
We Have a Design System, Now What?
morganepeng
51
7.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Unsuck your backbone
ammeep
669
57k
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 ryan@cromwellhaus.com