SlideShare a Scribd company logo
Salesforce Application
Lifecycle Management
​Sam Garforth
​Technical Architect
Development
Lifecycle and
Deployment
Designer Certified
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garforth
Agenda
• What is Application Lifecycle Management?
• Centre of Excellence
• Release Management
• Deployment Tool Options
• Testing Strategy
• SFDX Roadmap
What is Application Lifecycle
Management?
A Salesforce Development Lifecycle
Backlog
Release
Management
Development Process
Ideas
Business
Backlog
Sprint
Developers
• Code or
Configure
• Unit Test
• Migration Scripts
Testing
User
Acceptance
Testing
Production
Environmental Management
Agile Methodology
Break-Fix
Governance
Backlog
Release Management
Development Process
Ideas Busine
ss
Backlo
g
Sprint
Developers
• Co
de
or
Co
nfi
gu
re
• Un
it
Te
st
• Mi
gra
tio
n
Scr
ipt
s
Testing
User
Acceptance
Testing
Production
Environmental Management
Agile Methodology
Break-Fix
Backlog
Release Management
Development Process
Ideas Busine
ss
Backlo
g
Sprint
Developers
• Co
de
or
Co
nfi
gu
re
• Un
it
Te
st
• Mi
gra
tio
n
Scr
ipt
s
Testing
User
Acceptance
Testing
Production
Environmental Management
Agile Methodology
Break-Fix
Backlog
Release Management
Development Process
Ideas Busine
ss
Backlo
g
Sprint
Developers
• Co
de
or
Co
nfi
gu
re
• Un
it
Te
st
• Mi
gra
tio
n
Scr
ipt
s
Testing
User
Acceptance
Testing
Production
Environmental Management
Agile Methodology
Break-Fix
Backlog
Release Management
Development Process
Ideas Busine
ss
Backlo
g
Sprint
Developers
• Co
de
or
Co
nfi
gu
re
• Un
it
Te
st
• Mi
gra
tio
n
Scr
ipt
s
Testing
User
Acceptance
Testing
Production
Environmental Management
Agile Methodology
Break-Fix
Backlog
Release Management
Development Process
Ideas Busine
ss
Backlo
g
Sprint
Developers
• Co
de
or
Co
nfi
gu
re
• Un
it
Te
st
• Mi
gra
tio
n
Scr
ipt
s
Testing
User
Acceptance
Testing
Production
Environmental Management
Agile Methodology
Break-Fix
Backlog
Release Management
Development Process
Ideas Busine
ss
Backlo
g
Sprint
Developers
• Co
de
or
Co
nfi
gu
re
• Un
it
Te
st
• Mi
gra
tio
n
Scr
ipt
s
Testing
User
Acceptance
Testing
Production
Environmental Management
Agile Methodology
Break-Fix
Consistent governance is needed across all projects
The Software Development Lifecycle
​Technology
• Delivery
• Support and Training
​Processes and Roles
• Business Process
• Technology Process
​Tooling
• Platform
• Metadata
• Migration
P
ROCESSES
PEOPLE
TRUSTED ADVISOR
TECHNOLOGY
Delivering
Value
​Business
• Users
• Stakeholders
The Key Elements of a Salesforce Governance Framework
• Center of Excellence (CoE)
The process of managing governance.
• Change Management
Processes to manage the overall program or project
lifecycle: from collecting Business requirements to
moving code from development through production.
• Org Strategy
Designing and structuring the foundational “Orgs” or
areas where the customer’s Salesforce applications will
reside and run.
• Technical Governance
Guiding principles for effectively developing the
technical aspects of Salesforce.
Center of
Excellence
Change
Management
Org Strategy Technical
Governance
What is a Salesforce Centre of
Excellence?
Defining accountability at the Executive level
Ensuring Business Goals & Strategic Initiatives are
prioritized, leveraged, and executed upon
Coordinating across initiatives Facilitating and driving user adoption
Improving speed of execution
Sharing business and technology best practices across
business units
Improving communication and visibility across the
organization
Driving corporate and industry compliance
Benefits of Establishing a Center of Excellence
A CoE can accelerate business value by:
A CoE drives organizations to identify, prioritize, execute, and
communicate, while optimally leveraging People, Processes, Knowledge,
and Technology and at the same time ensuring high value for all users
and meeting the overall Business GOALS.
Center of
Excellence
People
Processes
Technology
Knowledge
Base
What is a Sample CoE Structure?
Executive Sponsors
Programme Team
Release
(Programmanagement)
Business
ScrumTeams
(Development)
Architectural
Adoption/Training
Support
What are the Crucial “Starter Set” Assets to Focus On?
Solution
Architecture
Data
Strategy
Security & Data
Sharing Model
Development
Standards &
Best Practices
Data
Integration
Approaches &
Execution
Change
Management
CoE
Drives
Innovation
Lifecycle of a Salesforce Center of Excellence
Getting Started
§ Identify Executive Sponsors
§ Conduct Stakeholder Analysis
§ Define Business Objectives
§ Define Program Charter
§ Define Center of Excellence
Operating Model, Roles and
Responsibilities
§ Set up Meeting Agenda and
Schedule
Emerging
§ Define Process Maps
§ Define System Blueprint
§ Define Management and Risk
Controls
§ Define Release Request Process
§ Define Success Metrics Strategy
§ Define Data Architecture
§ Define Data Quality Strategy
§ Develop Adoption and Strategy
Plan
§ Establish Environment
Management and Code
Migration process
Practicing
§ Map Business
Process/Requirements
§ Develop Roadmap
§ Develop Integration Architecture
§ Define Deployment and
Training Strategy
§ Define On-going Support Plan
§ Establish Change Control
Process
§ Define long-term Data
management strategy
§ Define long-term Integration
strategy
§ Establish key cross-unit
standards
Leading
§ Provide frequent updates via
Newsletter/Website
§ Conduct User Group Meetings
§ Develop Vendor Management
processes and standards
§ Validate Success Metrics and
Adjust (KPI’s)
§ Define ROI model
Release Management
Development Method - A flexible approach
Must follow change process
• Apex and VisualForce
• Add/modify fields and page layouts
• Create/update Workflow Rules and Approvals
• Create/update sharing rules and public groups
• Create/update Profiles
• Create/update Custom Objects and Fields
Safe in Production
• Add Users
• Update Role Hierarchy (depends on solution)
• Reports
• Dashboards
• List View Management
• Documentation Management
• User Administration
• Solution Management
• Communication Templates
• Email Templates
• Manage Case processes (escalation, assignment, etc.)
• Manage Leads processes (escalation, assignment,
etc.)
Daily
Changes
Scheduled
Changes
Segregating Business and IT Responsibilities
Business Responsibilities
Daily
Changes
• Reports
• Dashboards
• List View Management
• Documentation Management
• User Administration
• Solution Management
• Communication Templates
• Email Templates
IT Responsibilities
• Hotfix / Emergency Release: Immediate
fix for showstopper issue
(Ad hoc – As required)
• Minor Release: Simple configuration
changes that do not impact day to day
business or require training.
(Target Monthly / Fortnightly)
• Major Release: New Initiatives and other
changes that require training or testing.
(Target Quarterly)
Scheduled
Changes
Salesforce Sandbox is a Key Part of Building in the Cloud
• Copy of production on same infrastructure
• Development tools to build and customize
• Change Sets and Templates for faster
deployment
• Metadata APIs and IDE for faster development
SANDBOX
PRODUCTION
Managing Configuration Changes - declaratively
​Promote Changes Seamlessly with Change Sets
PRODUCTION
1. Create Sandbox
2. Make Changes
3. Deploy Change Sets
1. Create a new Sandbox in
just three 3 clicks
Define acceptable change
paths – who can promote
changes and to which
environments
2. Make changes
3. Bundle and deploy
change set with full
dependency checking to
product or other sandbox
Tracking Changes
​Any change in the application affects the Metadata but not all Metadata is accessible through the Metadata API
• The Metadata API is getting better with each new release
Changes supported by
the Metadata API
Changes not supported by
the Metadata API or made in the UI
Source Control System
(Centralized or Distributed)
Change Log
Metadata API Client
(Force.com IDE or Migration Tool)
Web UI Scripting Tool
(Selenium…)
Manual
(Spreadsheet or Application)
• What application/version
• Who made the change
• What component has been
changed
• When change occurred
• Store securely and share applications sources
• Maintain a separate branch for each project and application version
• Help managing concurrent access and modifications of sources with file
locking, diff and merge of source files
Single Sandbox – Scenario for small & quick projects
New custom objects, tabs, and applications
Integrations with other systems
Apps involving Visualforce, workflow, or new validation
rules
New customer/org
Smaller account
New admins/developer
Org is not live
No interference with production data
Challenge
Addressed
For Whom
How
What
Not being able to track changes going on in
production
Multiple Sandbox – For greater development flexibility
Developing new app/feature
Installing AppExchange App
Testing/QA app
Emerging customer/Single Org
Maturing Developer
Appex/Partner Projects
Isolate developer environment
No customizations occur in
production org
Conflicts and overwriting changesChallenge
Addressed
For Whom
How
What
Multiple Sandbox – Merge Changes before deploy
Test in the integration sandbox.
Migrate changes to a UAT environment
Perform user-acceptance testing.
Migrate changes to a staging environment
Schedule the release
Enterprise Customer
Single/multiple orgs
Keeping orgs in sync as a team
Incomplete tracking and logging of changes
Conflicts and errors discovered while
deployment
Create one Developer sandbox per
developer
Challenge
Addressed
For Whom
How
What
Sandbox Environments
Environments for every stage in the development lifecycle
Developer
Daily Refresh
Metadata Only
200 MB / 200 MB
Developer Pro
Daily Refresh
Metadata Only
1 GB / 1 GB
Partial Copy
5-Day Refresh
Sample Production Data
5 GB / 5 GB
Full Copy
29-Day Refresh
All Production Data
Same as Production
★ Development
★ Testing
★ Development
★ Testing
★ Continuous Build
★ Continuous Build
★ UAT
★ Training
★ Integration
★ Load Testing
★ Staging
Sandboxes Support robust ALM Environment
Management
Production
Full Copy
Developer Pro
Partial Copy
Legend
Developer
…
…
Example Architecture
developer
developer
developer
developer
developer
pro
Integrated Dev
developer
pro
QA
partial
copy
Integrated QA
full
copy
Staging
full
copy
full
copy
UAT
Performance
Testing
partial
copy
Training
full
copy
Production
Support
Production
Sandboxes Available Per Edition
2550100
Deployment Tool
Options
Tools: Selecting the right tools for the job
​Salesforce Tools and Framework
• Force.com IDE (Eclipse based)
• Change Sets (Cloud Deploy)
• Ant/force.com migration tool
​3rd Party Tools
• Dreamfactory Monarch: Copy, merge, migrate and archive data between
orgs
• Dreamfactory SnapShot: View, compare and push configurations
(Metadata)
​Customer Tools
• Version Control
• Change Management
Dev
Test
Dev
Version
Control
Project Branch
BASIC ADVANCED
Cloud
Deploy IDE Ant
Version
Control
Managing Configuration Changes – programmatically
​Integrate (and automate) with version control and continuous integration
• Dreamfactory Cascade
• Copado
• Flosum
• AutoRabit
• GearSet
• Odaseva for Salesforce
3rd Party Code Migration Tools
What does the Salesforce community say?
​Copado
​AutoRABIT
Source: Salesforce.com AppExchange as at 13 July 2016
Deployment Artifacts - Packages
Artifact Description Best For Limitations
Unmanaged
Packages
A collection of application
components that can be
distributed and installed in
other orgs.
• One-time setup
of a development
environment
• A starting point
configuration that
can be customised
• You can’t make further
changes to packaged
components using
subsequent packages
• Requires a Developer
Edition org
Managed
Packages
A collection of application
components with a namespace
that can be distributed and
installed in other orgs.
Managed packages can be
listed on the AppExchange and
are upgradeable.
• Commercial
applications
• Functionality you
want to add in
multiple, possibly
non-related orgs
• Access to code is
limited or hidden
• Unique namespace can
be bothersome or a
blocker
• Difficult to modify or
delete components
• Requires a Developer
Edition org
Let’s look at what is required for a testing strategy
Testing Strategy
The Testing Cycle
Development
User Acceptance
Testing
Production
Release
Manager
Perform
Unit Tests
Evaluate
Outcomes
Refactor or
Push to QA
Write Code
Quality Assurance
Functional
Test
Regression Test
Automated
Smoke Test
End-to-End
Performance
TestApproved
Failed
Test Data in Sandbox
​You can supply data for testing in sandbox in several ways.
• Sandbox templates provide real-world data that makes your testing
environment more closely resemble your production instance. Only
available in a Partial Copy or Full sandbox.
• Import external data into your sandbox to make repeatable testing easier
because the data set is static and can be relied on not to change.
Performance & End to End Testing
• Governor limits
• Significant Transactions:
• Business transactions that are executed in high volume
• Transactions involved in integration with other systems/applications
• Transactions that may be suspect from a design standpoint (complex multi-object dependencies)
or contention with respect to other types of transactions.
• User Interface which has complex JavaScript and/or JS remoting
• Peak Load
Security
Website Vulnerabilities Code Scanners
• Cross-site scripting
• Cross-site request forgery
• Authentication, authorization,
and session management
• Injection flaws
• Force.com Security Source Code Scanner
• Checkmarx
• The Chimera web scanner
• SonarQube with CodeScan
Test Custom Controllers
Best Practices
Testing Tools
Cinnamon & Selenium
• Cinnamon uses Selenium to execute actions on a browser
• Selenium is a de-facto browser-based automation tool for web applications today
• Selenium supports all modern web browsers
• Salesforce R&D uses Selenium for internal GUI test automation and we have strong expertise and experience with
Selenium
• By using a cloud-solution such as Sauce Labs, you can run your tests on more than 150 OS/Browser combinations
without having any hardware setup
Next Generation Developer Experience
SF/DX
Next Generation Developer Experience
For more info see
https://developer.salesforce.com
/blogs/developer-
relations/2016/12/salesforce-dx-
source-driven-development.html
and the videos that it links to
Thank Y u
​Sam Garforth
​Principal Technical Architect
​ @samjgarforth

More Related Content

PDF
Salesforce CI/CD - A strategy for success
PDF
Salesforce Release Management - Best Practices and Tools for Deployment
PDF
Decluttering your Salesfroce org
PDF
Manage Development in Your Org with Salesforce Governance Framework
PDF
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
PDF
Release and Enviromental Management
PDF
Manage Salesforce Like a Pro with Governance
PDF
Discover salesforce, dev ops and Copado CI/CD automations
Salesforce CI/CD - A strategy for success
Salesforce Release Management - Best Practices and Tools for Deployment
Decluttering your Salesfroce org
Manage Development in Your Org with Salesforce Governance Framework
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
Release and Enviromental Management
Manage Salesforce Like a Pro with Governance
Discover salesforce, dev ops and Copado CI/CD automations

What's hot (20)

PDF
Salesforce DevOps: Where Do You Start?
PPTX
DevOps in Salesforce AppCloud
PPT
Salesforce Integration
PDF
Best Practices with Apex in 2022.pdf
PPTX
Salesforce – Proven Platform Development with DevOps & Agile
PDF
Event Monitoring: Use Powerful Insights to Improve Performance and Security
PPTX
Best practices for implementing CI/CD on Salesforce
PPTX
Integrating with salesforce
PPTX
Salesforce Cross-Cloud Architecture
PPTX
Copado - SoftClouds | Expertise
PPTX
Salesforce Multitenant Architecture: How We Do the Magic We Do
PDF
Introduction to the Salesforce Security Model
PDF
DevOps Center_ArchitectGroup
PPTX
Salesforce integration best practices columbus meetup
PDF
Building a Center of Excellence for your Salesforce crm team
PDF
Understanding the Salesforce Architecture: How We Do the Magic We Do
PPTX
Salesforce Org Health Check & Performance Testing
PDF
Introduction to MuleSoft Anytime Platform
PPTX
Deep Dive into Apex Triggers
PDF
Planning Your Migration to the Lightning Experience
Salesforce DevOps: Where Do You Start?
DevOps in Salesforce AppCloud
Salesforce Integration
Best Practices with Apex in 2022.pdf
Salesforce – Proven Platform Development with DevOps & Agile
Event Monitoring: Use Powerful Insights to Improve Performance and Security
Best practices for implementing CI/CD on Salesforce
Integrating with salesforce
Salesforce Cross-Cloud Architecture
Copado - SoftClouds | Expertise
Salesforce Multitenant Architecture: How We Do the Magic We Do
Introduction to the Salesforce Security Model
DevOps Center_ArchitectGroup
Salesforce integration best practices columbus meetup
Building a Center of Excellence for your Salesforce crm team
Understanding the Salesforce Architecture: How We Do the Magic We Do
Salesforce Org Health Check & Performance Testing
Introduction to MuleSoft Anytime Platform
Deep Dive into Apex Triggers
Planning Your Migration to the Lightning Experience
Ad

Similar to Salesforce Application Lifecycle Management presented to EA Forum by Sam Garforth (20)

PDF
Development Best Practices
PPTX
August 2015 Governance Final 20150804.pptx
PPTX
Change, Release, Management In-Depth vTom.pptx
PDF
Salesforce.com Sandbox management
PDF
Agile Release Management for Fast Moving Enterprises
PDF
From Sandbox To Production: An Introduction to Salesforce Release Management
PPTX
Adopting Salesforce DX
PDF
The World of Agility
PPTX
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
PPTX
Salesforce Miami User Group Event - 1st Quarter 2024
PPTX
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
PPTX
Salesforce Miami User Group Event - 3rd Quarter
PDF
Modern Development with Salesforce DX
PDF
Agile Release Management Best Practices
PPT
Making the Most of Professional Edition with the AppExchange
PDF
Salesforce development Services
PPT
Environment & Release Management
PDF
Large Enterprise - Best Practices - Developing a CoE (1).pdf
PDF
Circles of success - So you have created or acquired a mess - now what (1)
PPTX
Chicago Dreamforce '19 Global Gathering
Development Best Practices
August 2015 Governance Final 20150804.pptx
Change, Release, Management In-Depth vTom.pptx
Salesforce.com Sandbox management
Agile Release Management for Fast Moving Enterprises
From Sandbox To Production: An Introduction to Salesforce Release Management
Adopting Salesforce DX
The World of Agility
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Salesforce Miami User Group Event - 1st Quarter 2024
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Salesforce Miami User Group Event - 3rd Quarter
Modern Development with Salesforce DX
Agile Release Management Best Practices
Making the Most of Professional Edition with the AppExchange
Salesforce development Services
Environment & Release Management
Large Enterprise - Best Practices - Developing a CoE (1).pdf
Circles of success - So you have created or acquired a mess - now what (1)
Chicago Dreamforce '19 Global Gathering
Ad

More from Sam Garforth (13)

PPTX
Mastering Application Integration Challenges in Hybrid Cloud Environments
PDF
Nastel Solution for kafka Monitoring and Management
PPTX
Getting Started with Dynamic Sensors in Nastel AutoPilot Business Views - a T...
PPT
Getting Started with Nastel AutoPilot Business Views and Policies - a Tutorial
PPTX
Kafka Management and Monitoring with Nastel at the Kafka Summit
PPTX
Migrating to Salesforce Lightning - A Personal Experience Presented to EA For...
PPTX
Trailhead Live Developer Workshop - Salesforce App Cloud
PPTX
Bluemix summary
PPT
Cognitive Computing on the Cloud - Watson services for bluemix
PPTX
Cloud With DevOps Enabling Rapid Business Development
PPT
Achieving Eminence Through Social Media
PPT
Unleash Business Innovation with the Next Generation of Cloud Computing
PPT
IBM Private Cloud
Mastering Application Integration Challenges in Hybrid Cloud Environments
Nastel Solution for kafka Monitoring and Management
Getting Started with Dynamic Sensors in Nastel AutoPilot Business Views - a T...
Getting Started with Nastel AutoPilot Business Views and Policies - a Tutorial
Kafka Management and Monitoring with Nastel at the Kafka Summit
Migrating to Salesforce Lightning - A Personal Experience Presented to EA For...
Trailhead Live Developer Workshop - Salesforce App Cloud
Bluemix summary
Cognitive Computing on the Cloud - Watson services for bluemix
Cloud With DevOps Enabling Rapid Business Development
Achieving Eminence Through Social Media
Unleash Business Innovation with the Next Generation of Cloud Computing
IBM Private Cloud

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
Teaching material agriculture food technology
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
MYSQL Presentation for SQL database connectivity
Review of recent advances in non-invasive hemoglobin estimation
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
20250228 LYD VKU AI Blended-Learning.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Teaching material agriculture food technology
NewMind AI Monthly Chronicles - July 2025
Big Data Technologies - Introduction.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...

Salesforce Application Lifecycle Management presented to EA Forum by Sam Garforth

  • 1. Salesforce Application Lifecycle Management ​Sam Garforth ​Technical Architect Development Lifecycle and Deployment Designer Certified
  • 3. Agenda • What is Application Lifecycle Management? • Centre of Excellence • Release Management • Deployment Tool Options • Testing Strategy • SFDX Roadmap
  • 4. What is Application Lifecycle Management?
  • 5. A Salesforce Development Lifecycle Backlog Release Management Development Process Ideas Business Backlog Sprint Developers • Code or Configure • Unit Test • Migration Scripts Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix
  • 6. Governance Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Consistent governance is needed across all projects
  • 7. The Software Development Lifecycle ​Technology • Delivery • Support and Training ​Processes and Roles • Business Process • Technology Process ​Tooling • Platform • Metadata • Migration P ROCESSES PEOPLE TRUSTED ADVISOR TECHNOLOGY Delivering Value ​Business • Users • Stakeholders
  • 8. The Key Elements of a Salesforce Governance Framework • Center of Excellence (CoE) The process of managing governance. • Change Management Processes to manage the overall program or project lifecycle: from collecting Business requirements to moving code from development through production. • Org Strategy Designing and structuring the foundational “Orgs” or areas where the customer’s Salesforce applications will reside and run. • Technical Governance Guiding principles for effectively developing the technical aspects of Salesforce. Center of Excellence Change Management Org Strategy Technical Governance
  • 9. What is a Salesforce Centre of Excellence?
  • 10. Defining accountability at the Executive level Ensuring Business Goals & Strategic Initiatives are prioritized, leveraged, and executed upon Coordinating across initiatives Facilitating and driving user adoption Improving speed of execution Sharing business and technology best practices across business units Improving communication and visibility across the organization Driving corporate and industry compliance Benefits of Establishing a Center of Excellence A CoE can accelerate business value by: A CoE drives organizations to identify, prioritize, execute, and communicate, while optimally leveraging People, Processes, Knowledge, and Technology and at the same time ensuring high value for all users and meeting the overall Business GOALS. Center of Excellence People Processes Technology Knowledge Base
  • 11. What is a Sample CoE Structure? Executive Sponsors Programme Team Release (Programmanagement) Business ScrumTeams (Development) Architectural Adoption/Training Support
  • 12. What are the Crucial “Starter Set” Assets to Focus On? Solution Architecture Data Strategy Security & Data Sharing Model Development Standards & Best Practices Data Integration Approaches & Execution Change Management CoE Drives Innovation
  • 13. Lifecycle of a Salesforce Center of Excellence Getting Started § Identify Executive Sponsors § Conduct Stakeholder Analysis § Define Business Objectives § Define Program Charter § Define Center of Excellence Operating Model, Roles and Responsibilities § Set up Meeting Agenda and Schedule Emerging § Define Process Maps § Define System Blueprint § Define Management and Risk Controls § Define Release Request Process § Define Success Metrics Strategy § Define Data Architecture § Define Data Quality Strategy § Develop Adoption and Strategy Plan § Establish Environment Management and Code Migration process Practicing § Map Business Process/Requirements § Develop Roadmap § Develop Integration Architecture § Define Deployment and Training Strategy § Define On-going Support Plan § Establish Change Control Process § Define long-term Data management strategy § Define long-term Integration strategy § Establish key cross-unit standards Leading § Provide frequent updates via Newsletter/Website § Conduct User Group Meetings § Develop Vendor Management processes and standards § Validate Success Metrics and Adjust (KPI’s) § Define ROI model
  • 15. Development Method - A flexible approach Must follow change process • Apex and VisualForce • Add/modify fields and page layouts • Create/update Workflow Rules and Approvals • Create/update sharing rules and public groups • Create/update Profiles • Create/update Custom Objects and Fields Safe in Production • Add Users • Update Role Hierarchy (depends on solution) • Reports • Dashboards • List View Management • Documentation Management • User Administration • Solution Management • Communication Templates • Email Templates • Manage Case processes (escalation, assignment, etc.) • Manage Leads processes (escalation, assignment, etc.) Daily Changes Scheduled Changes
  • 16. Segregating Business and IT Responsibilities Business Responsibilities Daily Changes • Reports • Dashboards • List View Management • Documentation Management • User Administration • Solution Management • Communication Templates • Email Templates IT Responsibilities • Hotfix / Emergency Release: Immediate fix for showstopper issue (Ad hoc – As required) • Minor Release: Simple configuration changes that do not impact day to day business or require training. (Target Monthly / Fortnightly) • Major Release: New Initiatives and other changes that require training or testing. (Target Quarterly) Scheduled Changes
  • 17. Salesforce Sandbox is a Key Part of Building in the Cloud • Copy of production on same infrastructure • Development tools to build and customize • Change Sets and Templates for faster deployment • Metadata APIs and IDE for faster development SANDBOX PRODUCTION
  • 18. Managing Configuration Changes - declaratively ​Promote Changes Seamlessly with Change Sets PRODUCTION 1. Create Sandbox 2. Make Changes 3. Deploy Change Sets 1. Create a new Sandbox in just three 3 clicks Define acceptable change paths – who can promote changes and to which environments 2. Make changes 3. Bundle and deploy change set with full dependency checking to product or other sandbox
  • 19. Tracking Changes ​Any change in the application affects the Metadata but not all Metadata is accessible through the Metadata API • The Metadata API is getting better with each new release Changes supported by the Metadata API Changes not supported by the Metadata API or made in the UI Source Control System (Centralized or Distributed) Change Log Metadata API Client (Force.com IDE or Migration Tool) Web UI Scripting Tool (Selenium…) Manual (Spreadsheet or Application) • What application/version • Who made the change • What component has been changed • When change occurred • Store securely and share applications sources • Maintain a separate branch for each project and application version • Help managing concurrent access and modifications of sources with file locking, diff and merge of source files
  • 20. Single Sandbox – Scenario for small & quick projects New custom objects, tabs, and applications Integrations with other systems Apps involving Visualforce, workflow, or new validation rules New customer/org Smaller account New admins/developer Org is not live No interference with production data Challenge Addressed For Whom How What Not being able to track changes going on in production
  • 21. Multiple Sandbox – For greater development flexibility Developing new app/feature Installing AppExchange App Testing/QA app Emerging customer/Single Org Maturing Developer Appex/Partner Projects Isolate developer environment No customizations occur in production org Conflicts and overwriting changesChallenge Addressed For Whom How What
  • 22. Multiple Sandbox – Merge Changes before deploy Test in the integration sandbox. Migrate changes to a UAT environment Perform user-acceptance testing. Migrate changes to a staging environment Schedule the release Enterprise Customer Single/multiple orgs Keeping orgs in sync as a team Incomplete tracking and logging of changes Conflicts and errors discovered while deployment Create one Developer sandbox per developer Challenge Addressed For Whom How What
  • 23. Sandbox Environments Environments for every stage in the development lifecycle Developer Daily Refresh Metadata Only 200 MB / 200 MB Developer Pro Daily Refresh Metadata Only 1 GB / 1 GB Partial Copy 5-Day Refresh Sample Production Data 5 GB / 5 GB Full Copy 29-Day Refresh All Production Data Same as Production ★ Development ★ Testing ★ Development ★ Testing ★ Continuous Build ★ Continuous Build ★ UAT ★ Training ★ Integration ★ Load Testing ★ Staging
  • 24. Sandboxes Support robust ALM Environment Management Production Full Copy Developer Pro Partial Copy Legend Developer … … Example Architecture developer developer developer developer developer pro Integrated Dev developer pro QA partial copy Integrated QA full copy Staging full copy full copy UAT Performance Testing partial copy Training full copy Production Support Production
  • 25. Sandboxes Available Per Edition 2550100
  • 27. Tools: Selecting the right tools for the job ​Salesforce Tools and Framework • Force.com IDE (Eclipse based) • Change Sets (Cloud Deploy) • Ant/force.com migration tool ​3rd Party Tools • Dreamfactory Monarch: Copy, merge, migrate and archive data between orgs • Dreamfactory SnapShot: View, compare and push configurations (Metadata) ​Customer Tools • Version Control • Change Management Dev Test Dev Version Control Project Branch BASIC ADVANCED Cloud Deploy IDE Ant Version Control
  • 28. Managing Configuration Changes – programmatically ​Integrate (and automate) with version control and continuous integration
  • 29. • Dreamfactory Cascade • Copado • Flosum • AutoRabit • GearSet • Odaseva for Salesforce 3rd Party Code Migration Tools
  • 30. What does the Salesforce community say? ​Copado ​AutoRABIT Source: Salesforce.com AppExchange as at 13 July 2016
  • 31. Deployment Artifacts - Packages Artifact Description Best For Limitations Unmanaged Packages A collection of application components that can be distributed and installed in other orgs. • One-time setup of a development environment • A starting point configuration that can be customised • You can’t make further changes to packaged components using subsequent packages • Requires a Developer Edition org Managed Packages A collection of application components with a namespace that can be distributed and installed in other orgs. Managed packages can be listed on the AppExchange and are upgradeable. • Commercial applications • Functionality you want to add in multiple, possibly non-related orgs • Access to code is limited or hidden • Unique namespace can be bothersome or a blocker • Difficult to modify or delete components • Requires a Developer Edition org
  • 32. Let’s look at what is required for a testing strategy Testing Strategy
  • 33. The Testing Cycle Development User Acceptance Testing Production Release Manager Perform Unit Tests Evaluate Outcomes Refactor or Push to QA Write Code Quality Assurance Functional Test Regression Test Automated Smoke Test End-to-End Performance TestApproved Failed
  • 34. Test Data in Sandbox ​You can supply data for testing in sandbox in several ways. • Sandbox templates provide real-world data that makes your testing environment more closely resemble your production instance. Only available in a Partial Copy or Full sandbox. • Import external data into your sandbox to make repeatable testing easier because the data set is static and can be relied on not to change.
  • 35. Performance & End to End Testing • Governor limits • Significant Transactions: • Business transactions that are executed in high volume • Transactions involved in integration with other systems/applications • Transactions that may be suspect from a design standpoint (complex multi-object dependencies) or contention with respect to other types of transactions. • User Interface which has complex JavaScript and/or JS remoting • Peak Load
  • 36. Security Website Vulnerabilities Code Scanners • Cross-site scripting • Cross-site request forgery • Authentication, authorization, and session management • Injection flaws • Force.com Security Source Code Scanner • Checkmarx • The Chimera web scanner • SonarQube with CodeScan Test Custom Controllers Best Practices
  • 38. Cinnamon & Selenium • Cinnamon uses Selenium to execute actions on a browser • Selenium is a de-facto browser-based automation tool for web applications today • Selenium supports all modern web browsers • Salesforce R&D uses Selenium for internal GUI test automation and we have strong expertise and experience with Selenium • By using a cloud-solution such as Sauce Labs, you can run your tests on more than 150 OS/Browser combinations without having any hardware setup
  • 39. Next Generation Developer Experience SF/DX
  • 40. Next Generation Developer Experience For more info see https://developer.salesforce.com /blogs/developer- relations/2016/12/salesforce-dx- source-driven-development.html and the videos that it links to
  • 41. Thank Y u ​Sam Garforth ​Principal Technical Architect ​ @samjgarforth