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
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
わかりやすい正解を捨てて、コトに向き合う - スクラムフェス金沢2024 スポンサーセッション
yusukekokubo
0
170
初心者がおさえておきたいAWS CDKのベストプラクティス 2024
konokenj
15
7.3k
最古の関数型言語「Lisp」ことはじめ / lisp_in_kamiyama
uhooi
1
190
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
CSC307 Lecture 08
javiergs
PRO
0
330
ピグパーティにおけるMongoDB CommunityバージョンからAtlasへの移行事例
10969hotaka
0
130
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
Composing an API the *right* way (Droidcon Berlin 2024)
zsmb
1
450
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Visualization
eitanlees
139
14k
Code Reviewing Like a Champion
maltzj
517
39k
Code Review Best Practice
trishagee
58
16k
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
It's Worth the Effort
3n
181
27k
How GitHub (no longer) Works
holman
305
140k
YesSQL, Process and Tooling at Scale
rocio
166
14k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
Ruby is Unlike a Banana
tanoku
96
10k
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]