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
240
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
128
8.8k
Letting Users Get On With Their Lives
cromwellryan
2
350
Collaborative APIs
cromwellryan
4
400
Sweet Elixir - Short
cromwellryan
5
450
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
330
Professional Scrum with Visual Studio 2012
cromwellryan
0
370
Avoiding Scrummerfall
cromwellryan
3
1.1k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
640
Other Decks in Programming
See All in Programming
Rechartsで楽にゴリゴリにカスタマイズする!
10tera
1
160
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
550
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
790
Jakarta EE meets AI
ivargrimstad
1
350
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
320
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
580
GraphQLの魅力を引き出すAndroidクライアント実装
morux2
3
320
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
1
260
今インフラ技術をイチから学び直すなら
yuhta28
1
130
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
110
Scala におけるコンパイラエラーとの付き合い方
chencmd
2
410
Kotlin 2.0 and Beyond
antonarhipov
2
150
Featured
See All Featured
Visualization
eitanlees
142
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Six Lessons from altMBA
skipperchong
26
3.3k
Scaling GitHub
holman
458
140k
Into the Great Unknown - MozCon
thekraken
29
1.4k
We Have a Design System, Now What?
morganepeng
48
7.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
48
2.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Writing Fast Ruby
sferik
623
60k
Building Flexible Design Systems
yeseniaperezcruz
325
37k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
A designer walks into a library…
pauljervisheath
201
24k
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]