As your team creates more apps in your Salesforce Org, you're faced with a new set of challenges: managing a well-designed org. Join us to learn about using the practices defined in the Salesforce Governance framework, and the set of tools available for managing issues such as security, coding standards, decisions over declarative verses Apex apps, design standards, overall Org strategy, and change control. By applying these best practices, your team can continue to grow your apps to meet the continuing challenges of your company.
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
Manage Development in Your Org with Salesforce Governance Framework
1. Manage Development in Your Org
with Salesforce Governance
Framework
James Burns
Director - Platform
Community Solution Advisors
2. Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results
expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be
deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other
financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any
statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new
functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our
operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any
litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our
relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our
service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to
larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is
included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent
fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor
Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently
available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions
based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these
forward-looking statements.
7. Traditional Development Process
Subset of Data
for Unit Testing
Subset of Data
for Unit Testing
Production Data
Copy for UAT
Servers
Production
Hardware configuration
Software configuration
Servers
UAT
Environment
Hardware configuration
Software configuration
Servers
Integration
Environment
Hardware configuration
Software configuration
Developer
Development
Environment
8. The Salesforce Platform Development Process
Integration
Environment
UAT
Environment
Subset of Data
for Unit Testing
Developer Pro
Production Data
Copy for UAT
Full Sandbox
Developer
Development
Environment
Subset of Data
for Unit Testing
Developer
Production
9. What Technology Should Your Developers Use?
Business
Analysts
Profession
al
Consider
an Org
Strategy
▪ Web UI
▪ Change sets
▪ Eclipse plugin / Web UI
▪ ANT migration
▪ Different orgs for different
categories of developer
10. How to Automate the Whole Process?
Create/Refresh Salesforce Sandbox
Pre-deployment tasks
Execution Engine
Starts the Build Process
Any Source
Control System
= manual
= automated
Salesforce Metadata
deployment
Post-deployment tasks
Dataloader loading
reference data
12. How does Design Standards help to reduce Risk?
Coding Standards
& Design
Do you have?
Large Data
Volumes
Renegade Developers?
Test Best Practices
Poorly Designed Applications?
Variations in Application Sharing?
Performance and Data Challenges?
Compliance Requirements?
Security
Considerations
Integration
Approaches
13. Are the areas that Coding Standards apply?
Configuration
via
Code
Apex
VisualForce
14. Configuration via Code
Declarativ
e
Declarative
Programmatic
▪ Challengesmodel
Build Data & Considerations
Trigger
▪ Skill sets
▪ User Interface
Controllers
▪ Business Analysts
▪ Business logic
Classes
▪ Professional Programmers
▪ Formulas
▪ Custom UI
▪ Custom UI requires Apex
▪ Validation rules
▪ Advantages
▪ Time to market
▪ Workflows
Flexibility
▪ Declarative Testing
▪ Reporting
▪ Strong versioning
▪ Complex systems - declarative
▪ Advantages
▪ Reuse
▪ Security
▪ Scalable
▪ Disadvantages
▪ Large Data Volumes
▪ Maintainability
Can get complex
▪ Speed
Technical debit
▪ Do not need to be a
Testing
programmer
▪ Disadvantages
▪ Fixed UI
▪ It can get complex
▪ Advanced business logic
need code
Hybrid
Challenge
s
Considerat
ions
Programm
atic
15. What are APEX coding Best Practice?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Bulkify your Code
Avoid SOQL Queries inside FOR Loops
Bulkify your Helper Methods
Using Collections, Streamlining Queries, and Efficient For Loops
Streamlining Multiple Triggers on the Same Object
Querying Large Data Sets
Use of the Limits Apex Methods to Avoid Hitting Governor Limits
Use @future Appropriately
Writing Test Methods to Verify Large Datasets
Avoid Hardcoding IDs
16. 7 Habits of Highly Efficient VisualForce Pages
#
1
#
2
#
3
#
4
#
5
#
6
#
7
…Have Rock-Solid HTML, SS, & JavaScript knowledge
…Do Not Support a Single, Pixel-Perfect UI on Every Browser
...Are Stateless, Don’t Poll Our Servers, and Defer Difficult Work
...Have Optimized SOQL
...Use Standard Set Controllers
...Aren’t Kitchen Sinks
...Do Not Use Any Salesforce Resources
17. What are the types of Testing?
Componen
t/
System
Level
testing
Performan
ce
User
Acceptanc
e
Testing
Environme
nts
Strategies
Tools
18. What is a Salesforce Testing Strategy?
Regression
Component
Why is it
Important
Apex
Functional
Tools
End to End
Type
of
Testing
Testing
When
should
I conduct
it
Client
Types
Roles &
Responsibilities Integration
19. What is a Salesforce Testing Strategy?
Why is it
Important
Apex
When
should
I conduct
it
Testing
Types
Tools
Roles &
Responsibilities
20. What is a Salesforce Testing Strategy?
Regression
Functional
End to End
Component
Type
of
Testing
Client
Integration
21. What are Techniques for Optimization Performance?
Mash-ups
&
Canvas
Differed
Sharing
Calculations
Differed
Business
Rules
Using
SOQL &
SOSL
Deleting
Data
Search
22. What are the key Security Design consideration?
▪
Considerations?
Integration data flow
▪
Any PII data?
▪
Field visibility
▪
Authenticat
ion
Users personas defined?
▪
Data
▪
▪
Application
Are the requirements clearly defined?
Internal Users
▪
External Users
▪
Mobility
23. Integration Patterns and Practices
UI Update
Based on
Data Change
Batch Data
Synchronizati
on
Request
&
Reply
Remote
Call-In
Fire
&
Forget
24. Summary
1. Center of Excellence
2. Change Management
Governance
3. Organization Strategy
4. Design Standards
25. Useful links
Development Lifecycle Guide
http://www.salesforce.com/us/developer/docs/dev_lifecycle/index.htm
Coding Standards
http://wiki.developerforce.com/page/Apex_Code_Best_Practices
Large Data Volumes
http://wiki.developerforce.com/page/Best_Practices_for_Deployments_with_Large_Data_Volumes
Integration Patterns
http://wiki.developerforce.com/page/Integration_Patterns_and_Practices
Visualforce
https://dreamevent.my.salesforce.com/apex/ActivityList#a093000000VhYM0AAN
Help & Training Course
26. We want to hear
from YOU!
Please take a moment to complete our
session survey
Surveys can be found in the “My Agenda”
portion of the Dreamforce app