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
330
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
135
9.7k
Letting Users Get On With Their Lives
cromwellryan
3
460
Collaborative APIs
cromwellryan
4
500
Sweet Elixir - Short
cromwellryan
6
660
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
440
Professional Scrum with Visual Studio 2012
cromwellryan
0
480
Avoiding Scrummerfall
cromwellryan
3
1.3k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
810
Other Decks in Programming
See All in Programming
Oxlint JS plugins
kazupon
1
980
Fluid Templating in TYPO3 14
s2b
0
130
Architectural Extensions
denyspoltorak
0
300
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
110
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.6k
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
CSC307 Lecture 02
javiergs
PRO
1
780
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
今から始めるClaude Code超入門
448jp
8
9k
dchart: charts from deck markup
ajstarks
3
1k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
The agentic SEO stack - context over prompts
schlessera
0
640
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Leo the Paperboy
mayatellez
4
1.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
220
How to train your dragon (web standard)
notwaldorf
97
6.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
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]