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 Release Management - Best Practices and Tools for Deployment
PDF
Manage Development in Your Org with Salesforce Governance Framework
PDF
Salesforce DevOps: Where Do You Start?
PDF
Salesforce CI/CD - A strategy for success
PDF
Discover salesforce, dev ops and Copado CI/CD automations
PDF
Manage Salesforce Like a Pro with Governance
PDF
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
PDF
How Salesforce Uses Salesforce for Sales
Salesforce Release Management - Best Practices and Tools for Deployment
Manage Development in Your Org with Salesforce Governance Framework
Salesforce DevOps: Where Do You Start?
Salesforce CI/CD - A strategy for success
Discover salesforce, dev ops and Copado CI/CD automations
Manage Salesforce Like a Pro with Governance
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
How Salesforce Uses Salesforce for Sales

What's hot (20)

PPTX
Copado - SoftClouds | Expertise
PPTX
Salesforce – Proven Platform Development with DevOps & Agile
PPTX
DevOps in Salesforce AppCloud
PDF
DevOps Center_ArchitectGroup
PDF
Development Best Practices
PDF
Webinar: Take Control of Your Org with Salesforce Optimizer
PDF
Performing a successful technical debt assessment in Salesforce
PPTX
COPADO - Plateforme de DEVOPS pour Salesforce
PPTX
Understanding Multitenancy and the Architecture of the Salesforce Platform
PPTX
Agile at Salesforce From theory to practice, how to be agile at scale
PDF
Salesforce overview
PPT
Salesforce Tutorial for Beginners: Basic Salesforce Introduction
PPTX
Release & Change management in salesforce
PPT
Salesforce Integration
PPTX
Salesforce Org Health Check & Performance Testing
PDF
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
PDF
Introduction to the Salesforce Security Model
PPTX
Marketing cloud development
PDF
Building a Center of Excellence for your Salesforce crm team
PPTX
Salesforce intro session_for_students_v2
Copado - SoftClouds | Expertise
Salesforce – Proven Platform Development with DevOps & Agile
DevOps in Salesforce AppCloud
DevOps Center_ArchitectGroup
Development Best Practices
Webinar: Take Control of Your Org with Salesforce Optimizer
Performing a successful technical debt assessment in Salesforce
COPADO - Plateforme de DEVOPS pour Salesforce
Understanding Multitenancy and the Architecture of the Salesforce Platform
Agile at Salesforce From theory to practice, how to be agile at scale
Salesforce overview
Salesforce Tutorial for Beginners: Basic Salesforce Introduction
Release & Change management in salesforce
Salesforce Integration
Salesforce Org Health Check & Performance Testing
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
Introduction to the Salesforce Security Model
Marketing cloud development
Building a Center of Excellence for your Salesforce crm team
Salesforce intro session_for_students_v2
Ad

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

PPTX
ALM with TFS: From the Drawing Board to the Cloud
PPT
Agile at scale
PDF
ANIn Navi Mumbai Jan 2023 | Agile- 360 degree perspective by Pravin Mukhedkar
PPTX
Ladies Be Architects: Study Group IV: Project and System Governance
PPTX
Webinar - Devops platform for the evolving enterprise
PPTX
Software Modernization for the Digital Economy
PDF
The Journey to DevOps #MFSummit2017
PPTX
State of Agile 2017
PPTX
Value stream management is essential for dev ops v4
PDF
Best practices for fusion hcm cloud implementation
PPTX
Center of Excellence Building Blocks
PDF
Principle 11 needs to go! by Ken France at #AgileIndia2019
PDF
Leveraging DevOps Principles for Release and Deploy
PPTX
DevOps Presentation.pptx
PDF
Demystifying Devops - Uday kumar
PPTX
Devops Mindset Essentials
PPTX
Unit No. III Part1.pptx Cloud Microservices & Application
PPTX
Building enterprise platforms - off the beaten path - SharePoint User Group U...
PPTX
Agile Development unleashed
PPTX
NetCom Learning : How to Improve Business Processes using Agile
ALM with TFS: From the Drawing Board to the Cloud
Agile at scale
ANIn Navi Mumbai Jan 2023 | Agile- 360 degree perspective by Pravin Mukhedkar
Ladies Be Architects: Study Group IV: Project and System Governance
Webinar - Devops platform for the evolving enterprise
Software Modernization for the Digital Economy
The Journey to DevOps #MFSummit2017
State of Agile 2017
Value stream management is essential for dev ops v4
Best practices for fusion hcm cloud implementation
Center of Excellence Building Blocks
Principle 11 needs to go! by Ken France at #AgileIndia2019
Leveraging DevOps Principles for Release and Deploy
DevOps Presentation.pptx
Demystifying Devops - Uday kumar
Devops Mindset Essentials
Unit No. III Part1.pptx Cloud Microservices & Application
Building enterprise platforms - off the beaten path - SharePoint User Group U...
Agile Development unleashed
NetCom Learning : How to Improve Business Processes using Agile
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
Machine Learning_overview_presentation.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PPT
Teaching material agriculture food technology
PPTX
Spectroscopy.pptx food analysis technology
PPTX
1. Introduction to Computer Programming.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine Learning_overview_presentation.pptx
A Presentation on Artificial Intelligence
cloud_computing_Infrastucture_as_cloud_p
Encapsulation_ Review paper, used for researhc scholars
A comparative study of natural language inference in Swahili using monolingua...
MIND Revenue Release Quarter 2 2025 Press Release
Advanced methodologies resolving dimensionality complications for autism neur...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
A comparative analysis of optical character recognition models for extracting...
Spectral efficient network and resource selection model in 5G networks
Group 1 Presentation -Planning and Decision Making .pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Programs and apps: productivity, graphics, security and other tools
Teaching material agriculture food technology
Spectroscopy.pptx food analysis technology
1. Introduction to Computer Programming.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm

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