SlideShare a Scribd company logo
1 of 31
How do I architect?
Thinking about your Salesforce org from an Architectural perspective
About Me
I work for Cloud Sherpas as a
Technical Director (APJ).
@sherod on Twitter
http://limitexception.com
Topics
• What is good architecture?
• The building blocks
• Understanding your business
• Your IT Architecture
• A suitable Data Model
• Dealing with developers
• User Stories
• Mockups
• ‘Anti-patterns’
• Architectural fundamentalism
• Enterprise mentality!
• ‘You aren’t going to need it’
• ‘Don’t repeat yourself’
“Software architecture are those
decisions which are hard to
change”
- Martin Fowler
A Good Architecture
• Should tell a story where all the
pieces fit together.
• Some pieces may be easily
swappable with no effect.
• Some pieces may change the
shape of the puzzle
What is „Architecture‟
• Architecture is not one size fits all, there are consistent broad
practices but there is no 'right’ solution just solutions which are more
or less appropriate depending on:
• Your organisation’s capabilities
• Your organisation’s drivers and motivations
• Good Architecture is not everything!
• Only solving the Right Problems with Good Architecture and Quality
Execution = Great outcome
Forces at work
• Creating an Architecture will often involve making trade offs between
different elements
• Understanding the key constraints/drivers will inform your decision
making.
• E.g.
• “We only expect 50 of these to occur in the first year”
• Perhaps no automation?
• “This product is experimental, we want test the market”
• Fast delivery, will probably be discarded?
• “We’re going to have 80% growth in this in the next 3 months
• Time to Automate!
Assessing a solutions
• You will likely come up with multiple solutions
• For each solution:
• Is it a complete solution?
• Does it fulfil the requirement?
• Is it achievable given our internal constraints? (Time, money, skills)
• Is it achievable given any technology constraints?
• Does it add to our capability or restrict us in the future?
• Does it reduce or increase our risks?
Impact Analysis
• You have to weigh the ‘cost’ of a particular solution on benefit gained
• For instance: Salesforce limits are like money in the bank.
• Is it appropriate to ‘spend’ 100 custom fields on an object for an oddball
requirement?
• Would 50 lines of Apex stop you from consuming all the workflow rules on an
object?
• Does one solution offer a greater benefit for a lesser ‘cost’.
• Costs are likely to be weighted, that is, using all of an unextendable limit is a
greater cost than one that can be extended.
Governance!
• Central review and oversight to weave the growth of the org into a
coherent story
• Decides what the system will and won’t be responsible and the
compromises that are made to achieve a business goal
• This concept has various names:
• An ‘Architect’ or ‘A Product Owner’ or a ‘Champion’ or a ‘Governance Board’
or a ‘Business Owner’
• And various mechanisms
• Change Requests, Cases, ‘Sprints’, etc, etc.
Your IT Architecture
• Understanding the role of Salesforce inside your organisation
• Understanding the role and responsibility of other systems
• How they interact
• System’s of Record / Sources of Truth
Conceptual View
Shows how the functional responsibilities are
split across different systems and which
systems are linked with each other.
This is your ’30,000 foot view’
Logical View
Shows the specific IT systems and the data
flows between each system.
This is your ‘2000 foot view’.
(The Street Level view would include which
servers things run on and so forth)
Your Data Model
The role of the Data Model
• Good outcomes and bad outcomes start with the Data Model
• Starts as abstract concept and becomes more specific
• Conceptual > Logical > Physical
• Your Physical Data Model in Salesforce directly influences what is
possible with Declarative Features vs what requires Custom
Development, you must strike a balance between pragmatism and
idealism
Layers of data model
• What are the key entities make up the solution
and how do they related to one another?Conceptual
• What is the cardinality of the relationships (e.g.
1 to many)Logical
• Object names, Field names, exact data types
(date/numeric), Sizes (255 Chars)Physical
Conceptual
Account
Opportunity
Contact
Physical
Data model concepts
• Modifying your data model later can have a significant impact on your
solution.
• With Salesforce the more flexible your data model the more code you need
to write.
• Many to Many relationships = Custom UI to be used efficiently.
• What concepts is your data model capable of representing?
• Zero to Many
• Account Hierarchy
• One to Many
• Account + Contacts
• Many to Many
• Campaigns
Custom vs Standard Objects?
• Start with
• Understanding the Salesforce Standard Objects and fields and their ‘Special Features’
• If it walks like a duck and talks like a duck, its probably a Duck.
• If it’s called a Duck but it walks like a chicken and talks like a chicken, its
probably a Chicken.
• ‘We need to keep quotes, but we won’t be using Opportunities, or
Products or be sending Quote’s out of Salesforce’
• It’s probably not the Quote object
• ‘We need to track Jobs, with email interactions and pass it back and forth
between people ’
• I think you mean ‘Case’.
„Developers! Developers!
Developers!‟
-Steve Balmer
I.e. What not to do
Dealing with Developers
• Developers are people too.
• Helping them understand why you need something goes a long way
to improving outcomes.
• Your business, your motivations, your needs, your concerns
• Listening helps
• Developers may find logical flaws in your approach or flag risks
• Computers don’t handle concepts like ‘sometimes’ and ‘maybe’ which people are fond
of.
• Judging a developers progress
• “Show me”
• Walkthroughs, demos, iterative release. (Agile)
Good Practices
• Naming conventions will help you organise your org
• What you name something can live with you forever
• Remember to add Descriptions everywhere it is possible in order to
to self document your org
The User Story
• Are a good way of expressing a requirement in a way that provides
context and justification:
• Usually in a standard form:
• ‘As a <Job Role> I want to <some business process> so that I can <achieve
some outcome>’
• E.g.
• “As a Manager I want to be able to approve or deny an expense claim so that I
can enforce the companies standards for acceptable expenses”
Mockups/Storyboard
• Illustrate a flow
• Allow people to visualise the end to end process
• My Favorite tool:
• Balsamic Mockups
„Anti-Patterns‟
I.e. What not to do
“Cargo cult programming”
• Cargo cult programming can also refer to the results of applying
a design pattern or coding style blindly without understanding the
reasons behind that design principle. Examples are adding
unnecessary comments to self-explanatory code, adding deletion
code for objects that garbage collection would have collected
automatically with no problem, and creating factory objects to build
simple objects. It often happens when programmers are
inexperienced with the programming language, or simply
overzealous.
• Wikipedia
Architectural Fundamentalism
• “A idealist is one who, on learning a rose smells better than a
cabbage, concludes it will make a better soup”
• E.g.
• “We don’t use Flow”
• “All <problem > must be solved with <xx>, no exceptions”
• When you decree your standard tool is a hammer, you better hope
you only need to hit nails.
• Taking the long way around to solve a problem is not better.
Complexity = Enterprise = „Grown up”
• The more moving parts you have, the more things that can break.
• Adding complexity increases fragility
• KISS principle: Keep It Simple Stupid
“YAGNI: You aren‟t going to need it”
• Do Think/Plan ahead
• ‘Roadmap’
• ‘Strategy’
• ‘Mission statement’
• ‘Architectural principles’
• Don’t build it until you need it.
• An actual need > than an imagined need.
• Although you need to do a risk assessment on ignoring a need
“Stay DRY (Don‟t repeat yourself)”
• Single sources of truth
• At the Macro Level
• Duplicate Systems (Salesforce AND Zoho)
• At the Org level
• Duplicate managed packages (Docusign AND Echosign)
• Duplicate fields
• Duplicate objects
• Duplicate code.
• A good architecture avoids duplication at all levels.

More Related Content

What's hot

Salesforce Mobile architecture introduction
Salesforce Mobile architecture introductionSalesforce Mobile architecture introduction
Salesforce Mobile architecture introductionDavid Scruggs
 
How Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudHow Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudSalesforce Developers
 
What is force.com?
What is force.com?What is force.com?
What is force.com?Roy Gilad
 
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief OverviewSalesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief OverviewSalesforce Engineering
 
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s GuideIntegrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s GuideSalesforce.org
 
Salesforce com-architecture
Salesforce com-architectureSalesforce com-architecture
Salesforce com-architecturedrewz lin
 
Salesforce1: Every Developer is a Mobile Developer
Salesforce1: Every Developer is a Mobile DeveloperSalesforce1: Every Developer is a Mobile Developer
Salesforce1: Every Developer is a Mobile DeveloperSalesforce Developers
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patternsusolutions
 
Webinar: Integrating Salesforce and Slack (05 12-16)
Webinar: Integrating Salesforce and Slack (05 12-16)Webinar: Integrating Salesforce and Slack (05 12-16)
Webinar: Integrating Salesforce and Slack (05 12-16)Salesforce Developers
 
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuReinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuSalesforce Developers
 
Force.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comForce.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comSalesforce Developers
 
Introduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - BasicIntroduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - Basicsanskriti agarwal
 
Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudSalesforce Developers
 
A Review on Salesforce Integration
A Review on Salesforce IntegrationA Review on Salesforce Integration
A Review on Salesforce Integrationijtsrd
 
Salesforce – The Future of CRM
Salesforce – The Future of CRMSalesforce – The Future of CRM
Salesforce – The Future of CRMijtsrd
 
Getting Started with Salesforce Admin and Developer Foundation
Getting Started with Salesforce Admin and Developer FoundationGetting Started with Salesforce Admin and Developer Foundation
Getting Started with Salesforce Admin and Developer FoundationEdureka!
 
How to Position Enterprise Architects in Today's Business
How to Position Enterprise Architects in Today's Business How to Position Enterprise Architects in Today's Business
How to Position Enterprise Architects in Today's Business Salesforce
 

What's hot (20)

Salesforce Mobile architecture introduction
Salesforce Mobile architecture introductionSalesforce Mobile architecture introduction
Salesforce Mobile architecture introduction
 
How Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the CloudHow Salesforce.com R&D Delivers the Cloud
How Salesforce.com R&D Delivers the Cloud
 
What is force.com?
What is force.com?What is force.com?
What is force.com?
 
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief OverviewSalesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
 
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s GuideIntegrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
 
Salesforce com-architecture
Salesforce com-architectureSalesforce com-architecture
Salesforce com-architecture
 
Salesforce1: Every Developer is a Mobile Developer
Salesforce1: Every Developer is a Mobile DeveloperSalesforce1: Every Developer is a Mobile Developer
Salesforce1: Every Developer is a Mobile Developer
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patterns
 
Webinar: Integrating Salesforce and Slack (05 12-16)
Webinar: Integrating Salesforce and Slack (05 12-16)Webinar: Integrating Salesforce and Slack (05 12-16)
Webinar: Integrating Salesforce and Slack (05 12-16)
 
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on HerokuReinvent your App Dev Lifecycle with Continuous Delivery on Heroku
Reinvent your App Dev Lifecycle with Continuous Delivery on Heroku
 
Exploring the Salesforce REST API
Exploring the Salesforce REST APIExploring the Salesforce REST API
Exploring the Salesforce REST API
 
Force.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.comForce.com Friday: Intro to Force.com
Force.com Friday: Intro to Force.com
 
Introduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - BasicIntroduction to Salesforce Platform - Basic
Introduction to Salesforce Platform - Basic
 
Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App Cloud
 
Write bulletproof trigger code
Write bulletproof trigger codeWrite bulletproof trigger code
Write bulletproof trigger code
 
Introduction to salesforce ppt
Introduction to salesforce pptIntroduction to salesforce ppt
Introduction to salesforce ppt
 
A Review on Salesforce Integration
A Review on Salesforce IntegrationA Review on Salesforce Integration
A Review on Salesforce Integration
 
Salesforce – The Future of CRM
Salesforce – The Future of CRMSalesforce – The Future of CRM
Salesforce – The Future of CRM
 
Getting Started with Salesforce Admin and Developer Foundation
Getting Started with Salesforce Admin and Developer FoundationGetting Started with Salesforce Admin and Developer Foundation
Getting Started with Salesforce Admin and Developer Foundation
 
How to Position Enterprise Architects in Today's Business
How to Position Enterprise Architects in Today's Business How to Position Enterprise Architects in Today's Business
How to Position Enterprise Architects in Today's Business
 

Similar to "How do I Architect?" - Quick Introduction to Architecture for Salesforce Admins

Lean UX in an Agency Environment
Lean UX in an Agency EnvironmentLean UX in an Agency Environment
Lean UX in an Agency EnvironmentJef Bekes
 
Customer Development Fast Protyping
Customer Development Fast ProtypingCustomer Development Fast Protyping
Customer Development Fast ProtypingSerdar Temiz
 
How to make change happen in your organisation by talking your devs language
How to make change happen in your organisation by talking your devs languageHow to make change happen in your organisation by talking your devs language
How to make change happen in your organisation by talking your devs languageBuiltvisible
 
How to build the perfect pattern library
How to build the perfect pattern libraryHow to build the perfect pattern library
How to build the perfect pattern libraryWolf Brüning
 
Design Operations mural - 8 mar 2017
Design Operations   mural - 8 mar 2017Design Operations   mural - 8 mar 2017
Design Operations mural - 8 mar 2017Dave Malouf
 
(PROJEKTURA) lean and agile for corporation @Cotrugli MBA
(PROJEKTURA) lean and agile for corporation @Cotrugli MBA(PROJEKTURA) lean and agile for corporation @Cotrugli MBA
(PROJEKTURA) lean and agile for corporation @Cotrugli MBARatko Mutavdzic
 
Perspectives on salesforce architecture Forcelandia talk 2017
Perspectives on salesforce architecture   Forcelandia talk 2017Perspectives on salesforce architecture   Forcelandia talk 2017
Perspectives on salesforce architecture Forcelandia talk 2017Steven Herod
 
Analytics-Enabled Experiences: The New Secret Weapon
Analytics-Enabled Experiences: The New Secret WeaponAnalytics-Enabled Experiences: The New Secret Weapon
Analytics-Enabled Experiences: The New Secret WeaponDatabricks
 
Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)Robert Haines
 
Adventures in enterprise architecture
Adventures in enterprise architectureAdventures in enterprise architecture
Adventures in enterprise architectureJeff Bramwell
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile designIgor Moochnick
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation ProjectsAmazon Web Services
 
Fast prototypes and customer development for start ups
Fast prototypes and customer development for start upsFast prototypes and customer development for start ups
Fast prototypes and customer development for start upsSerdar Temiz
 
Scaling agile without the scaling framework
Scaling agile without the scaling frameworkScaling agile without the scaling framework
Scaling agile without the scaling frameworkagilebydesign
 
Validating Ideas Through Prototyping
Validating Ideas Through PrototypingValidating Ideas Through Prototyping
Validating Ideas Through PrototypingChris Risdon
 
Become Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackTypeBecome Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackTypenathanmarz
 
How to Add Intelligence to Your Product Design
How to Add Intelligence to Your Product DesignHow to Add Intelligence to Your Product Design
How to Add Intelligence to Your Product DesignSalesforce Developers
 

Similar to "How do I Architect?" - Quick Introduction to Architecture for Salesforce Admins (20)

Lean UX in an Agency Environment
Lean UX in an Agency EnvironmentLean UX in an Agency Environment
Lean UX in an Agency Environment
 
Customer Development Fast Protyping
Customer Development Fast ProtypingCustomer Development Fast Protyping
Customer Development Fast Protyping
 
How to make change happen in your organisation by talking your devs language
How to make change happen in your organisation by talking your devs languageHow to make change happen in your organisation by talking your devs language
How to make change happen in your organisation by talking your devs language
 
How to build the perfect pattern library
How to build the perfect pattern libraryHow to build the perfect pattern library
How to build the perfect pattern library
 
Design Operations mural - 8 mar 2017
Design Operations   mural - 8 mar 2017Design Operations   mural - 8 mar 2017
Design Operations mural - 8 mar 2017
 
(PROJEKTURA) lean and agile for corporation @Cotrugli MBA
(PROJEKTURA) lean and agile for corporation @Cotrugli MBA(PROJEKTURA) lean and agile for corporation @Cotrugli MBA
(PROJEKTURA) lean and agile for corporation @Cotrugli MBA
 
Perspectives on salesforce architecture Forcelandia talk 2017
Perspectives on salesforce architecture   Forcelandia talk 2017Perspectives on salesforce architecture   Forcelandia talk 2017
Perspectives on salesforce architecture Forcelandia talk 2017
 
Analytics-Enabled Experiences: The New Secret Weapon
Analytics-Enabled Experiences: The New Secret WeaponAnalytics-Enabled Experiences: The New Secret Weapon
Analytics-Enabled Experiences: The New Secret Weapon
 
Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)
 
Adventures in enterprise architecture
Adventures in enterprise architectureAdventures in enterprise architecture
Adventures in enterprise architecture
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Designing for efficiency.pdf
Designing for efficiency.pdfDesigning for efficiency.pdf
Designing for efficiency.pdf
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
A Career in SharePoint
A Career in SharePointA Career in SharePoint
A Career in SharePoint
 
Fast prototypes and customer development for start ups
Fast prototypes and customer development for start upsFast prototypes and customer development for start ups
Fast prototypes and customer development for start ups
 
Scaling agile without the scaling framework
Scaling agile without the scaling frameworkScaling agile without the scaling framework
Scaling agile without the scaling framework
 
Lean Analytics: How to get more out of your data science team
Lean Analytics: How to get more out of your data science teamLean Analytics: How to get more out of your data science team
Lean Analytics: How to get more out of your data science team
 
Validating Ideas Through Prototyping
Validating Ideas Through PrototypingValidating Ideas Through Prototyping
Validating Ideas Through Prototyping
 
Become Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackTypeBecome Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackType
 
How to Add Intelligence to Your Product Design
How to Add Intelligence to Your Product DesignHow to Add Intelligence to Your Product Design
How to Add Intelligence to Your Product Design
 

More from Steven Herod

9 Principles for Salesforce Application Architecture
9 Principles for Salesforce Application Architecture9 Principles for Salesforce Application Architecture
9 Principles for Salesforce Application ArchitectureSteven Herod
 
How Custom is your Org? CEER at Dreamforce 2019
How Custom is your Org?  CEER at Dreamforce 2019How Custom is your Org?  CEER at Dreamforce 2019
How Custom is your Org? CEER at Dreamforce 2019Steven Herod
 
Super Secret Salesforce
Super Secret SalesforceSuper Secret Salesforce
Super Secret SalesforceSteven Herod
 
The dreamforce 2018 wrap final
The dreamforce 2018 wrap finalThe dreamforce 2018 wrap final
The dreamforce 2018 wrap finalSteven Herod
 
Sydney salesforce developer group talker tips
Sydney salesforce developer group   talker tipsSydney salesforce developer group   talker tips
Sydney salesforce developer group talker tipsSteven Herod
 
Dreamforce 2013 for Developers (Sydney Salesforce Developer User Group)
Dreamforce 2013 for Developers (Sydney Salesforce Developer User Group)Dreamforce 2013 for Developers (Sydney Salesforce Developer User Group)
Dreamforce 2013 for Developers (Sydney Salesforce Developer User Group)Steven Herod
 
Force.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionForce.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionSteven Herod
 
Twitter bootstrap force.com site and responsive design
Twitter bootstrap   force.com site and responsive designTwitter bootstrap   force.com site and responsive design
Twitter bootstrap force.com site and responsive designSteven Herod
 
Becoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectBecoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectSteven Herod
 

More from Steven Herod (9)

9 Principles for Salesforce Application Architecture
9 Principles for Salesforce Application Architecture9 Principles for Salesforce Application Architecture
9 Principles for Salesforce Application Architecture
 
How Custom is your Org? CEER at Dreamforce 2019
How Custom is your Org?  CEER at Dreamforce 2019How Custom is your Org?  CEER at Dreamforce 2019
How Custom is your Org? CEER at Dreamforce 2019
 
Super Secret Salesforce
Super Secret SalesforceSuper Secret Salesforce
Super Secret Salesforce
 
The dreamforce 2018 wrap final
The dreamforce 2018 wrap finalThe dreamforce 2018 wrap final
The dreamforce 2018 wrap final
 
Sydney salesforce developer group talker tips
Sydney salesforce developer group   talker tipsSydney salesforce developer group   talker tips
Sydney salesforce developer group talker tips
 
Dreamforce 2013 for Developers (Sydney Salesforce Developer User Group)
Dreamforce 2013 for Developers (Sydney Salesforce Developer User Group)Dreamforce 2013 for Developers (Sydney Salesforce Developer User Group)
Dreamforce 2013 for Developers (Sydney Salesforce Developer User Group)
 
Force.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionForce.com Canvas - a Quick Introduction
Force.com Canvas - a Quick Introduction
 
Twitter bootstrap force.com site and responsive design
Twitter bootstrap   force.com site and responsive designTwitter bootstrap   force.com site and responsive design
Twitter bootstrap force.com site and responsive design
 
Becoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectBecoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical Architect
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

"How do I Architect?" - Quick Introduction to Architecture for Salesforce Admins

  • 1. How do I architect? Thinking about your Salesforce org from an Architectural perspective
  • 2. About Me I work for Cloud Sherpas as a Technical Director (APJ). @sherod on Twitter http://limitexception.com
  • 3. Topics • What is good architecture? • The building blocks • Understanding your business • Your IT Architecture • A suitable Data Model • Dealing with developers • User Stories • Mockups • ‘Anti-patterns’ • Architectural fundamentalism • Enterprise mentality! • ‘You aren’t going to need it’ • ‘Don’t repeat yourself’
  • 4. “Software architecture are those decisions which are hard to change” - Martin Fowler
  • 5. A Good Architecture • Should tell a story where all the pieces fit together. • Some pieces may be easily swappable with no effect. • Some pieces may change the shape of the puzzle
  • 6. What is „Architecture‟ • Architecture is not one size fits all, there are consistent broad practices but there is no 'right’ solution just solutions which are more or less appropriate depending on: • Your organisation’s capabilities • Your organisation’s drivers and motivations • Good Architecture is not everything! • Only solving the Right Problems with Good Architecture and Quality Execution = Great outcome
  • 7. Forces at work • Creating an Architecture will often involve making trade offs between different elements • Understanding the key constraints/drivers will inform your decision making. • E.g. • “We only expect 50 of these to occur in the first year” • Perhaps no automation? • “This product is experimental, we want test the market” • Fast delivery, will probably be discarded? • “We’re going to have 80% growth in this in the next 3 months • Time to Automate!
  • 8. Assessing a solutions • You will likely come up with multiple solutions • For each solution: • Is it a complete solution? • Does it fulfil the requirement? • Is it achievable given our internal constraints? (Time, money, skills) • Is it achievable given any technology constraints? • Does it add to our capability or restrict us in the future? • Does it reduce or increase our risks?
  • 9. Impact Analysis • You have to weigh the ‘cost’ of a particular solution on benefit gained • For instance: Salesforce limits are like money in the bank. • Is it appropriate to ‘spend’ 100 custom fields on an object for an oddball requirement? • Would 50 lines of Apex stop you from consuming all the workflow rules on an object? • Does one solution offer a greater benefit for a lesser ‘cost’. • Costs are likely to be weighted, that is, using all of an unextendable limit is a greater cost than one that can be extended.
  • 10. Governance! • Central review and oversight to weave the growth of the org into a coherent story • Decides what the system will and won’t be responsible and the compromises that are made to achieve a business goal • This concept has various names: • An ‘Architect’ or ‘A Product Owner’ or a ‘Champion’ or a ‘Governance Board’ or a ‘Business Owner’ • And various mechanisms • Change Requests, Cases, ‘Sprints’, etc, etc.
  • 11. Your IT Architecture • Understanding the role of Salesforce inside your organisation • Understanding the role and responsibility of other systems • How they interact • System’s of Record / Sources of Truth
  • 12. Conceptual View Shows how the functional responsibilities are split across different systems and which systems are linked with each other. This is your ’30,000 foot view’
  • 13. Logical View Shows the specific IT systems and the data flows between each system. This is your ‘2000 foot view’. (The Street Level view would include which servers things run on and so forth)
  • 15. The role of the Data Model • Good outcomes and bad outcomes start with the Data Model • Starts as abstract concept and becomes more specific • Conceptual > Logical > Physical • Your Physical Data Model in Salesforce directly influences what is possible with Declarative Features vs what requires Custom Development, you must strike a balance between pragmatism and idealism
  • 16. Layers of data model • What are the key entities make up the solution and how do they related to one another?Conceptual • What is the cardinality of the relationships (e.g. 1 to many)Logical • Object names, Field names, exact data types (date/numeric), Sizes (255 Chars)Physical
  • 19. Data model concepts • Modifying your data model later can have a significant impact on your solution. • With Salesforce the more flexible your data model the more code you need to write. • Many to Many relationships = Custom UI to be used efficiently. • What concepts is your data model capable of representing? • Zero to Many • Account Hierarchy • One to Many • Account + Contacts • Many to Many • Campaigns
  • 20. Custom vs Standard Objects? • Start with • Understanding the Salesforce Standard Objects and fields and their ‘Special Features’ • If it walks like a duck and talks like a duck, its probably a Duck. • If it’s called a Duck but it walks like a chicken and talks like a chicken, its probably a Chicken. • ‘We need to keep quotes, but we won’t be using Opportunities, or Products or be sending Quote’s out of Salesforce’ • It’s probably not the Quote object • ‘We need to track Jobs, with email interactions and pass it back and forth between people ’ • I think you mean ‘Case’.
  • 22. Dealing with Developers • Developers are people too. • Helping them understand why you need something goes a long way to improving outcomes. • Your business, your motivations, your needs, your concerns • Listening helps • Developers may find logical flaws in your approach or flag risks • Computers don’t handle concepts like ‘sometimes’ and ‘maybe’ which people are fond of. • Judging a developers progress • “Show me” • Walkthroughs, demos, iterative release. (Agile)
  • 23. Good Practices • Naming conventions will help you organise your org • What you name something can live with you forever • Remember to add Descriptions everywhere it is possible in order to to self document your org
  • 24. The User Story • Are a good way of expressing a requirement in a way that provides context and justification: • Usually in a standard form: • ‘As a <Job Role> I want to <some business process> so that I can <achieve some outcome>’ • E.g. • “As a Manager I want to be able to approve or deny an expense claim so that I can enforce the companies standards for acceptable expenses”
  • 25. Mockups/Storyboard • Illustrate a flow • Allow people to visualise the end to end process • My Favorite tool: • Balsamic Mockups
  • 27. “Cargo cult programming” • Cargo cult programming can also refer to the results of applying a design pattern or coding style blindly without understanding the reasons behind that design principle. Examples are adding unnecessary comments to self-explanatory code, adding deletion code for objects that garbage collection would have collected automatically with no problem, and creating factory objects to build simple objects. It often happens when programmers are inexperienced with the programming language, or simply overzealous. • Wikipedia
  • 28. Architectural Fundamentalism • “A idealist is one who, on learning a rose smells better than a cabbage, concludes it will make a better soup” • E.g. • “We don’t use Flow” • “All <problem > must be solved with <xx>, no exceptions” • When you decree your standard tool is a hammer, you better hope you only need to hit nails. • Taking the long way around to solve a problem is not better.
  • 29. Complexity = Enterprise = „Grown up” • The more moving parts you have, the more things that can break. • Adding complexity increases fragility • KISS principle: Keep It Simple Stupid
  • 30. “YAGNI: You aren‟t going to need it” • Do Think/Plan ahead • ‘Roadmap’ • ‘Strategy’ • ‘Mission statement’ • ‘Architectural principles’ • Don’t build it until you need it. • An actual need > than an imagined need. • Although you need to do a risk assessment on ignoring a need
  • 31. “Stay DRY (Don‟t repeat yourself)” • Single sources of truth • At the Macro Level • Duplicate Systems (Salesforce AND Zoho) • At the Org level • Duplicate managed packages (Docusign AND Echosign) • Duplicate fields • Duplicate objects • Duplicate code. • A good architecture avoids duplication at all levels.