#105 December Meetup - BlrDroid + BlrKotlin https://www.meetup.com/blrdroid/events/256468726/
IT IS BUT NOT AN “ARCHITECTURE” TALK@RagunathJawahar | Uncommon
View Slide
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• FrustrationCODE BASE &
TWO INFAMOUS STATEMENTS (EXCUSES)1. We don’t need an architecture.
*Not drawn to scaleObjects in front of youare closer than they appearTimeFeaturesPrototypingA/B TestsNo architectureWith architecture
TWO INFAMOUS STATEMENTS (EXCUSES)1. We don’t need an architecture.2. They don’t give us enough time forarchitecture.
WHAT’S REQUIREDImportant UnimportantUrgentNot UrgentStructureBehaviorStructureBehavior
WHAT ENDS UP HAPPENING…Important UnimportantUrgentNot Urgent
WHAT ENDS UP HAPPENING…Important UnimportantUrgentNot UrgentStructureBehaviorBehavior
Structure Behavior
“The goal of software architecture is to minimisethe human resources required to build andmaintain the required system.-Robert C. Martin
NO TIME FOR ARCHITECTURE?@rensvandenbergh
SETTLING ON ANARCHITECTURE
FACTORS• Platform• Paradigm• Language• Tools & dev practicesINFLUENTIAL
FACTORSINFLUENTIAL • 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 THINKINGExploreUnderstandEvaluate Make
MAKING & EVALUATING (ANDROID) ARCHITECTURES• Hello stranger• Counter• Login• BMI Calculator• Image chooser• Quiz with timer• Magnetometer
QUALITYATTRIBUTES
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
ESCAPE • Boilerplate• Slow down (feels like)VELOCITY
QUESTIONS?@ragunathjawahar / GitHub / Twitter / Medium