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
210
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
125
8.6k
Letting Users Get On With Their Lives
cromwellryan
2
320
Collaborative APIs
cromwellryan
4
370
Sweet Elixir - Short
cromwellryan
5
380
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
280
Professional Scrum with Visual Studio 2012
cromwellryan
0
340
Avoiding Scrummerfall
cromwellryan
3
1k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
570
Other Decks in Programming
See All in Programming
Revisiting the Hotwire Landscape after Turbo 8 @ RailsConf 2024, Detroit
marcoroth
3
620
CQRS meets modern Java
simas
PRO
2
480
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
790
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
2
300
[RailsConf Detroit 2024] Ruby on Fails - effective error handling with Rails conventions
talyssonoc
0
300
Dev ContainersとTestcontainers
bells17
3
100
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
390
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
520
Timeline エディター拡張入門
yucchiy
0
460
Upgrading Legacy to the Latest PHP Version
afilina
PRO
0
110
otelcol receiver 自作RTA / Pepabo Tech Conference #22 春のSREまつり
arthur1
0
1.1k
酒飲んでたらテックリードになった話
spbaya0141
0
210
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
The Cult of Friendly URLs
andyhume
74
5.7k
Building an army of robots
kneath
300
42k
Typedesign – Prime Four
hannesfritz
36
2.1k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
The Pragmatic Product Professional
lauravandoore
26
5.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
GitHub's CSS Performance
jonrohan
1025
450k
Automating Front-end Workflow
addyosmani
1357
200k
Code Review Best Practice
trishagee
56
15k
RailsConf 2023
tenderlove
9
590
Producing Creativity
orderedlist
PRO
338
39k
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]