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
4
260
It is but not an "architecture" talk
#105 December Meetup - BlrDroid + BlrKotlin
https://www.meetup.com/blrdroid/events/256468726/
Ragunath Jawahar
December 01, 2018
Tweet
Share
More Decks by Ragunath Jawahar
See All by Ragunath Jawahar
Single-responsibility principle meets the real world! (Dubai Edition)
ragunathjawahar
0
38
Single-responsibility principle meets the real world!
ragunathjawahar
0
150
Making sense of large Java and Kotlin classes
ragunathjawahar
1
260
Building Robust Software, Episode 3
ragunathjawahar
1
160
Building Robust Software, Episode 2
ragunathjawahar
1
120
Building Robust Software (Episode 1)
ragunathjawahar
1
350
Speed as a workplace habit
ragunathjawahar
1
300
Building Robust Apps (Swift Edition)
ragunathjawahar
0
240
Re-architecture
ragunathjawahar
0
470
Other Decks in Programming
See All in Programming
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
120
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
120
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
130
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.9k
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
110
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
オープンソースソフトウェアへの解像度🔬
utam0k
18
3.2k
CSC305 Lecture 09
javiergs
PRO
0
330
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
710
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
240
マンガアプリViewerの大画面対応を考える
kk__777
0
430
SODA - FACT BOOK(JP)
sodainc
1
9k
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Designing Experiences People Love
moore
142
24k
Optimizing for Happiness
mojombo
379
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
The Language of Interfaces
destraynor
162
25k
Facilitating Awesome Meetings
lara
57
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
GitHub's CSS Performance
jonrohan
1032
470k
It's Worth the Effort
3n
187
28k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Thoughts on Productivity
jonyablonski
71
4.9k
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