SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Release & Change Management
In Salesforce
Kalyan Lanka
Salesforce Technical Architect
kalyan@snimbus.com
Agenda
• Why Release Management?
• The method!
• Best Practice for Salesforce
Projects
– REI Systems Experience
• Best Practice for Product
Organization/ISV organization
– Xceede Solutions experience
• Demo & Questions
Release & Change Management in
Salesforce By Kalyan Lanka
Why Release Management?
• Release Management is a process of managing software
releases or software development process
• Often release planning/management starts on Salesforce
projects like this:
Release & Change Management in
Salesforce By Kalyan Lanka
Why Release Management?
• Secret sauce for timely completion
of sprints
• Increases Software Quality of your
project
• Avoid discovering and fixing issues
after going live in production
• Fail fast, fail cheap and Pivot
• Happy Developers & testers
• Happy Management
• Happy Customers
Discover
& Design
Salesforce
Development
Life Cycle
Build &
Release
Validate
& Test
Train &
Release
Release & Change Management in
Salesforce By Kalyan Lanka
Salesforce Environments
• Production – Salesforce Org. where
business users use to run the business
• Full Sandbox – Backup/UAT/Training
Org. that companies use to train
employees, backup production or
conduct UAT
• Developer Pro – Testing environments
or Integration test environments
• Developer – Development
Environments
• Pre-Release – Sandbox for Pre-
Release testing
Production
Full
Sandbox
Developer
Pro
Developer
Pre
Release
Release & Change Management in
Salesforce By Kalyan Lanka
Version Control & Why?
• Tracking and managing change is imperative for successful projects
• Unfortunately not much emphasis has been given on Salesforce
projects on the need Version Control
• Version Control gives ability for developers and leads to identify and
pre-empt issues and bad Salesforce development practices
• Provides ability to back-up code/configuration changes
• Extends Salesforce into a platform for multi-projects
implementation and providing flexibility in feature roll-out to users
Release & Change Management in
Salesforce By Kalyan Lanka
Change Management Approaches
• Change Sets
– Good
• Simple method for deployments
• Point and Click methods
– Bad
• Not easy to manage large changes
• Time-consuming and not repeatable
• Manual and error prone
– Recommended for simpler projects
Release & Change Management in
Salesforce By Kalyan Lanka
• IDE Deployments using Eclipse/Mavensmate
– Good
• Can determine easily what files to deploy
• Ability to track changes to components
• Deploy to multiple sandboxes or production easily from the IDE
– Bad
• Not easy to manage large changes
• Time-consuming and not repeatable
– Recommended for simpler projects
Change Management Approaches
Release & Change Management in
Salesforce By Kalyan Lanka
Change sets IDE Metadata API
• Simple & Declarative
method for deployments
• Identify dependencies and
deploy related
components
• Fast and easy
deployments for simple
changes
• Can be move across orgs.
easily
• Can determine easily what
files to deploy
• Ability to track changes to
components
• Deploy to multiple
sandboxes or production
easily from the IDE
• Ability to track test
coverage of class and run
test classes
• Ability to deploy changes
across multiple
organizations quickly
• Ability to semi-automate
extraction of metadata and
deploy across connected
and unconnected orgs
• Reduces the risk of
unforeseen changes and
deployments
• Difficult to track changes
• Complexity increases
exponentially when
components increase
• Only possible in Connected
Orgs
• Difficult to track changes
• Left to the developer to
deploy the changes
• Using development
environments for
deployment in production
• May not follow
Organizations Security
guidelines & polices
• Difficult to track changes
• Manually run changes and
identify dependencies
• Not easy to automate for
pre and post deployment
steps
• May not follow
Organizations Security
guidelines & polices
Change Management Approaches -
Recommended
• Automated Builds and Deployments
– Advantages
• Use Version Control for track and monitor changes
• Use Continuous Integration tools to deploy changes in Salesforce Org. using
Metadata API
• Ability to develop organizations specific tools and scripts as pre and post
deployments
• Leverages best practices that are followed by other technology stacks (Java, .NET..
) in the organization
• Increased adherence to compliance requirements
– Disadvantages
• Need to identify the organization release and change management strategy early
in the project life cycle
• Team needs understanding of Version Control and Continuous Integration
principles
• Can be time-consuming and need expertise of internal processes and technologies
like Java, Ant and CI tools
Release & Change Management in
Salesforce By Kalyan Lanka
The Method! - The tools
• Salesforce IDE (Eclipse/Sublime
Text – MavensMate)
• Salesforce Metadata API
• Version Control (Git /SVN
/Perforce/TFS)
• Continuous Integration
(Jenkins/Hudson)
• Build Server (Windows/Linux/AIX)
• Requirement Management & Bug
Tracking Tool (Confluence/JIRA)
• Ant & Java
• Lots of Planning & patience..
Release & Change Management in
Salesforce By Kalyan Lanka
Best Practice for Salesforce
Implementation Projects
Release & Change Management in
Salesforce By Kalyan Lanka
REI Systems Experience
Problem
• Multiple Sub-Projects under bigger implementation
• Needed to keep Development Orgs. and testing orgs. Constantly in sync.
• Change Sets had Limitations on managing changes and deleting the
changes
• Test Classes were breaking just before going to higher environments
• Validation and Test environments were not maintained with latest changes
Solution
• Implemented Github and developers forked the Metadata in
Eclipse/Sublime Text
• All changes where checked into Git by using Eclipse Plugin
• Git is used for Code Reviews and Quality Control
• Jenkins is used to deliver the changes to higher environment
• JIRA is used for bug tracking and managing changes in higher
environments Release & Change Management in
Salesforce By Kalyan Lanka
REI GovGrants
Release & Change Management in
Salesforce By Kalyan Lanka
Best Practice for Product Development
Release & Change Management in
Salesforce By Kalyan Lanka
Xceede Solutions Experience
Problem
• Offshore resources for development
• Ability to track progress and changes to the product
• Know the features complexity ability to fail fast
• Visibility into development and track features with code
• Test and fix the issues identified quickly
Solution
• Implemented Github for offshore developers to fork non managed
package in Eclipse/Sublime Text
• Used Aha.io for product management and feature roll-out
• Integrated Aha.io with Github for track code changes against features
• Github is used for Code Reviews and Quality Control
• Jenkins is used to deliver the changes to higher environment
• Github bug tracker to manage defects
Release & Change Management in
Salesforce By Kalyan Lanka
Product Development Eco - System
Release & Change Management in
Salesforce By Kalyan Lanka
Versioning
Control
Repository
Continuous
Integration & Build
Server
Developer
IDE
Local
Version
Repository
Developer
Org
Test Org
Production
Org
Trial Org
Developer
IDE
Local
Version
Repository
Developer
Org
Demo & Questions
Release & Change Management in
Salesforce By Kalyan Lanka
Kalyan Lanka
kalyan@snimbus.com
http://lnkdin.me/kalyan
@kalyanlanka

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best Practices
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
 
Salesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSalesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & Agile
 
The Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development Lifecycle
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful Deployment
 
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We Do
 
Make the Move to Lightning in 60 Days
Make the Move to Lightning in 60 DaysMake the Move to Lightning in 60 Days
Make the Move to Lightning in 60 Days
 
Performing a successful technical debt assessment in Salesforce
Performing a successful technical debt assessment in SalesforcePerforming a successful technical debt assessment in Salesforce
Performing a successful technical debt assessment in Salesforce
 
Migrating To Lightning
Migrating To LightningMigrating To Lightning
Migrating To Lightning
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
 
Best Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdfBest Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdf
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
 
Understanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce PlatformUnderstanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce Platform
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
 
Generically Call External Classes from Managed Packages
Generically Call External Classes from Managed PackagesGenerically Call External Classes from Managed Packages
Generically Call External Classes from Managed Packages
 
Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for success
 

Ähnlich wie Release & Change management in salesforce

matt heinzelman software quality assurance presentation technical & tool
matt heinzelman software quality assurance presentation technical & toolmatt heinzelman software quality assurance presentation technical & tool
matt heinzelman software quality assurance presentation technical & tool
CuongHoang80
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Cprime
 

Ähnlich wie Release & Change management in salesforce (20)

Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
Best Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentBest Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left Commitment
 
From Release Bottleneck to Deployment Flow - how Eaton Vance revolutionized t...
From Release Bottleneck to Deployment Flow - how Eaton Vance revolutionized t...From Release Bottleneck to Deployment Flow - how Eaton Vance revolutionized t...
From Release Bottleneck to Deployment Flow - how Eaton Vance revolutionized t...
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Ladies Be Architects: Study Group IV: Project and System Governance
Ladies Be Architects: Study Group IV: Project and System GovernanceLadies Be Architects: Study Group IV: Project and System Governance
Ladies Be Architects: Study Group IV: Project and System Governance
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Leveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and DeployLeveraging DevOps Principles for Release and Deploy
Leveraging DevOps Principles for Release and Deploy
 
matt heinzelman software quality assurance presentation technical & tool
matt heinzelman software quality assurance presentation technical & toolmatt heinzelman software quality assurance presentation technical & tool
matt heinzelman software quality assurance presentation technical & tool
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
 
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
Software testing
Software testingSoftware testing
Software testing
 
DevOps: Hype or Hope
DevOps: Hype or HopeDevOps: Hype or Hope
DevOps: Hype or Hope
 
Lap around ALM with Visual Studio and TFS 2013
Lap around ALM with Visual Studio and TFS 2013Lap around ALM with Visual Studio and TFS 2013
Lap around ALM with Visual Studio and TFS 2013
 
What is Scaled Agile Framework | Edureka
What is Scaled Agile Framework | EdurekaWhat is Scaled Agile Framework | Edureka
What is Scaled Agile Framework | Edureka
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTest
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 

Kürzlich hochgeladen

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 

Release & Change management in salesforce

  • 1. Release & Change Management In Salesforce Kalyan Lanka Salesforce Technical Architect kalyan@snimbus.com
  • 2. Agenda • Why Release Management? • The method! • Best Practice for Salesforce Projects – REI Systems Experience • Best Practice for Product Organization/ISV organization – Xceede Solutions experience • Demo & Questions Release & Change Management in Salesforce By Kalyan Lanka
  • 3. Why Release Management? • Release Management is a process of managing software releases or software development process • Often release planning/management starts on Salesforce projects like this: Release & Change Management in Salesforce By Kalyan Lanka
  • 4. Why Release Management? • Secret sauce for timely completion of sprints • Increases Software Quality of your project • Avoid discovering and fixing issues after going live in production • Fail fast, fail cheap and Pivot • Happy Developers & testers • Happy Management • Happy Customers Discover & Design Salesforce Development Life Cycle Build & Release Validate & Test Train & Release Release & Change Management in Salesforce By Kalyan Lanka
  • 5. Salesforce Environments • Production – Salesforce Org. where business users use to run the business • Full Sandbox – Backup/UAT/Training Org. that companies use to train employees, backup production or conduct UAT • Developer Pro – Testing environments or Integration test environments • Developer – Development Environments • Pre-Release – Sandbox for Pre- Release testing Production Full Sandbox Developer Pro Developer Pre Release Release & Change Management in Salesforce By Kalyan Lanka
  • 6. Version Control & Why? • Tracking and managing change is imperative for successful projects • Unfortunately not much emphasis has been given on Salesforce projects on the need Version Control • Version Control gives ability for developers and leads to identify and pre-empt issues and bad Salesforce development practices • Provides ability to back-up code/configuration changes • Extends Salesforce into a platform for multi-projects implementation and providing flexibility in feature roll-out to users Release & Change Management in Salesforce By Kalyan Lanka
  • 7. Change Management Approaches • Change Sets – Good • Simple method for deployments • Point and Click methods – Bad • Not easy to manage large changes • Time-consuming and not repeatable • Manual and error prone – Recommended for simpler projects Release & Change Management in Salesforce By Kalyan Lanka • IDE Deployments using Eclipse/Mavensmate – Good • Can determine easily what files to deploy • Ability to track changes to components • Deploy to multiple sandboxes or production easily from the IDE – Bad • Not easy to manage large changes • Time-consuming and not repeatable – Recommended for simpler projects
  • 8. Change Management Approaches Release & Change Management in Salesforce By Kalyan Lanka Change sets IDE Metadata API • Simple & Declarative method for deployments • Identify dependencies and deploy related components • Fast and easy deployments for simple changes • Can be move across orgs. easily • Can determine easily what files to deploy • Ability to track changes to components • Deploy to multiple sandboxes or production easily from the IDE • Ability to track test coverage of class and run test classes • Ability to deploy changes across multiple organizations quickly • Ability to semi-automate extraction of metadata and deploy across connected and unconnected orgs • Reduces the risk of unforeseen changes and deployments • Difficult to track changes • Complexity increases exponentially when components increase • Only possible in Connected Orgs • Difficult to track changes • Left to the developer to deploy the changes • Using development environments for deployment in production • May not follow Organizations Security guidelines & polices • Difficult to track changes • Manually run changes and identify dependencies • Not easy to automate for pre and post deployment steps • May not follow Organizations Security guidelines & polices
  • 9. Change Management Approaches - Recommended • Automated Builds and Deployments – Advantages • Use Version Control for track and monitor changes • Use Continuous Integration tools to deploy changes in Salesforce Org. using Metadata API • Ability to develop organizations specific tools and scripts as pre and post deployments • Leverages best practices that are followed by other technology stacks (Java, .NET.. ) in the organization • Increased adherence to compliance requirements – Disadvantages • Need to identify the organization release and change management strategy early in the project life cycle • Team needs understanding of Version Control and Continuous Integration principles • Can be time-consuming and need expertise of internal processes and technologies like Java, Ant and CI tools Release & Change Management in Salesforce By Kalyan Lanka
  • 10. The Method! - The tools • Salesforce IDE (Eclipse/Sublime Text – MavensMate) • Salesforce Metadata API • Version Control (Git /SVN /Perforce/TFS) • Continuous Integration (Jenkins/Hudson) • Build Server (Windows/Linux/AIX) • Requirement Management & Bug Tracking Tool (Confluence/JIRA) • Ant & Java • Lots of Planning & patience.. Release & Change Management in Salesforce By Kalyan Lanka
  • 11. Best Practice for Salesforce Implementation Projects Release & Change Management in Salesforce By Kalyan Lanka
  • 12. REI Systems Experience Problem • Multiple Sub-Projects under bigger implementation • Needed to keep Development Orgs. and testing orgs. Constantly in sync. • Change Sets had Limitations on managing changes and deleting the changes • Test Classes were breaking just before going to higher environments • Validation and Test environments were not maintained with latest changes Solution • Implemented Github and developers forked the Metadata in Eclipse/Sublime Text • All changes where checked into Git by using Eclipse Plugin • Git is used for Code Reviews and Quality Control • Jenkins is used to deliver the changes to higher environment • JIRA is used for bug tracking and managing changes in higher environments Release & Change Management in Salesforce By Kalyan Lanka
  • 13. REI GovGrants Release & Change Management in Salesforce By Kalyan Lanka
  • 14. Best Practice for Product Development Release & Change Management in Salesforce By Kalyan Lanka
  • 15. Xceede Solutions Experience Problem • Offshore resources for development • Ability to track progress and changes to the product • Know the features complexity ability to fail fast • Visibility into development and track features with code • Test and fix the issues identified quickly Solution • Implemented Github for offshore developers to fork non managed package in Eclipse/Sublime Text • Used Aha.io for product management and feature roll-out • Integrated Aha.io with Github for track code changes against features • Github is used for Code Reviews and Quality Control • Jenkins is used to deliver the changes to higher environment • Github bug tracker to manage defects Release & Change Management in Salesforce By Kalyan Lanka
  • 16. Product Development Eco - System Release & Change Management in Salesforce By Kalyan Lanka Versioning Control Repository Continuous Integration & Build Server Developer IDE Local Version Repository Developer Org Test Org Production Org Trial Org Developer IDE Local Version Repository Developer Org
  • 17. Demo & Questions Release & Change Management in Salesforce By Kalyan Lanka Kalyan Lanka kalyan@snimbus.com http://lnkdin.me/kalyan @kalyanlanka