My Forcelandia talk for 2017 on principles of Architecture, although specific to Salesforce. You can find the recording on Youtube: https://www.youtube.com/watch?v=ND-dX-__I1Y&t=7s
2. Agenda
• What is Architecture?
• Developer / Architect, what’s the difference?
• General goals of Architecture
• Speed Run
• Random stuff I want to tell you.
11. Developer:
This is a Beer,
made by
Fosters
Architect:
This is a type of
Alcohol,
It will bring
happiness
"Pregnancy and alcohol do not mix. Drinking alcoholic
beverages, including wine, coolers and beer, during
pregnancy can cause birth defects.“
Drink Responsibly
16. Types of Smurfs Architect
•Application Architect
•Internal Design of
App
•Solution Architect
•Overall design of end
to end solution
•Enterprise Architect
•Responsibility for
entire organisation
•Data Architect
•Integration Architect
•Infrastructure
Architect
•Network Architect
18. Keep in mind… Conway’s law
“organizations which design systems ... are constrained to produce
designs which are copies of the communication structures of these
organizations.“
https://en.wikipedia.org/wiki/Conway%27s_law
More Architects with small areas of responsibility
= more complexity in each area
= WELCOME TO THE ENTERPRISE
20. Architects
You
“For the most part architect in the
computing industry is some old white guy
who’s completely forgotten anything about
software development (if they ever did any)
and spends all day writing PowerPoint
presentations on choosing WebSphere vs
Weblogic. This is then inflicted on the
organisation like stone tablets being
handed down from the mountain.”
https://joneaves.wordpress.com/2014/09/17/you-say-you-
want-a-revolution/
21.
22. Generic Goals
of
Architecture
A solution should be:
1. Able to fulfil the business goals tasked to it
2. Reliable
3. Amenable to change
4. Sustainable, over its expected lifetime and beyond
24. What are the activities of the business?
How does it make its income?
What’s the structure of the business?
How many people work in each area?
What are the locations of the business?
What are the goals of the business?
What are the capabilities of the business?
What are the key challenges of the business?
26. Most affected by:
• Inappropriate responsibilities
• Subsystems being used for purposes they were not intended
• Inappropriate Separation of Concerns
• Subsystems are ‘entangled’ and things are connected to one another
• Insufficient Resilience
• Wasn’t built to fail.
• Build quality
• The actual quality execution of the project, or of the systems the project relies
on.
28. Most affected by:
• Insufficient Separation of Concerns.
• Fuzzy boundaries, interdependencies, spaghetti code
• This is why people are so nuts about Microservices
• Insufficient organisational capability
• Fear of change
• Nobody knows how to change it
• Lack of Documentation
• Lack of people reading the Documentation
• Counter measure: DevOps / Continuous Delivery
30. Where sustainability goes wrong
• Lack of organisational capability to build or maintain a technology
• E.g. Complex Salesforce in a .Net Shop
• Lack of organisational commitment to build or maintain
• Especially after the ‘big investment’ and people lose interest
• Transient technology choices
• This week’s favourite JavaScript framework
• ‘Nobody ever got fired for buying IBM’
• High ongoing costs
• In Effort / Money
40. “Your ego’s writing cheques your
body can’t cash”
Choose the right thing,
not the right thing for you.
41. “I say we take
off and nuke
the entire site
from orbit”
The second system effect is the tendency of small,
elegant, and successful systems, to be succeeded by
over-engineered, bloated systems, due to inflated
expectations and overconfidence.
42. “You either die a
hero or live long
enough to become
the villain.”
Every decision you make is wrong, just not yet.
Architect .