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
380
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
510
Collaborative APIs
cromwellryan
4
560
Sweet Elixir - Short
cromwellryan
6
700
Growing Great Teams - Codemash 2014 Lightning Talk
cromwellryan
0
490
Professional Scrum with Visual Studio 2012
cromwellryan
0
540
Avoiding Scrummerfall
cromwellryan
3
1.3k
Selenium + Specflow: ATDD for .Net
cromwellryan
2
850
Other Decks in Programming
See All in Programming
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
570
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
280
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
260
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
110
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
350
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4k
高専キャリア LT 発表内容
crysta1221
6
5.1k
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
5
1.8k
Introducing Stack Pull Request in GitHub
kkamegawa
0
120
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
170
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
120
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
280
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Amusing Abliteration
ianozsvald
1
280
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
300
4 Signs Your Business is Dying
shpigford
187
23k
Scaling GitHub
holman
464
140k
Designing for humans not robots
tammielis
254
26k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
560
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]