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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ryan Cromwell
October 30, 2012
Programming
350
2
Share
Getting Feature Focused
Experiences build an application organized by feature rather than architecture.
Ryan Cromwell
October 30, 2012
More Decks by Ryan Cromwell
See All by Ryan Cromwell
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Letting Users Get On With Their Lives
cromwellryan
3
480
Collaborative APIs
cromwellryan
4
520
Sweet Elixir - Short
cromwellryan
6
670
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
460
Professional Scrum with Visual Studio 2012
cromwellryan
0
500
Avoiding Scrummerfall
cromwellryan
3
1.3k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
830
Other Decks in Programming
See All in Programming
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.1k
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
120
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
160
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
340
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.1k
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
320
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
210
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
640
Making the RBS Parser Faster
soutaro
0
660
[RubyKaigi 2026] Require Hooks
palkan
1
280
AgentCore Optimizationを始めよう!
licux
3
120
Don't Prompt Harder, Structure Better
kitasuke
0
810
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
770
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
290
WENDY [Excerpt]
tessaabrams
10
37k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Odyssey Design
rkendrick25
PRO
2
610
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Mind Mapping
helmedeiros
PRO
1
180
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]