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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ragunath Jawahar
December 01, 2018
Programming
4
270
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
56
Single-responsibility principle meets the real world!
ragunathjawahar
0
160
Making sense of large Java and Kotlin classes
ragunathjawahar
1
280
Building Robust Software, Episode 3
ragunathjawahar
1
180
Building Robust Software, Episode 2
ragunathjawahar
1
140
Building Robust Software (Episode 1)
ragunathjawahar
1
370
Speed as a workplace habit
ragunathjawahar
1
330
Building Robust Apps (Swift Edition)
ragunathjawahar
0
270
Re-architecture
ragunathjawahar
0
490
Other Decks in Programming
See All in Programming
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
110
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
240
TipKitTips
ktcryomm
0
130
Raku Raku Notion 20260128
hareyakayuruyaka
0
420
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.3k
Beyond the Basics: Signal Forms
manfredsteyer
PRO
0
110
株式会社 Sun terras カンパニーデック
sunterras
0
1.9k
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
AHC061解説
shun_pi
0
270
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
370
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
2.2k
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
140
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
110
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
240
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
140
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Optimizing for Happiness
mojombo
379
71k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
340
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Context Engineering - Making Every Token Count
addyosmani
9
730
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Raft: Consensus for Rubyists
vanstee
141
7.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