Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Getting Feature Focused
Ryan Cromwell
October 30, 2012
Programming
2
85
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
113
7.4k
Letting Users Get On With Their Lives
cromwellryan
1
210
Collaborative APIs
cromwellryan
4
230
Sweet Elixir - Short
cromwellryan
5
240
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
150
Professional Scrum with Visual Studio 2012
cromwellryan
0
80
Avoiding Scrummerfall
cromwellryan
3
740
Selenium + Specflow: ATDD for .Net
cromwellryan
2
410
Other Decks in Programming
See All in Programming
Modern Android Developer ~ 안내서
pluu
1
580
What's new in Android development tools まとめ
mkeeda
0
270
Java アプリとAWS の良い関係 - AWS でJava アプリを実行する一番簡単な方法教えます / AWS for Javarista
kanamasa
2
1.2k
Cross Deviceチームにおけるスマートテレビアプリ開発ってどんな感じ?
cokaholic
0
120
trocco® の品質を守る、とても普通な取り組み
kekekenta
0
350
競プロのすすめ
uya116
0
650
Java初心者が知っておくべきプログラミングのこと - JJUG CCC 2022 Spring
kishida
4
520
はじめてのプルリク - BLEA 編
watany
0
140
Oracle REST Data Service: APEX Office Hours
thatjeffsmith
0
670
GoogleI/O2022 LT報告会資料
shinsukefujita1126
0
280
EFFICIENT CREATION OF AN EMPTY COLLECTION IN .NET
abt
0
150
Gitlab CIでMRを自動生成する
forcia_dev_pr
0
110
Featured
See All Featured
Fireside Chat
paigeccino
11
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
920
Git: the NoSQL Database
bkeepers
PRO
415
59k
Designing with Data
zakiwarfel
91
3.9k
Design by the Numbers
sachag
271
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
13k
Facilitating Awesome Meetings
lara
29
4k
How to train your dragon (web standard)
notwaldorf
58
3.9k
Designing for humans not robots
tammielis
241
23k
Bash Introduction
62gerente
597
210k
Teambox: Starting and Learning
jrom
123
7.7k
The Cult of Friendly URLs
andyhume
68
4.8k
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 ryan@cromwellhaus.com