SlideShare a Scribd company logo
EXPERIENCE WITH SALESFORCE DX ON REAL
PROJECT
MARTIN HUMPOLEC
&&
ADAM SIENKIEWICZ
#YD19
A bit about us
Martin Humpolec
Salesforce Consultant
Salesforce MVP
Lightning Champion
Trailhead & Certification Addict
Prague Salesforce User Group Leader
CzechDreamin conference organizer
Blogger: MartinHumpolec.cz
Twitter: @mhumpolec
#YD19
A bit about us
Adam Sienkiewicz
Salesforce Consultant
Trailblazer & 7 times Salesforce
Certified
Salesforce Enthusiast
Data Analysis Fan
#YD19
Table of content
• What is DX
• Why do we use DX
• Pros / Cons summary
• Use case – our process flow overview
#YD19
What is Salesforce DX
Salesforce DX is a Salesforce product in the App cloud that allows users to
develop and manage Salesforce apps throughout the entire platform in a
more direct and efficient way.
NOT for developers only
NOT an “all or nothing” option
#YD19
DX Learning Curve
I spent about 5 % of my time on requested changes and 95 % fighting the
Git.
@StudiosViloria
#YD19
Installation
• https://developer.salesforce.com/tools/sfdxcli
#YD19
Commands
Plenty of commands and you will actually use about 4 of them.
#YD19
Integration with IDE
#YD19
Salesforce DX = VCS (for us)
DX is actually just a small part of that picture, but people will blame it for
everything.
#YD19
Why do we use DX?
• Provide better performance with version control, disaster tracking and
auditing
• Integrated with popular IDE tools
• Ability to migrate from standard metadata schemes
• Streamlined release management
• Artifact-based programming concept is easier to implement
• Easy packaging and deployments
• Price – it is free!
#YD19
Salesforce DX in practice – Why did we chose DX?
• Will to learn and train the team about new paradigm
• High number of dev team members
• We wanted to give control to the team over their orgs
• Because nowadays DX is hip (?)
#YD19
Pros
• Accelerates development knowledge gathering
• Ability to copy things/update the xml
• Scratch orgs to test things
• The ability to extend it with your own/community code
• Once you know the basics it is easy to progress
#YD19
Manual or click?
Manual changes – How to learn patience and understand that in the end
the SF platform is just a set of <> lines with true/false values
#YD19
Find and replace
#YD19
Cons
• “Disconnection” between people as everyone works in their instance
(“weird, mine works fine”)
• Some things aren’t possible to set via metadata when creating scratch
org (should be changed by summer release)
• Some things are hard/impossible to push through (entitlements, security
settings, …)
• Some errors are difficult to investigate due to relatively new concept
without complete documentation and user cases
• A bit complex in the beginning
#YD19
Salesforce DX in practice – Initial Challenges
• Lack of structure in terms of scratch org setup, no config, no features
defined, no processes, no ownership
• Problems with deployment
• General lack of knowledge about the tool within the team. Quickly turning
into large knowledge gap between experienced devs and beginners
#YD19
Salesforce DX in practice – Initial Challenges – Solution Approach
Introduce release/deployment manager full-time role
RESPONSIBILITIES:
Setup config for
scratch orgs Create and refresh
sandboxes
Run deployments
Support the Team
Define and build
deployment flow
Configure
Continuous
Integration
#YD19
Salesforce DX in practice – Challenges along the way
• Some features need to be a manual pre-deployment step for scratch
org
• Scratch org is not retrieving full config for profiles
• Manual hotfixes on “release train” orgs led to lack of single source of
truth for configuration
• Overwriting changes in git, confusion about the flow
#YD19
Salesforce DX in practice – Challenges along the way – Solutions
Rule no. 1 – „You always make changes to profiles manually!”
Rule no. 2 – Rule no. 1 cannot be omitted
In the end challenges happened to be a great catalyst for learning new
things!
#YD19
Salesforce DX in practice
#YD19
Git flow
This whole git flow will confuse your consultants/admins continuously
#YD19
What we can confirm
The problem is that no matter how much you say that source control is the
ultimate source of truth, if people can make changes on the org directly, the
org ultimately represents the true picture of what’s going on.
(https://bluecanvas.io/blog/2019-2-5-why-salesforce-dx-and-git-flow-dont-work-for-salesforce-teams)
#YD19
Salesforce DX in practice - Team adoption
• Most of the non-technical team members initially started on the very high
left end of the rectangle, gradually moving towards center
• Lot of complaints about git usage
• Experienced users were unhappy
having to support others apart from
their tasks
#YD19
Git flow
On average day we know Git well and can use those 4 commands. And
then there is that exception.
#YD19
Code merging
Merge conflict in a file you did nothing with? You have no idea what
to accept, so you will take a guess.
#YD19
Deployment flow
Or deployment flow – it takes time to push anything through it.
#YD19
Good practices
• Use properly configured scratch orgs
• Proper description in commits && their clever use
• Have a set of sample data
• Use .forceignore wisely and don’t be afraid of it
• Code retrieve-convert speeds-up hotfixing and deployments
• Naming conventions
#YD19
Summary aka One best thing (Martin)
force:org:open
#YD19
Summary aka One best thing (Adam)
force:mdapi:retrieve
#YD19
What’s ahead of us?
Packaging
concepts
Data setup using
DX
Org shapes and
templates
#YD19
Interesting links
https://gearset.com/assets/adopting-salesforce-dx.pdf
https://www.salesforceben.com/all-you-need-to-know-
about-salesforce-development-best-practices-in-one-
post/
https://trailhead.salesforce.com/en/content/learn/projects
/quick-start-salesforce-dx
#YD19
Join us for drinks
@18:00 sponsored
by
Community sponsors:
What we can learn from you?
NonProfit-track sponsor:

More Related Content

What's hot

The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021
Anders Lundsgård
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentVladimir Bakhov
 
Discover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automationsDiscover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automations
JackGuo20
 
DevOps made simple - Understand DevOps and steps to become a DevOps expert
DevOps made simple  - Understand DevOps and steps to become a DevOps expertDevOps made simple  - Understand DevOps and steps to become a DevOps expert
DevOps made simple - Understand DevOps and steps to become a DevOps expert
ThinkCerti
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
Hazzim Anaya
 
DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services
WinWire Technologies Inc
 
Tailoring your SDLC for DevOps, Agile and more
Tailoring your SDLC for DevOps, Agile and moreTailoring your SDLC for DevOps, Agile and more
Tailoring your SDLC for DevOps, Agile and more
Jeff Schneider
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
DevOps.com
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.com
Salesforce Engineering
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Moataz Nabil
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Sonatype
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN World
Cisco DevNet
 
Deep Dive on CI/CD NYC Meet Up Group
Deep Dive on CI/CD NYC Meet Up GroupDeep Dive on CI/CD NYC Meet Up Group
Deep Dive on CI/CD NYC Meet Up Group
NeerajKumar1965
 
Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)
Chris Richardson
 
Platform Agility, Reliability, and Security: Can You Really Have it All in th...
Platform Agility, Reliability, and Security: Can You Really Have it All in th...Platform Agility, Reliability, and Security: Can You Really Have it All in th...
Platform Agility, Reliability, and Security: Can You Really Have it All in th...
VMware Tanzu
 
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsMuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
Julian Douch
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQL
Gerger
 
DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps
DevOps Patterns Distilled: Implementing The Needed Practices In Practical StepsDevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps
DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps
CA Technologies
 
DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017
Giulio Vian
 
Latest dev ops trends in 2021 you should know
Latest dev ops trends in 2021 you should knowLatest dev ops trends in 2021 you should know
Latest dev ops trends in 2021 you should know
Impressico Business Solutions
 

What's hot (20)

The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database Development
 
Discover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automationsDiscover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automations
 
DevOps made simple - Understand DevOps and steps to become a DevOps expert
DevOps made simple  - Understand DevOps and steps to become a DevOps expertDevOps made simple  - Understand DevOps and steps to become a DevOps expert
DevOps made simple - Understand DevOps and steps to become a DevOps expert
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services
 
Tailoring your SDLC for DevOps, Agile and more
Tailoring your SDLC for DevOps, Agile and moreTailoring your SDLC for DevOps, Agile and more
Tailoring your SDLC for DevOps, Agile and more
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.com
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN World
 
Deep Dive on CI/CD NYC Meet Up Group
Deep Dive on CI/CD NYC Meet Up GroupDeep Dive on CI/CD NYC Meet Up Group
Deep Dive on CI/CD NYC Meet Up Group
 
Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)Microservices pattern language (microxchg microxchg2016)
Microservices pattern language (microxchg microxchg2016)
 
Platform Agility, Reliability, and Security: Can You Really Have it All in th...
Platform Agility, Reliability, and Security: Can You Really Have it All in th...Platform Agility, Reliability, and Security: Can You Really Have it All in th...
Platform Agility, Reliability, and Security: Can You Really Have it All in th...
 
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsMuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
 
Introducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQLIntroducing Gitora,the version control tool for PL/SQL
Introducing Gitora,the version control tool for PL/SQL
 
DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps
DevOps Patterns Distilled: Implementing The Needed Practices In Practical StepsDevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps
DevOps Patterns Distilled: Implementing The Needed Practices In Practical Steps
 
DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017DevOps by examples - Continuous Lifecycle London 2017
DevOps by examples - Continuous Lifecycle London 2017
 
Latest dev ops trends in 2021 you should know
Latest dev ops trends in 2021 you should knowLatest dev ops trends in 2021 you should know
Latest dev ops trends in 2021 you should know
 

Similar to Experience with Salesforce DX on real project

Using Product Box to Build the Complete Developer
Using Product Box to Build the Complete DeveloperUsing Product Box to Build the Complete Developer
Using Product Box to Build the Complete Developer
Luke Hohmann
 
Top 10 Things Admins Can Learn from Developers (without learning to code)
Top 10 Things Admins Can Learn from Developers (without learning to code)Top 10 Things Admins Can Learn from Developers (without learning to code)
Top 10 Things Admins Can Learn from Developers (without learning to code)
YeurDreamin'
 
Death by Technical Debt: Lessons Learned to Get you Unbuired
Death by Technical Debt: Lessons Learned to Get you UnbuiredDeath by Technical Debt: Lessons Learned to Get you Unbuired
Death by Technical Debt: Lessons Learned to Get you Unbuired
TechnologyAssociationOregon
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
gjdevos
 
What every developer can learn from startups
What every developer can learn from startupsWhat every developer can learn from startups
What every developer can learn from startups
Oleg Podsechin
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
Xebia India
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...
Wojciech Seliga
 
Supercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps PlatformSupercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps Platform
XebiaLabs
 
TDD - Cultivating a Beginner's Mind
TDD -  Cultivating a Beginner's MindTDD -  Cultivating a Beginner's Mind
TDD - Cultivating a Beginner's Mind
Shai Yallin
 
Slack integrations for Jira and Confluence
Slack integrations for Jira and ConfluenceSlack integrations for Jira and Confluence
Slack integrations for Jira and Confluence
Marlon Palha
 
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
JANA, Inc.
 
Introducing the Development Director
Introducing the Development Director Introducing the Development Director
Introducing the Development Director
The Marketing Practice
 
Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012
jonathw
 
Getting to Know the Community
Getting to Know the CommunityGetting to Know the Community
Getting to Know the Community
Bryan Boroughf
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino Dogs
Mark Myers
 
ALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldRoland Leibundgut
 
Limited WIP Meeting presentation - The Phoenix Project book review
Limited WIP Meeting presentation - The Phoenix Project book reviewLimited WIP Meeting presentation - The Phoenix Project book review
Limited WIP Meeting presentation - The Phoenix Project book review
Rudiger Wolf
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
Vaco Seattle
 
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Allison Pollard
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
Perforce
 

Similar to Experience with Salesforce DX on real project (20)

Using Product Box to Build the Complete Developer
Using Product Box to Build the Complete DeveloperUsing Product Box to Build the Complete Developer
Using Product Box to Build the Complete Developer
 
Top 10 Things Admins Can Learn from Developers (without learning to code)
Top 10 Things Admins Can Learn from Developers (without learning to code)Top 10 Things Admins Can Learn from Developers (without learning to code)
Top 10 Things Admins Can Learn from Developers (without learning to code)
 
Death by Technical Debt: Lessons Learned to Get you Unbuired
Death by Technical Debt: Lessons Learned to Get you UnbuiredDeath by Technical Debt: Lessons Learned to Get you Unbuired
Death by Technical Debt: Lessons Learned to Get you Unbuired
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
 
What every developer can learn from startups
What every developer can learn from startupsWhat every developer can learn from startups
What every developer can learn from startups
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...
 
Supercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps PlatformSupercharge Your Digital Transformation by Establishing a DevOps Platform
Supercharge Your Digital Transformation by Establishing a DevOps Platform
 
TDD - Cultivating a Beginner's Mind
TDD -  Cultivating a Beginner's MindTDD -  Cultivating a Beginner's Mind
TDD - Cultivating a Beginner's Mind
 
Slack integrations for Jira and Confluence
Slack integrations for Jira and ConfluenceSlack integrations for Jira and Confluence
Slack integrations for Jira and Confluence
 
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
The Top 5 DITA Conversion and Authoring Pitfalls (and how to avoid them)
 
Introducing the Development Director
Introducing the Development Director Introducing the Development Director
Introducing the Development Director
 
Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012Whittle Modeling Wizards 2012
Whittle Modeling Wizards 2012
 
Getting to Know the Community
Getting to Know the CommunityGetting to Know the Community
Getting to Know the Community
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino Dogs
 
ALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_worldALN_Nepal-Agile_for_the_real_world
ALN_Nepal-Agile_for_the_real_world
 
Limited WIP Meeting presentation - The Phoenix Project book review
Limited WIP Meeting presentation - The Phoenix Project book reviewLimited WIP Meeting presentation - The Phoenix Project book review
Limited WIP Meeting presentation - The Phoenix Project book review
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
 
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 

More from YeurDreamin'

Discover Social Studio: The Product, The Use & The Connector
Discover Social Studio: The Product, The Use & The Connector	Discover Social Studio: The Product, The Use & The Connector
Discover Social Studio: The Product, The Use & The Connector
YeurDreamin'
 
Your Salesforce toolbelt – Practical recommendations to keep your Org healthy
Your Salesforce toolbelt – Practical recommendations to keep your Org healthyYour Salesforce toolbelt – Practical recommendations to keep your Org healthy
Your Salesforce toolbelt – Practical recommendations to keep your Org healthy
YeurDreamin'
 
Admins – You Can Code Too!
Admins – You Can Code Too!Admins – You Can Code Too!
Admins – You Can Code Too!
YeurDreamin'
 
Behind Every Device is a Customer. Learn how to connect IoT devices to Salesf...
Behind Every Device is a Customer. Learn how to connect IoT devices to Salesf...Behind Every Device is a Customer. Learn how to connect IoT devices to Salesf...
Behind Every Device is a Customer. Learn how to connect IoT devices to Salesf...
YeurDreamin'
 
Build Your Own Lightning Community in a Flash - part 2
Build Your Own Lightning Community in a Flash - part 2Build Your Own Lightning Community in a Flash - part 2
Build Your Own Lightning Community in a Flash - part 2
YeurDreamin'
 
Clean Code Principles
Clean Code PrinciplesClean Code Principles
Clean Code Principles
YeurDreamin'
 
Build A Meaningful Network while elevating your Career – Getting the most out...
Build A Meaningful Network while elevating your Career – Getting the most out...Build A Meaningful Network while elevating your Career – Getting the most out...
Build A Meaningful Network while elevating your Career – Getting the most out...
YeurDreamin'
 
From Food Truck Chef to Architect, My Salesforce Journey
From Food Truck Chef to Architect, My Salesforce JourneyFrom Food Truck Chef to Architect, My Salesforce Journey
From Food Truck Chef to Architect, My Salesforce Journey
YeurDreamin'
 
Supercharge your Salesforce with 10 Awesome tips & tricks
Supercharge your Salesforce with 10 Awesome tips & tricksSupercharge your Salesforce with 10 Awesome tips & tricks
Supercharge your Salesforce with 10 Awesome tips & tricks
YeurDreamin'
 
Spectacular Specs and how to write them!
Spectacular Specs and how to write them!Spectacular Specs and how to write them!
Spectacular Specs and how to write them!
YeurDreamin'
 
Platform Events: How developers and admins work together to implement busines...
Platform Events: How developers and admins work together to implement busines...Platform Events: How developers and admins work together to implement busines...
Platform Events: How developers and admins work together to implement busines...
YeurDreamin'
 
An Admin’s Guide to Workbench
An Admin’s Guide to WorkbenchAn Admin’s Guide to Workbench
An Admin’s Guide to Workbench
YeurDreamin'
 
10 Lessons of Salesforce Nonprofit implementations from a Customer and Integr...
10 Lessons of Salesforce Nonprofit implementations from a Customer and Integr...10 Lessons of Salesforce Nonprofit implementations from a Customer and Integr...
10 Lessons of Salesforce Nonprofit implementations from a Customer and Integr...
YeurDreamin'
 
How to monitor and prioritize epics of a Service Cloud implementation project...
How to monitor and prioritize epics of a Service Cloud implementation project...How to monitor and prioritize epics of a Service Cloud implementation project...
How to monitor and prioritize epics of a Service Cloud implementation project...
YeurDreamin'
 
Prototyping UX Solutions with Playgrounds and Lightning Web Components
Prototyping UX Solutions with Playgrounds and Lightning Web ComponentsPrototyping UX Solutions with Playgrounds and Lightning Web Components
Prototyping UX Solutions with Playgrounds and Lightning Web Components
YeurDreamin'
 
Want your bank to trust you? You need a credit score. Want your customers to ...
Want your bank to trust you? You need a credit score. Want your customers to ...Want your bank to trust you? You need a credit score. Want your customers to ...
Want your bank to trust you? You need a credit score. Want your customers to ...
YeurDreamin'
 
Invocable methods
Invocable methodsInvocable methods
Invocable methods
YeurDreamin'
 

More from YeurDreamin' (17)

Discover Social Studio: The Product, The Use & The Connector
Discover Social Studio: The Product, The Use & The Connector	Discover Social Studio: The Product, The Use & The Connector
Discover Social Studio: The Product, The Use & The Connector
 
Your Salesforce toolbelt – Practical recommendations to keep your Org healthy
Your Salesforce toolbelt – Practical recommendations to keep your Org healthyYour Salesforce toolbelt – Practical recommendations to keep your Org healthy
Your Salesforce toolbelt – Practical recommendations to keep your Org healthy
 
Admins – You Can Code Too!
Admins – You Can Code Too!Admins – You Can Code Too!
Admins – You Can Code Too!
 
Behind Every Device is a Customer. Learn how to connect IoT devices to Salesf...
Behind Every Device is a Customer. Learn how to connect IoT devices to Salesf...Behind Every Device is a Customer. Learn how to connect IoT devices to Salesf...
Behind Every Device is a Customer. Learn how to connect IoT devices to Salesf...
 
Build Your Own Lightning Community in a Flash - part 2
Build Your Own Lightning Community in a Flash - part 2Build Your Own Lightning Community in a Flash - part 2
Build Your Own Lightning Community in a Flash - part 2
 
Clean Code Principles
Clean Code PrinciplesClean Code Principles
Clean Code Principles
 
Build A Meaningful Network while elevating your Career – Getting the most out...
Build A Meaningful Network while elevating your Career – Getting the most out...Build A Meaningful Network while elevating your Career – Getting the most out...
Build A Meaningful Network while elevating your Career – Getting the most out...
 
From Food Truck Chef to Architect, My Salesforce Journey
From Food Truck Chef to Architect, My Salesforce JourneyFrom Food Truck Chef to Architect, My Salesforce Journey
From Food Truck Chef to Architect, My Salesforce Journey
 
Supercharge your Salesforce with 10 Awesome tips & tricks
Supercharge your Salesforce with 10 Awesome tips & tricksSupercharge your Salesforce with 10 Awesome tips & tricks
Supercharge your Salesforce with 10 Awesome tips & tricks
 
Spectacular Specs and how to write them!
Spectacular Specs and how to write them!Spectacular Specs and how to write them!
Spectacular Specs and how to write them!
 
Platform Events: How developers and admins work together to implement busines...
Platform Events: How developers and admins work together to implement busines...Platform Events: How developers and admins work together to implement busines...
Platform Events: How developers and admins work together to implement busines...
 
An Admin’s Guide to Workbench
An Admin’s Guide to WorkbenchAn Admin’s Guide to Workbench
An Admin’s Guide to Workbench
 
10 Lessons of Salesforce Nonprofit implementations from a Customer and Integr...
10 Lessons of Salesforce Nonprofit implementations from a Customer and Integr...10 Lessons of Salesforce Nonprofit implementations from a Customer and Integr...
10 Lessons of Salesforce Nonprofit implementations from a Customer and Integr...
 
How to monitor and prioritize epics of a Service Cloud implementation project...
How to monitor and prioritize epics of a Service Cloud implementation project...How to monitor and prioritize epics of a Service Cloud implementation project...
How to monitor and prioritize epics of a Service Cloud implementation project...
 
Prototyping UX Solutions with Playgrounds and Lightning Web Components
Prototyping UX Solutions with Playgrounds and Lightning Web ComponentsPrototyping UX Solutions with Playgrounds and Lightning Web Components
Prototyping UX Solutions with Playgrounds and Lightning Web Components
 
Want your bank to trust you? You need a credit score. Want your customers to ...
Want your bank to trust you? You need a credit score. Want your customers to ...Want your bank to trust you? You need a credit score. Want your customers to ...
Want your bank to trust you? You need a credit score. Want your customers to ...
 
Invocable methods
Invocable methodsInvocable methods
Invocable methods
 

Recently uploaded

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 

Recently uploaded (20)

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 

Experience with Salesforce DX on real project

  • 1. EXPERIENCE WITH SALESFORCE DX ON REAL PROJECT MARTIN HUMPOLEC && ADAM SIENKIEWICZ
  • 2. #YD19 A bit about us Martin Humpolec Salesforce Consultant Salesforce MVP Lightning Champion Trailhead & Certification Addict Prague Salesforce User Group Leader CzechDreamin conference organizer Blogger: MartinHumpolec.cz Twitter: @mhumpolec
  • 3. #YD19 A bit about us Adam Sienkiewicz Salesforce Consultant Trailblazer & 7 times Salesforce Certified Salesforce Enthusiast Data Analysis Fan
  • 4. #YD19 Table of content • What is DX • Why do we use DX • Pros / Cons summary • Use case – our process flow overview
  • 5. #YD19 What is Salesforce DX Salesforce DX is a Salesforce product in the App cloud that allows users to develop and manage Salesforce apps throughout the entire platform in a more direct and efficient way. NOT for developers only NOT an “all or nothing” option
  • 6. #YD19 DX Learning Curve I spent about 5 % of my time on requested changes and 95 % fighting the Git. @StudiosViloria
  • 8. #YD19 Commands Plenty of commands and you will actually use about 4 of them.
  • 10. #YD19 Salesforce DX = VCS (for us) DX is actually just a small part of that picture, but people will blame it for everything.
  • 11. #YD19 Why do we use DX? • Provide better performance with version control, disaster tracking and auditing • Integrated with popular IDE tools • Ability to migrate from standard metadata schemes • Streamlined release management • Artifact-based programming concept is easier to implement • Easy packaging and deployments • Price – it is free!
  • 12. #YD19 Salesforce DX in practice – Why did we chose DX? • Will to learn and train the team about new paradigm • High number of dev team members • We wanted to give control to the team over their orgs • Because nowadays DX is hip (?)
  • 13. #YD19 Pros • Accelerates development knowledge gathering • Ability to copy things/update the xml • Scratch orgs to test things • The ability to extend it with your own/community code • Once you know the basics it is easy to progress
  • 14. #YD19 Manual or click? Manual changes – How to learn patience and understand that in the end the SF platform is just a set of <> lines with true/false values
  • 16. #YD19 Cons • “Disconnection” between people as everyone works in their instance (“weird, mine works fine”) • Some things aren’t possible to set via metadata when creating scratch org (should be changed by summer release) • Some things are hard/impossible to push through (entitlements, security settings, …) • Some errors are difficult to investigate due to relatively new concept without complete documentation and user cases • A bit complex in the beginning
  • 17. #YD19 Salesforce DX in practice – Initial Challenges • Lack of structure in terms of scratch org setup, no config, no features defined, no processes, no ownership • Problems with deployment • General lack of knowledge about the tool within the team. Quickly turning into large knowledge gap between experienced devs and beginners
  • 18. #YD19 Salesforce DX in practice – Initial Challenges – Solution Approach Introduce release/deployment manager full-time role RESPONSIBILITIES: Setup config for scratch orgs Create and refresh sandboxes Run deployments Support the Team Define and build deployment flow Configure Continuous Integration
  • 19. #YD19 Salesforce DX in practice – Challenges along the way • Some features need to be a manual pre-deployment step for scratch org • Scratch org is not retrieving full config for profiles • Manual hotfixes on “release train” orgs led to lack of single source of truth for configuration • Overwriting changes in git, confusion about the flow
  • 20. #YD19 Salesforce DX in practice – Challenges along the way – Solutions Rule no. 1 – „You always make changes to profiles manually!” Rule no. 2 – Rule no. 1 cannot be omitted In the end challenges happened to be a great catalyst for learning new things!
  • 22. #YD19 Git flow This whole git flow will confuse your consultants/admins continuously
  • 23. #YD19 What we can confirm The problem is that no matter how much you say that source control is the ultimate source of truth, if people can make changes on the org directly, the org ultimately represents the true picture of what’s going on. (https://bluecanvas.io/blog/2019-2-5-why-salesforce-dx-and-git-flow-dont-work-for-salesforce-teams)
  • 24. #YD19 Salesforce DX in practice - Team adoption • Most of the non-technical team members initially started on the very high left end of the rectangle, gradually moving towards center • Lot of complaints about git usage • Experienced users were unhappy having to support others apart from their tasks
  • 25. #YD19 Git flow On average day we know Git well and can use those 4 commands. And then there is that exception.
  • 26. #YD19 Code merging Merge conflict in a file you did nothing with? You have no idea what to accept, so you will take a guess.
  • 27. #YD19 Deployment flow Or deployment flow – it takes time to push anything through it.
  • 28. #YD19 Good practices • Use properly configured scratch orgs • Proper description in commits && their clever use • Have a set of sample data • Use .forceignore wisely and don’t be afraid of it • Code retrieve-convert speeds-up hotfixing and deployments • Naming conventions
  • 29. #YD19 Summary aka One best thing (Martin) force:org:open
  • 30. #YD19 Summary aka One best thing (Adam) force:mdapi:retrieve
  • 31. #YD19 What’s ahead of us? Packaging concepts Data setup using DX Org shapes and templates
  • 33. #YD19 Join us for drinks @18:00 sponsored by Community sponsors: What we can learn from you? NonProfit-track sponsor: