Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Getting Feature Focused
Search
Ryan Cromwell
October 30, 2012
Programming
390
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Getting Feature Focused
Experiences build an application organized by feature rather than architecture.
Ryan Cromwell
October 30, 2012
More Decks by Ryan Cromwell
See All by Ryan Cromwell
Making the Leap to Tech Lead
cromwellryan
135
10k
Letting Users Get On With Their Lives
cromwellryan
3
520
Collaborative APIs
cromwellryan
4
570
Sweet Elixir - Short
cromwellryan
6
720
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
510
Professional Scrum with Visual Studio 2012
cromwellryan
0
550
Avoiding Scrummerfall
cromwellryan
3
1.4k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
850
Other Decks in Programming
See All in Programming
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
160
AI-Powered Domain-Driven Design
ziobrando
0
380
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
Crash Auto Pipelines
veronikapj
1
350
Groovy as a human and AI friendly programming language
paulk
0
180
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
130
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
220
Kotlinの15年とServer-Side Kotlin
n_takehata
1
190
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
280
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
620
Code Reviewing Like a Champion
maltzj
529
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
HDC tutorial
michielstock
2
1k
Abbi's Birthday
coloredviolet
4
11k
Accessibility Awareness
sabderemane
1
290
Building Applications with DynamoDB
mza
96
7.3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
Paper Plane
katiecoart
PRO
5
54k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
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]