O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Salesforce Application Lifecycle Management presented to EA Forum by Sam Garforth

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 41 Anúncio

Salesforce Application Lifecycle Management presented to EA Forum by Sam Garforth

Baixar para ler offline

Sam Garforth presented this at the Salesforce Enterprise Architect Forum on January 12th 2017. It covers governance and best practices for developing, deploying and supporting applications running on the Salesforce platform, whether these be apps or configurations of Sales or Service Cloud or Communities.

Sam Garforth presented this at the Salesforce Enterprise Architect Forum on January 12th 2017. It covers governance and best practices for developing, deploying and supporting applications running on the Salesforce platform, whether these be apps or configurations of Sales or Service Cloud or Communities.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Salesforce Application Lifecycle Management presented to EA Forum by Sam Garforth (20)

Anúncio

Mais de Sam Garforth (13)

Mais recentes (20)

Anúncio

Salesforce Application Lifecycle Management presented to EA Forum by Sam Garforth

  1. 1. Salesforce Application Lifecycle Management ​Sam Garforth ​Technical Architect Development Lifecycle and Deployment Designer Certified
  2. 2. Agenda • What is Application Lifecycle Management? • Centre of Excellence • Release Management • Deployment Tool Options • Testing Strategy • SFDX Roadmap
  3. 3. What is Application Lifecycle Management?
  4. 4. A Salesforce Development Lifecycle Backlog Release Management Development Process Ideas Business Backlog Sprint Developers • Code or Configure • Unit Test • Migration Scripts Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix
  5. 5. Governance Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Backlog Release Management Development Process Ideas Busine ss Backlo g Sprint Developers • Co de or Co nfi gu re • Un it Te st • Mi gra tio n Scr ipt s Testing User Acceptance Testing Production Environmental Management Agile Methodology Break-Fix Consistent governance is needed across all projects
  6. 6. The Software Development Lifecycle ​Technology • Delivery • Support and Training ​Processes and Roles • Business Process • Technology Process ​Tooling • Platform • Metadata • Migration P ROCESSES PEOPLE TRUSTED ADVISOR TECHNOLOGY Delivering Value ​Business • Users • Stakeholders
  7. 7. The Key Elements of a Salesforce Governance Framework • Center of Excellence (CoE) The process of managing governance. • Change Management Processes to manage the overall program or project lifecycle: from collecting Business requirements to moving code from development through production. • Org Strategy Designing and structuring the foundational “Orgs” or areas where the customer’s Salesforce applications will reside and run. • Technical Governance Guiding principles for effectively developing the technical aspects of Salesforce. Center of Excellence Change Management Org Strategy Technical Governance
  8. 8. What is a Salesforce Centre of Excellence?
  9. 9. Defining accountability at the Executive level Ensuring Business Goals & Strategic Initiatives are prioritized, leveraged, and executed upon Coordinating across initiatives Facilitating and driving user adoption Improving speed of execution Sharing business and technology best practices across business units Improving communication and visibility across the organization Driving corporate and industry compliance Benefits of Establishing a Center of Excellence A CoE can accelerate business value by: A CoE drives organizations to identify, prioritize, execute, and communicate, while optimally leveraging People, Processes, Knowledge, and Technology and at the same time ensuring high value for all users and meeting the overall Business GOALS. Center of Excellence People Processes Technology Knowledge Base
  10. 10. What is a Sample CoE Structure? Executive Sponsors Programme Team Release (Programmanagement) Business ScrumTeams (Development) Architectural Adoption/Training Support
  11. 11. What are the Crucial “Starter Set” Assets to Focus On? Solution Architecture Data Strategy Security & Data Sharing Model Development Standards & Best Practices Data Integration Approaches & Execution Change Management CoE Drives Innovation
  12. 12. Lifecycle of a Salesforce Center of Excellence Getting Started § Identify Executive Sponsors § Conduct Stakeholder Analysis § Define Business Objectives § Define Program Charter § Define Center of Excellence Operating Model, Roles and Responsibilities § Set up Meeting Agenda and Schedule Emerging § Define Process Maps § Define System Blueprint § Define Management and Risk Controls § Define Release Request Process § Define Success Metrics Strategy § Define Data Architecture § Define Data Quality Strategy § Develop Adoption and Strategy Plan § Establish Environment Management and Code Migration process Practicing § Map Business Process/Requirements § Develop Roadmap § Develop Integration Architecture § Define Deployment and Training Strategy § Define On-going Support Plan § Establish Change Control Process § Define long-term Data management strategy § Define long-term Integration strategy § Establish key cross-unit standards Leading § Provide frequent updates via Newsletter/Website § Conduct User Group Meetings § Develop Vendor Management processes and standards § Validate Success Metrics and Adjust (KPI’s) § Define ROI model
  13. 13. Release Management
  14. 14. Development Method - A flexible approach Must follow change process • Apex and VisualForce • Add/modify fields and page layouts • Create/update Workflow Rules and Approvals • Create/update sharing rules and public groups • Create/update Profiles • Create/update Custom Objects and Fields Safe in Production • Add Users • Update Role Hierarchy (depends on solution) • Reports • Dashboards • List View Management • Documentation Management • User Administration • Solution Management • Communication Templates • Email Templates • Manage Case processes (escalation, assignment, etc.) • Manage Leads processes (escalation, assignment, etc.) Daily Changes Scheduled Changes
  15. 15. Segregating Business and IT Responsibilities Business Responsibilities Daily Changes • Reports • Dashboards • List View Management • Documentation Management • User Administration • Solution Management • Communication Templates • Email Templates IT Responsibilities • Hotfix / Emergency Release: Immediate fix for showstopper issue (Ad hoc – As required) • Minor Release: Simple configuration changes that do not impact day to day business or require training. (Target Monthly / Fortnightly) • Major Release: New Initiatives and other changes that require training or testing. (Target Quarterly) Scheduled Changes
  16. 16. Salesforce Sandbox is a Key Part of Building in the Cloud • Copy of production on same infrastructure • Development tools to build and customize • Change Sets and Templates for faster deployment • Metadata APIs and IDE for faster development SANDBOX PRODUCTION
  17. 17. Managing Configuration Changes - declaratively ​Promote Changes Seamlessly with Change Sets PRODUCTION 1. Create Sandbox 2. Make Changes 3. Deploy Change Sets 1. Create a new Sandbox in just three 3 clicks Define acceptable change paths – who can promote changes and to which environments 2. Make changes 3. Bundle and deploy change set with full dependency checking to product or other sandbox
  18. 18. Tracking Changes ​Any change in the application affects the Metadata but not all Metadata is accessible through the Metadata API • The Metadata API is getting better with each new release Changes supported by the Metadata API Changes not supported by the Metadata API or made in the UI Source Control System (Centralized or Distributed) Change Log Metadata API Client (Force.com IDE or Migration Tool) Web UI Scripting Tool (Selenium…) Manual (Spreadsheet or Application) • What application/version • Who made the change • What component has been changed • When change occurred • Store securely and share applications sources • Maintain a separate branch for each project and application version • Help managing concurrent access and modifications of sources with file locking, diff and merge of source files
  19. 19. Single Sandbox – Scenario for small & quick projects New custom objects, tabs, and applications Integrations with other systems Apps involving Visualforce, workflow, or new validation rules New customer/org Smaller account New admins/developer Org is not live No interference with production data Challenge Addressed For Whom How What Not being able to track changes going on in production
  20. 20. Multiple Sandbox – For greater development flexibility Developing new app/feature Installing AppExchange App Testing/QA app Emerging customer/Single Org Maturing Developer Appex/Partner Projects Isolate developer environment No customizations occur in production org Conflicts and overwriting changesChallenge Addressed For Whom How What
  21. 21. Multiple Sandbox – Merge Changes before deploy Test in the integration sandbox. Migrate changes to a UAT environment Perform user-acceptance testing. Migrate changes to a staging environment Schedule the release Enterprise Customer Single/multiple orgs Keeping orgs in sync as a team Incomplete tracking and logging of changes Conflicts and errors discovered while deployment Create one Developer sandbox per developer Challenge Addressed For Whom How What
  22. 22. Sandbox Environments Environments for every stage in the development lifecycle Developer Daily Refresh Metadata Only 200 MB / 200 MB Developer Pro Daily Refresh Metadata Only 1 GB / 1 GB Partial Copy 5-Day Refresh Sample Production Data 5 GB / 5 GB Full Copy 29-Day Refresh All Production Data Same as Production ★ Development ★ Testing ★ Development ★ Testing ★ Continuous Build ★ Continuous Build ★ UAT ★ Training ★ Integration ★ Load Testing ★ Staging
  23. 23. Sandboxes Support robust ALM Environment Management Production Full Copy Developer Pro Partial Copy Legend Developer … … Example Architecture developer developer developer developer developer pro Integrated Dev developer pro QA partial copy Integrated QA full copy Staging full copy full copy UAT Performance Testing partial copy Training full copy Production Support Production
  24. 24. Sandboxes Available Per Edition 2550100
  25. 25. Deployment Tool Options
  26. 26. Tools: Selecting the right tools for the job ​Salesforce Tools and Framework • Force.com IDE (Eclipse based) • Change Sets (Cloud Deploy) • Ant/force.com migration tool ​3rd Party Tools • Dreamfactory Monarch: Copy, merge, migrate and archive data between orgs • Dreamfactory SnapShot: View, compare and push configurations (Metadata) ​Customer Tools • Version Control • Change Management Dev Test Dev Version Control Project Branch BASIC ADVANCED Cloud Deploy IDE Ant Version Control
  27. 27. Managing Configuration Changes – programmatically ​Integrate (and automate) with version control and continuous integration
  28. 28. • Dreamfactory Cascade • Copado • Flosum • AutoRabit • GearSet • Odaseva for Salesforce 3rd Party Code Migration Tools
  29. 29. What does the Salesforce community say? ​Copado ​AutoRABIT Source: Salesforce.com AppExchange as at 13 July 2016
  30. 30. Deployment Artifacts - Packages Artifact Description Best For Limitations Unmanaged Packages A collection of application components that can be distributed and installed in other orgs. • One-time setup of a development environment • A starting point configuration that can be customised • You can’t make further changes to packaged components using subsequent packages • Requires a Developer Edition org Managed Packages A collection of application components with a namespace that can be distributed and installed in other orgs. Managed packages can be listed on the AppExchange and are upgradeable. • Commercial applications • Functionality you want to add in multiple, possibly non-related orgs • Access to code is limited or hidden • Unique namespace can be bothersome or a blocker • Difficult to modify or delete components • Requires a Developer Edition org
  31. 31. Let’s look at what is required for a testing strategy Testing Strategy
  32. 32. The Testing Cycle Development User Acceptance Testing Production Release Manager Perform Unit Tests Evaluate Outcomes Refactor or Push to QA Write Code Quality Assurance Functional Test Regression Test Automated Smoke Test End-to-End Performance TestApproved Failed
  33. 33. Test Data in Sandbox ​You can supply data for testing in sandbox in several ways. • Sandbox templates provide real-world data that makes your testing environment more closely resemble your production instance. Only available in a Partial Copy or Full sandbox. • Import external data into your sandbox to make repeatable testing easier because the data set is static and can be relied on not to change.
  34. 34. Performance & End to End Testing • Governor limits • Significant Transactions: • Business transactions that are executed in high volume • Transactions involved in integration with other systems/applications • Transactions that may be suspect from a design standpoint (complex multi-object dependencies) or contention with respect to other types of transactions. • User Interface which has complex JavaScript and/or JS remoting • Peak Load
  35. 35. Security Website Vulnerabilities Code Scanners • Cross-site scripting • Cross-site request forgery • Authentication, authorization, and session management • Injection flaws • Force.com Security Source Code Scanner • Checkmarx • The Chimera web scanner • SonarQube with CodeScan Test Custom Controllers Best Practices
  36. 36. Testing Tools
  37. 37. Cinnamon & Selenium • Cinnamon uses Selenium to execute actions on a browser • Selenium is a de-facto browser-based automation tool for web applications today • Selenium supports all modern web browsers • Salesforce R&D uses Selenium for internal GUI test automation and we have strong expertise and experience with Selenium • By using a cloud-solution such as Sauce Labs, you can run your tests on more than 150 OS/Browser combinations without having any hardware setup
  38. 38. Next Generation Developer Experience SF/DX
  39. 39. Next Generation Developer Experience For more info see https://developer.salesforce.com /blogs/developer- relations/2016/12/salesforce-dx- source-driven-development.html and the videos that it links to
  40. 40. Thank Y u ​Sam Garforth ​Principal Technical Architect ​ @samjgarforth

×