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
200
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
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
620
Namespace, What and Why
tagomoris
3
700
AppRouter Panel Talk
yosuke_furukawa
PRO
1
530
Jetpack Composeとデザインシステム
rmakiyama
0
240
Escolhendo (ou não) o melhor ORM para o seu projeto
andreiacsilva
1
160
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
160
JS RPCを理解する
yusukebe
5
290
How to improve maintainability and readability of your automated tests? ( #scrumniigata )
teyamagu
PRO
1
130
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
14
4.8k
HonoのRPCで真の型安全が欲しかった
kosei28
1
160
The Cutting Edge Of Versioning (LambdaConf 2024)
chriskrycho
0
250
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
5
2.8k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
A Modern Web Designer's Workflow
chriscoyier
689
190k
How GitHub (no longer) Works
holman
305
140k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
What's in a price? How to price your products and services
michaelherold
238
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
Visualization
eitanlees
137
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Music & Morning Musume
bryan
41
5.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
22
1.4k
Scaling GitHub
holman
457
140k
Design by the Numbers
sachag
274
18k
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]