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
300
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
134
9.4k
Letting Users Get On With Their Lives
cromwellryan
2
430
Collaborative APIs
cromwellryan
4
470
Sweet Elixir - Short
cromwellryan
6
570
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
420
Professional Scrum with Visual Studio 2012
cromwellryan
0
450
Avoiding Scrummerfall
cromwellryan
3
1.2k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
760
Other Decks in Programming
See All in Programming
ふつうの技術スタックでアート作品を作ってみる
akira888
1
830
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
470
Team operations that are not burdened by SRE
kazatohiei
1
310
XP, Testing and ninja testing
m_seki
3
240
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
320
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
440
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
280
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
220
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
190
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
550
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Docker and Python
trallard
44
3.5k
Thoughts on Productivity
jonyablonski
69
4.7k
How GitHub (no longer) Works
holman
314
140k
The Cult of Friendly URLs
andyhume
79
6.5k
Raft: Consensus for Rubyists
vanstee
140
7k
GitHub's CSS Performance
jonrohan
1031
460k
Writing Fast Ruby
sferik
628
62k
Into the Great Unknown - MozCon
thekraken
40
1.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
A Modern Web Designer's Workflow
chriscoyier
695
190k
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]