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
230
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
127
8.7k
Letting Users Get On With Their Lives
cromwellryan
2
340
Collaborative APIs
cromwellryan
4
380
Sweet Elixir - Short
cromwellryan
5
420
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
300
Professional Scrum with Visual Studio 2012
cromwellryan
0
360
Avoiding Scrummerfall
cromwellryan
3
1k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
610
Other Decks in Programming
See All in Programming
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
CSC307 Lecture 09
javiergs
PRO
1
500
Ruby メモリ管理 プログラミング
megmogmog1965
0
130
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
コード生成を伴うLLMエージェント - 2024.07.18 Tokyo AI
smiyawaki0820
11
4.1k
[After Kotlin Fest 2024 LT Night @ Sansan] もっともっとKotlinを好きになる!K2 Compiler Pluginで遊んでみよう!
kitakkun
2
260
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
CSC307 Lecture 05
javiergs
PRO
0
210
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
160
CSC307 Lecture 10
javiergs
PRO
0
310
CSC307 Lecture 14
javiergs
PRO
0
220
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Featured
See All Featured
Building Your Own Lightsaber
phodgson
101
5.9k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
19k
A better future with KSS
kneath
231
17k
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
Speed Design
sergeychernyshev
9
270
Building Flexible Design Systems
yeseniaperezcruz
323
37k
Statistics for Hackers
jakevdp
792
220k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
The Cult of Friendly URLs
andyhume
75
5.9k
Embracing the Ebb and Flow
colly
81
4.3k
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]