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
280
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
133
9.1k
Letting Users Get On With Their Lives
cromwellryan
2
400
Collaborative APIs
cromwellryan
4
450
Sweet Elixir - Short
cromwellryan
6
510
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
390
Professional Scrum with Visual Studio 2012
cromwellryan
0
410
Avoiding Scrummerfall
cromwellryan
3
1.2k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
710
Other Decks in Programming
See All in Programming
WebDriver BiDiとは何なのか
yotahada3
1
140
Lottieアニメーションをカスタマイズしてみた
tahia910
0
130
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
550
時計仕掛けのCompose
mkeeda
1
290
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
8
2.8k
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
Open source software: how to live long and go far
gaelvaroquaux
0
630
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
140
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
CI改善もDatadogとともに
taumu
0
110
Featured
See All Featured
Statistics for Hackers
jakevdp
797
220k
It's Worth the Effort
3n
184
28k
Building Applications with DynamoDB
mza
93
6.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
For a Future-Friendly Web
brad_frost
176
9.5k
Side Projects
sachag
452
42k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Building Adaptive Systems
keathley
40
2.4k
How STYLIGHT went responsive
nonsquared
98
5.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
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]