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
It is but not an "architecture" talk
Search
Ragunath Jawahar
December 01, 2018
Programming
280
4
Share
It is but not an "architecture" talk
#105 December Meetup - BlrDroid + BlrKotlin
https://www.meetup.com/blrdroid/events/256468726/
Ragunath Jawahar
December 01, 2018
More Decks by Ragunath Jawahar
See All by Ragunath Jawahar
Context Management for Everyday Software Engineering
ragunathjawahar
1
48
The Hidden Cognitive Costs of AI-assisted Programming @ GIDS 2026
ragunathjawahar
1
55
AI-Native Codebases
ragunathjawahar
1
67
AI-Native Codebases x BLR Kotlin
ragunathjawahar
1
32
Single-responsibility principle meets the real world! (Dubai Edition)
ragunathjawahar
0
73
Single-responsibility principle meets the real world!
ragunathjawahar
0
180
Making sense of large Java and Kotlin classes
ragunathjawahar
1
310
Building Robust Software, Episode 3
ragunathjawahar
1
200
Building Robust Software, Episode 2
ragunathjawahar
1
160
Other Decks in Programming
See All in Programming
AI-DLC Deep Dive
yuukiyo
9
5.6k
Agentic Elixir
whatyouhide
0
440
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
180
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
330
GoogleCloudとterraform完全に理解した
terisuke
1
190
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
130
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
140
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
490
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.6k
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
110
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
490
10 Tips of AWS ~Gen AI on AWS~
licux
5
540
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How to train your dragon (web standard)
notwaldorf
97
6.6k
4 Signs Your Business is Dying
shpigford
187
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
A Soul's Torment
seathinner
6
2.8k
Designing for Performance
lara
611
70k
What's in a price? How to price your products and services
michaelherold
247
13k
Agile that works and the tools we love
rasmusluckow
331
21k
Un-Boring Meetings
codingconduct
0
280
Designing for humans not robots
tammielis
254
26k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Transcript
IT IS BUT NOT AN “ARCHITECTURE” TALK @RagunathJawahar | Uncommon
TEAM SIZE • Lone wolf / she-wolf • 2 /
3 member team • 4 / 5 member team • 5 - 10 member team • Greater than 10
EMOTIONS • Joy • Indifference • Annoyance • Frustration CODE
BASE &
TWO INFAMOUS STATEMENTS (EXCUSES) 1. We don’t need an architecture.
*Not drawn to scale Objects in front of you are
closer than they appear Time Features Prototyping A/B Tests No architecture With architecture
TWO INFAMOUS STATEMENTS (EXCUSES) 1. We don’t need an architecture.
2. They don’t give us enough time for architecture.
WHAT’S REQUIRED Important Unimportant Urgent Not Urgent Structure Behavior Structure
Behavior
WHAT ENDS UP HAPPENING… Important Unimportant Urgent Not Urgent
WHAT ENDS UP HAPPENING… Important Unimportant Urgent Not Urgent Structure
Behavior Behavior
Structure Behavior
Structure Behavior
Structure Behavior
Structure Behavior
“ The goal of software architecture is to minimise the
human resources required to build and maintain the required system. -Robert C. Martin
NO TIME FOR ARCHITECTURE? @rensvandenbergh
SETTLING ON AN ARCHITECTURE
None
FACTORS • Platform • Paradigm • Language • Tools &
dev practices INFLUENTIAL
FACTORS INFLUENTIAL • Platform • Paradigm • Language • Tools
& dev practices
IMPERATIVE FUNCTIONAL • MVC • MVP • MVVM • VIPER
• MVI (One Way) • Redux *Not an exhaustive list
IMPERATIVE FUNCTIONAL • Easy to learn • Mutability • Performance
• Learning curve • Immutability • Predictability • Asynchrony *Not an exhaustive list
DESIGN THINKING Explore Understand Evaluate Make
MAKING & EVALUATING (ANDROID) ARCHITECTURES • Hello stranger • Counter
• Login • BMI Calculator • Image chooser • Quiz with timer • Magnetometer
QUALITY ATTRIBUTES
UBER
SOME COMMON QUALITY ATTRIBUTES • Testability • Adoptability • Adaptability
• Availability • Reliability • Performance • Scalability *Not an exhaustive list • Security • Manageability • Buildability • Reusability • Maintainability • Simplicity • Efficiency
WORKFLOW
VISUALIZE
VISUALIZE
ESCAPE • Boilerplate • Slow down (feels like) VELOCITY
QUESTIONS? @ragunathjawahar / GitHub / Twitter / Medium