-
1.
Salesforce Devops Maturity Matrix
by Anna Wałach-Dudzic
-
2.
#CD22
What I do:
- Project leading
- Architecture design
- Development
- Board games
What I don’t do:
- Things I don’t have time for
Salesforce Solution Architect
at Aquiva Labs
-
3.
#CD22
What is DevOps?
Image from https://github.com/infrabricks/wordcloud
-
4.
#CD22
What is DevOps?
❞DevOps is the combination of cultural philosophies, practices, and tools
that increases an organization’s ability to deliver applications and services at
high velocity: evolving and improving products at a faster pace than
organizations using traditional software development and infrastructure
management processes. This speed enables organizations to better serve their
customers and compete more effectively in the market.
Source: https://aws.amazon.com/devops/what-is-devops/
-
5.
#CD22
What is DevOps?
Plan
Code
Verify
Deploy
Release
Monitor
-
6.
#CD22
CI/CD
The Holy Grail of Devops
-
7.
#CD22
-
8.
#CD22
Image from https://wellness.hr.ufl.edu/programs/healthy-lifestyle-program/
-
9.
#CD22
Let’s start!
-
10.
#CD22
Development Environment Architecture
Use Sandboxes
Level 1
Use 1 Sandbox per Developer
Level 2
Use Scratch Orgs
Level 3
-
11.
#CD22
Development Environment Setup
Up-to-date metadata
Level 1
Static data setup
Level 2
Dynamic, production-based
data setup
Level 3
Possible solution for static setup:
- sfdx force:data:tree:import
- SF Data Migration Utility Tool 💗
- Apex Classes
Possible solution for dynamic setup:
- sfdx force:data:tree:import
- SF Data Migration Utility Tool 💗
-
12.
#CD22
Version control
TO HAVE one
Level 1
Use Git
Level 2
Use a sensible* Git flow
Level 3
Try declarative version
control, like Flosum or Copado
Feasible
Alternative
…Changesets are NOT version control and
neither is your Dev Lead laptop’s dedicated folder.
-
13.
#CD22
Handling changes
Use Pull Requests
Level 1
Have Code Reviews
Level 2
Have process for production
changes retrieval
Level 3
-
14.
#CD22
Code review process
Enforcing checks
Level 1
Validate code & run tests
Level 2
Run static code analysis
- Apex PMD
- SFDX Scanner
- Clayton
Level 3
-
15.
#CD22
Code review process - bonus points
Selective test/validation run
Bonus 1
Whole team is engaged in the
process
Bonus 2
Integration with your internal
communicator
Bonus 3
-
16.
#CD22
Testing
-
17.
#CD22
Continuous Integration/Deployment
Automated deployment of
merged pull requests
Bonus 1
Automated deployment of
profiles
Bonus 2
Automated manual steps
Different SFDX plugins, like
https://github.com/amtrack/sfdx-
browserforce-plugin
Bonus 3
-
18.
#CD22
Testing
Unit Tests + Developer Tests
Level 1
Manual Tests
Level 2
Automated Tests
Provar, Selenium
Level 3
-
19.
#CD22
Production Metrics
Reading Apex Bug Emails
Level 1
Error logging solution
Level 2
Dashboard with limits
Level 3
-
20.
#CD22
Wait… where’s the
matrix?
-
21.
#CD22
Salesforce Devops Maturity Matrix
Area Level 1 Level 2 Level 3
Development Envs Architecture Sandboxes Sandbox per developer Scratch orgs
Development Envs Setup Up-to-date metadata Static data setup Dynamic data setup
Version control Have it Use Git Use Git flow
Handling code changes Pull requests Perform Code Review Retrieve production changes
Code review process Enforce checks Validate code & run tests Static code analysis
(Continuous) Deployment Deployment of merges Deployment of profiles Deployment of manual steps
Testing By devs By testers By automates
Production Metrics Handling reported errors Error logging framework Dashboard
-
22.
#CD22
What now?
-
23.
#CD22
Salesforce Devops Maturity Matrix
Area Level 1 Level 2 Level 3
Development Envs Architecture Sandboxes Sandbox per developer Scratch orgs
Development Envs Setup Up-to-date metadata Static data setup Dynamic data setup
Version control Have it Use Git Use Git flow
Handling code changes Pull requests Perform Code Review Retrieve production changes
Code review process Have it Validate code & run tests Static code analysis
CI/CD Deployment of merges Deployment of profiles Deployment of manual steps
Testing By devs By testers By automates
Production Metrics Handling reported errors Error logging framework Dashboard
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
🐾
🐾
🐾
🐾
-
24.
#CD22
“It matters not much whether we actually achieve our highest
ideals so be it that they are high” - Robert Baden-Powell
Will I ever reach greatness?
-
25.
#CD22
- Great repository of SFDX plugins:
https://github.com/mshanemc/awesome-sfdx-plugins
- Official Salesforce space dedicated to Architects:
https://architect.salesforce.com/
- Books! E.g. “Mastering Salesforce DevOps” by Andrew Davis
If you lack motivation, check resources!
-
26.
Thank you! #CD22
Let’s recap - why we are actually doing this?
Let’s recap - why we are actually doing this?
Describe in view words what are devops phases and how does it work, to have some common understanding
Reference the popular myth, that the only real holy grail is continuous delivery.
Devops is not a huge staircase with production based CI/CD on top
Good approach to Devops as similar to approach to healthy lifestyle. Just because you don’t sleep regularly doesn’t mean there is no benefit to you eating high quality food. Lack of exercise doesn’t disregard the benefits of good sleep schedule. Also, each of elements of healthy lifestyle has its own levels of progress. Excluding fast food from your diet is a progress. Including vegetables & fruits is a progress. So, the question is - what does Devops Healthy Lifestyle consist of, and what are the different steps to improve each part?
Let’s start with something obvious - version control. So, what are the levels of mastery i
Let’s start with something obvious - version control. So, what are the levels of mastery i
Let’s start with something obvious - version control. So, what are the levels of mastery i
Let’s start with something obvious - version control. So, what are the levels of mastery i
Let’s start with something obvious - version control. So, what are the levels of mastery i
Let’s start with something obvious - version control. So, what are the levels of mastery i
Testing and delivery processes are tangled. You cannot deliver constantly without testing constantly. So, what are your options?
Mention salesforce production changes
Testing and delivery processes are tangled. You cannot deliver constantly without testing constantly. So, what are your options?
Mention salesforce production changes
Testing and delivery processes are tangled. You cannot deliver constantly without testing constantly. So, what are your options?
Mention salesforce production changes