How Agencies Can Digitally Transform With DevOps
June 24, 2020 Brought to you by: LOCAL GOVERNMENT & DEVOPS
Match made in Heaven or Culture War? Barry Condrey CIO / Chesterfield County, VA Diversity of Business
Fiscally Conservative
Silos, silos, silos LOCAL GOVERNMENT Tenured Workforce
Technical Debt
Development & Value Timelines Customer Expectations
• Speed to deliver • Involved, Invested • Fiscal Prudence • Quality! CHALLENGES IT Organization
• Tools Skills • Apps vs Infrastructure vs Security • New Things & Toolchains • Agile & DevOps • Project Portfolio Backlog APPROACHES & STRATEGIES
• Not a technology problem, it’s a culture problem, start now • Requires incremental change & communications • The 50% Equation – Ratio of business processes to major applications • Cultural changes needed for DevOps are healthy, regardless • Leverage existing culture – Whatever it is • Be prepared to use an emergency (never let one go to waste) • Introduce with low-code and other projects • Don’t forget about Data, Security, Branding along the way • Fiscal & Quality Culture – Deeply Rooted • Gulf between Apps & Infrastructure • “Where you sit determines what you see” – Airforce General “Beak” Howell CHESTERFIELD • IaaS, PaaS – Pushing for more flexibility STORY • The DBA & the Data Scientist – Broken silos • COVID-19 Response – Apps in a week • Poor Man’s Toolchain vs Tools That Enable • PMO, Accountability and Scope Creep How Agencies Can Build On. Digitally Transform with DevOps The confidence to move fast during unpredictable times Salesforce Is the Platform For Fast and Secure Government Projects
Trust Increase Productivity FedRAMP, Innovative DoD, IL2/4, Improvement in SOC, HIPPA time to market Compliant Connected Integrated with Increase in external systems company growth and devices Scalable Secure Increase in process18.80% Reduction in IT efficiency Reduce IT Costs maintenance “COVID-19 has been a catalyst for change across the globe, with experts claiming that it is accelerating digital transformation for every company" Accenture + Salesforce + Copado COVID-19 Response
● Copado provided rapid DevOps response for team of 200 developing a virus contact tracing app for the Commonwealth of Massachusetts
● Free Copado Platform license and discount pricing for COVID-19 projects
● Follow on projects closed with LA, WDC, CA, KS, and more in the works with ON, MN, NYCERS, etc. and internal purchases by ACIS and India teams
● Accenture Innovation Center developed Salesforce Work.com based on MA. Now they want Copado licenses We Want to Help Copado COVID-19 Cares
5 COVID APPS LIVE 3000+ REGISTERED
Free Copado Platform Monthly Virtual DevOps
○ Covid Specific Apps Days ○ Discounted Users ○ Executive Track ○ Discounted Services ○ Partners ○ Developers New “Virtual Learning Center” ○ Weekly Webinars Free DevOps Certification ○ Virtual Demos ○ Voucher code: ○ $250 Value ○ Weekly Certification Days
50% OF TOTAL 1100 COPADO PAGEVIEWS APR & MAY CERTIFIED The Challenge: How Do You Measure the Success Of Your Project? Success Is measured by the speed and quality of your innovation delivery
INNOVATION VELOCITY
GO LIVE GAP
TRANSFORMATION Salesforce DevOps Needs CUSTOMER VISION EXPERIENCE Structured CI/CD process Source driven development Version Control Security and Compliance Performance Analysis Disaster Recovery
TRUST & QUALITY
“Only 10% of CIOs say they are very successful at rapid software development and deployment” Today’s Unpredictable Environment is Overwhelming Delivery Capacity Delivery teams have an exponential impact on your ability to deliver business results
INNOVATION VELOCITY
GO LIVE GAP TRANSFORMATION 100+ Days CUSTOMER VISION EXPERIENCE
LARGE TEAMS Salesforce DevOps Needs UNCERTAINTYCOVID-19
Multiple Siloed Teams Structured CI/CD process SocialCOVID Unrest-19 Too Many Dev Tools Story Driven Development RemoteSocial WorkersUnrest Volatile Economy Multiple Data Silos Version Control Remote Workers Global Disruptions Multiple Schedules Security and Compliance Volatile Economy No Source of Truth Performance Analysis Global Disruptions Disaster Recovery
TRUST & QUALITY “We are facing a truly unprecedented situation” Marc Benioff, CEO Salesforce Copado DevOps Gives You An Engine For Extreme Agility Deliver more value faster to market with full visibility and governance
INNOVATION VELOCITY
BUILD DELIVER TRANSFORMATION BUSINESS VISION IMPACT
Governance Visibility
PLAN MONITOR
TRUST & QUALITY TRUST & TIME TO CHANGE RECOVERY FAILURE QUALITY RATE Our Data Driven Approach To DevOps is the Difference
Why Salesforce DevOps? Measure Your ROI Maximize Your Investments
$5 Million In Benefits 17% of Respondents What business impacts have you seen from your Salesforce DevOps strategy? Align Your People: Those That Build Your Org, Build Your Agency The alignment of your siloed delivery teams determines the performance of your transformation
Traditional Delivery Teams DevOps Aligned Teams
✕ Misaligned or Conflicting Goals ✓ Aligned Around Value Streams
✕ Admins vs Developers Silos ✓ Shared Goals (AGILE)
✕ Lack of Trust, Lost Work ✓ Shared Collaboration Tools
Value Stream Maps ✓ Trust and Openness
Sales Service CPQService Business Dev Team Dev Team Dev Team Service Sales Call Centre Marketing Community Users Dev Team Dev Team Dev Team Dev Team Dev Team
Call Centre eCommerce Dev Team Dev Team Customers & Partner Standardize Your Process: Optimize the End to End Delivery Process Align Your People, Process, and Goals to Quickly Navigate Any Challenge
Continuous Integration Continuous Delivery
INTEGRATION TEST BACKUP DEPLOY CODE DATA DEPLOY PLATFORM BUILD DELIVER CUSTOMER INNOVATION EXPERIENCE CONFIGURE RELEASE
USER MONITOR STORIES PLAN MANAGE
REQUIREMENTS TRAIN ORG IMPACT RESTORE
PROCESS COMPLIANCE MAPS
Continuous Innovation Continuously Improve: DevOps 360 Analytics Give your team the visibility and confidence to take on the new world
Planning Development Delivery Performance Performance Performance
SALESFORCE DELIVERY PERFORMANCE
➔ Measure Salesforce ROI
➔ Faster Release Cycles
➔ Safer Innovation Delivery
➔ Adapt to Changing Market Conditions
➔ Align Business Goals With Technology CIO Dashboards Value Stream Maps 100% Salesforce Native DevOps Platform
SALESFORCE SALESFORCE SALESFORCE SALESFORCE SECURITY SALESFORCE IT ADMINISTRATOR DEVELOPER CIO ARCHITECT
● Lightning UX ● Einstein Analytics NATIVE DEVOPS EXPERIENCE ● Salesforce Flow ● Workflows and Alerts ● Native Dashboards ● Salesforce Mobile ● Chatter Collaboration ● Dev/Test Environments
DevOps 360 DevOps 360 DEVOPS 360 ANALYTICS DevOps Analytics Value Stream Maps
Plan Create Verify COPADO DEVOPS Deploy Release Monitor
3RD PARTY DEVOPS TOOLS
AGILE PLANNING REPOSITORIES CI/CD BACKUP / ORG MGT VERTICAL SOLUTIONS IDEs TESTING AND COMPLIANCE CONTINUOUS INTEGRATION Security Governance SECURITY & COMPLIANCE Compliance Continuity ● ISO, SOC, HIPAA, GDPR, ● Change Mgt Controls ● Documented Process Maps ● Trustee Data Backup & ● Risk and Impact Analysis ● Complete Audit Trails and Recovery ● Secure API-based ● Release approvals and architecture History ● Business Continuity documentation ● ● Secure Hybrid Deployment Compliance rules and alerts ● Disaster Recovery Org Management Process SALESFORCE PLATFORM Roles and Users Lightning UX ➔ DevOps Orchestration ➔ Flow/Process Builder ➔ Native SFDC Security ➔ Page Layouts ➔ Proxy Agent/Metadata XML ➔ Webhooks ➔ Profiles ➔ Dashboard and Reports ➔ Merge Engines ➔ Job Scheduling ➔ Permission sets ➔ Lightning Components ➔ Global Find & Replace ➔ Alerts & Notifications 100% NATIVE Operational experience is driven by 5 levels of automation
5 Steps to DevOps Enlightenment Maturity
CONTINUOUS INNOVATION 05 CONTINUOUS INNOVATION Measure every step and continuously improve every step with full process transparency
04 CONTINUOUS DELIVERY CONTINUOUS CI/CD changes all the way to production for a faster time to value
STORY DRIVEN RELEASES 03 AGILE RELEASES for better collaboration/merging btn multiple devs and teams SOURCED BASED DEV 02 VERSION CONTROL as the Single Source of Truth, Manual Branch Management SECURITY AND TRUST
01 SELECT & DEPLOY SALESFORCE ORG as Source of Truth. Ad Hoc Component Releases
INNOVATION VELOCITY Velocity The Value of DevOps At The Department of Veterans Affairs
William Steele - Senior Program Architect Our Project Goals Public Sector Considerations
Successfully implement source code management ➢ Solutions need to be FEDRAMP’D, so that no Accelerate deployments and minimize manual work customer data leaves VA boundaries Create & Execute automated tests visually ➢ Solution/Vendor needs to be on the TRM Execute tests as part of Continuous Integration t ➢ Cost of a delivered Excel with source code mgt, delivery, & test automation solution makes an acquisition more difficult, if not impossible Traditional Salesforce Deployment Pipeline
15 Teams X 1 Changeset per X 5 environments = 75 Deployments Deployments from DEV to SIT via changesets Possibility(probability) of overwriting earlier deployments Salesforce Salesforce Numerous additional manual pre and post deployment steps Dev Sandboxes SIT Sandboxes
Team 1 Each previous changeset is deployed manually
Team 2
ISIT UAT Staging PROD Team 3 Code is pushed via changesets - no single source of truth
2 2 First We Tried To Build It Ourselves
20-30 teams/deployments X 3-5 Deployments-ENTSD X 2-3 Deployments-UAT X 1 Staging X 1 Production
Deployments from DEV to SIT can be automated or manual
Salesforce Salesforce Dev Sandboxes SIT Sandboxes Salesforce Test Automation Suite Performs Automated & Regression Testing Team 1 in all Environments COE Initiated Auto- Scheduled One COE Initiated One COE Initiated One One Package deployed Package Deploy Package Deploy Package Deploy Deploy Team 2
Team 3 ENTSD ISIT UAT Staging PROD Code is only pushed from GitHub Developers extract code from Salesforce Org and push to the Github repository
23 ➢ Jenkins on AWS will use Ant scripts to automate the deployments, pulling from GitHub Source Versioning And Branching Strategy Became Increasingly Complex
Auto Auto Deployment To ENTSD Deployment To Deployment Branches VIEWS-ENH-123456 ENTSD Auto Auto Auto GCMATTERS-ENH-123456 Deployment Deployment Deployment Acumen To To To Release Branch GAO-ENH-000336 Staging UAT ISITDTC STRAT-ENH-000471 Merge Staging UAT ISITDTC Release Branches FOM-ENH-000471
SQUARES-ENH-123456
OBPI CCTRK-ENH-000477 OFM-ENH-000434 ACN WATRS-ENH-000473
**Branches listed here are representative—there are too many EFORCE-ENH-000472 to list in their entirety DTCMerge BAMM-ENH-123456
Feature Branches Deployment Packages Was Even Harder
Package ALL
Package Package Flows Generator All build target
Flow All Flow Build Deploy Deploy target Zip Zip Why a Packaged Solution?
➢ GIT was designed for code repositories not XML
➢ Many teams do not have the skills to work effectively with GIT
➢ Most teams struggle with the merge branch activities
➢ Many teams struggle to create deployment packages that deploy successfully
➢ Many teams perform and expect numerous deployments and need support with issues
➢ We are looking into industry solutions to move to the next level of DevOps maturity DevOps March to Copado Repos in Copado This is the core association between Copado and the Version Control (Github).
● Each production org has its own Github Repository ● Developers can commit code to Github from Copado and vise- versa. ● There will be at least one branch per sandbox, and various other automatically managed branches for deployments (feature/release/merge) ● Copado takes Org Metadata Snapshots and commits them to the appropriate branch. ● Snapshots are the core component for identifying org differences for deployment Copado Redefined Our Pipelines A pipeline defines the path user stories will follow through the release process.
Pipeline Manager View Pipeline Diagram View User Stories Aligned Our Business Goals With Tech Delivery A user story is an element used in Agile software development that contains a description of a requirement from an end-user perspective.
● The core component that defines a deployment package ● Associate metadata to a User Story ● Promote a User Story to create a deployment to the next stage in the pipeline ● Copado takes Org Metadata Snapshots and commits them to the appropriate branch. ● The User Story Overlap Awareness feature will periodically check whether the metadata or Git metadata added to user stories has potential conflicts. Continuous Delivery With Copado A promotion is a container used to deploy one or multiple user stories from one environment to another following a designated pipeline.
● Copado allows you to promote user stories individually with the Promote and Deploy feature. This can be useful, for instance, if you want to apply a minor fix to a bug which does not share any dependency to another user story. ● When using the Promote and Deploy feature, Copado will create a Promotion and a Deployment of the selected user story and will automatically execute the deployment
User Story Metadata Promotion Deployment DevSit Sandbox
User Story Metadata Our Goal: Continuous Delivery
5 Steps to DevOps Enlightenment Maturity
05 CONTINUOUS INNOVATION CONTINUOUS INNOVATION Measure every step and continuously improve every step with full process transparency 04 CONTINUOUS DELIVERY CONTINUOUS CI/CD changes all the way to production for a faster time to value
STORY DRIVEN RELEASES for better 03 AGILE RELEASES collaboration/merging btn multiple devs and teams SOURCED BASED DEV 02 VERSION CONTROL as the Single Source of Truth, Manual Branch Management SECURITY AND TRUST
01 SELECT & DEPLOY SALESFORCE ORG as Source of Truth. Ad Hoc Component Releases
INNOVATION VELOCITY Velocity DevOps Next Steps
➢ Continue to make process and automation improvements • Continuing to enhance the deployment status notification and reporting capabilities • Continuing to enhance the automation capabilities, such that many DevOps activities will be handled right from the Salesforce UI • Adding Codescan static code analysis • Implementing Test Automation via Selenium and/or Eggplant
➢ Looking to implement Salesforce DX - a true development methodology and tool-set Trusted by Global Leaders Question Time Thank You Build On Build On Build On Build On TEAMWORK TRANSPARENCY DIVERSITY PERSPIRATION
Build On
Build On Build On Build On Build On TRUST TALENT RESPECT INSPIRATION
Our Approach: Data Driven DevOps Measure the success of your Salesforce development process
The Four Measures of Delivery Performance
8hrs Hourly 10% 60min
PERFORMANCE FACTORS:
➔ Size of the Delivery Team
➔ Number of Users Time from code How often you Percentage of How long to recover ➔ Number of Production Orgs committed to release to releases requiring from failures released to ➔ Amount of Customization production production rollback or fixes production ➔ Use of a DevOps Platform • Shorter is better • More is better • Less is better • Shorter is better
• Faster feedback • Early detection is • Decrease customer • Small batch size “Accelerate is a must-read book for cycles critical exposure • More market anyone involved in building Agile • Adjust to the agility • Automation is • Decrease down organizations and teams. It lays out market important time a path to success based on a “Faster delivery alone merely leads to customer disappointment when the statistical analysis of data” software delivery process defers to velocity without also addressing quality.” Benchmark vs Your Peers We do the research and analysis for you. DevOps Performance Metrics Benchmarks
SALESFORCE INNOVATION PERFORMANCE
LEAD TIME CHANGE RESTORE DEV TO RELEASE FAIL FREQUENCY TIME PROD RATE
ELITE Less than On Less than (Top 13% of 0 - 15% Demand SFDC) an hour an hour
Less than Between 0% - Less than a HIGH one day (36% of SFDC) Daily and 15% day Weekly
Between Between 16% - Between one MED Daily and (43% of SFDC) Daily and 25% day and one Weekly Weekly week
Between Between 51% - Between one LOW one week Daily and 75% day and one (8% of SFDC) and one Weekly week month
2555x 46x More 8x Fewer 96x Faster IMPROVEMENT Faster Releases Failures Restore Time State of Salesforce DevOps 2019 Interactive DevOps Dashboards
Use Cases: John Hancock Manual Tasks Humana MD Size VA SI Partner Productivity
Step 1: Lead Time Value Stream Maps
Step 2: Which Process?
96h Total 52h Idle Time / 40h @integration 10h Release to Production