Successfully reported this slideshow.

Salesforce DevOps Maturity Matrix, Anna Walach

0

Share

1 of 26
1 of 26

Salesforce DevOps Maturity Matrix, Anna Walach

0

Share

Download to read offline

How mature is your release process? We would like to think that we have almost forgotten about the times when state-of-the-art release process involved only ANT, few sandboxes and version control system. The truth is, many Salesforce projects still do not care about sfdx cli, are reluctant to try out scratch orgs and automated testing is considered too much hustle. In the modern world, an efficient DevOps strategy is key to an agile, but robust release process.

Not many materials exist to help set up advanced Devops process for Salesforce. Come and learn about what are the different areas that should be considered when designing a great release process, but also what are the different stages of advancement for each of those areas. Do you need to develop everything in-house? Or maybe use some existing frameworks? Or maybe there are feature-full solutions that you can just deploy? Let’s discuss methods that can be applied in different environments to find out the best strategy to get from where you are now to reach a desired ambition level of improvement and efficiency.

How mature is your release process? We would like to think that we have almost forgotten about the times when state-of-the-art release process involved only ANT, few sandboxes and version control system. The truth is, many Salesforce projects still do not care about sfdx cli, are reluctant to try out scratch orgs and automated testing is considered too much hustle. In the modern world, an efficient DevOps strategy is key to an agile, but robust release process.

Not many materials exist to help set up advanced Devops process for Salesforce. Come and learn about what are the different areas that should be considered when designing a great release process, but also what are the different stages of advancement for each of those areas. Do you need to develop everything in-house? Or maybe use some existing frameworks? Or maybe there are feature-full solutions that you can just deploy? Let’s discuss methods that can be applied in different environments to find out the best strategy to get from where you are now to reach a desired ambition level of improvement and efficiency.

More Related Content

More from CzechDreamin

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Salesforce DevOps Maturity Matrix, Anna Walach

  1. 1. Salesforce Devops Maturity Matrix by Anna Wałach-Dudzic
  2. 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. 3. #CD22 What is DevOps? Image from https://github.com/infrabricks/wordcloud
  4. 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. 5. #CD22 What is DevOps? Plan Code Verify Deploy Release Monitor
  6. 6. #CD22 CI/CD The Holy Grail of Devops
  7. 7. #CD22
  8. 8. #CD22 Image from https://wellness.hr.ufl.edu/programs/healthy-lifestyle-program/
  9. 9. #CD22 Let’s start!
  10. 10. #CD22 Development Environment Architecture Use Sandboxes Level 1 Use 1 Sandbox per Developer Level 2 Use Scratch Orgs Level 3
  11. 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. 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. 13. #CD22 Handling changes Use Pull Requests Level 1 Have Code Reviews Level 2 Have process for production changes retrieval Level 3
  14. 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. 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. 16. #CD22 Testing
  17. 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. 18. #CD22 Testing Unit Tests + Developer Tests Level 1 Manual Tests Level 2 Automated Tests Provar, Selenium Level 3
  19. 19. #CD22 Production Metrics Reading Apex Bug Emails Level 1 Error logging solution Level 2 Dashboard with limits Level 3
  20. 20. #CD22 Wait… where’s the matrix?
  21. 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. 22. #CD22 What now?
  23. 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. 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. 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. 26. Thank you! #CD22

Editor's Notes

  • 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
  • ×