$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
620
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
STYLE
koic
0
100
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
120
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.8k
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
360
NUMA環境とコンテナランタイム ― youki における Linux Memory Policy 実装
n4mlz
1
210
Level up your Gemini CLI - D&D Style!
palladius
1
180
dnx で実行できるコマンド、作ってみました
tomohisa
0
140
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.2k
dotfiles 式年遷宮 令和最新版
masawada
1
700
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
11k
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Speed Design
sergeychernyshev
33
1.4k
Fireside Chat
paigeccino
41
3.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Scaling GitHub
holman
464
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Visualization
eitanlees
150
16k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Rails Girls Zürich Keynote
gr2m
95
14k
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]