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
340
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
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
230
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
150
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
開発生産性を上げるための生成AI活用術
starfish719
1
130
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
440
AIで開発生産性を上げる個人とチームの取り組み
taniigo
0
130
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
880
Serena MCPのすすめ
wadakatu
4
860
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
1.6k
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
440
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
150
プログラマのための作曲入門
cheebow
0
520
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.1k
It's Worth the Effort
3n
187
28k
How STYLIGHT went responsive
nonsquared
100
5.8k
How to Think Like a Performance Engineer
csswizardry
27
2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
For a Future-Friendly Web
brad_frost
180
9.9k
Speed Design
sergeychernyshev
32
1.1k
Unsuck your backbone
ammeep
671
58k
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