SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Development Best Practice's
James Burns
Senior Director and Solution Architect, Customer Success
Office of CTO
jburns@salesforce.com
Forward-Looking Statements
​Statement under the Private Securities Litigation Reform Act of 1995:
​This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize
or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by
the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any
projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies
or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology
developments and customer contracts or use of our services.
​The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for
our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of
growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed
and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand,
retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history
reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could
affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly
report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC
Filings section of the Investor Information section of our Web site.
​Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may
not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently
available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Key Elements of a Salesforce Governance Framework
​Center of Excellence (CoE)
The process of managing governance.
​Change Management
The process of managing the overall program or project
lifecycle — from collecting business requirements to
moving code from development through production.
​Org Strategy
The design and structure of the foundational “orgs” or
areas where the customer’s Salesforce applications will
reside and run.
​Technical Governance
The guiding principles for effectively developing the
technical aspects of Salesforce.
Center of
Excellence
Change
Management
Org Strategy Technical
Governance
The Software Development Lifecycle: Salesforce Stages
Test
Ideas
Maintenance
Implement
Design
Software Development Lifecycle
The Traditional Development Process
​Traditional systems often create a traditional cadence
Source Control
System
Developer Community
Production Systems
Functional Testing
Integration Testing
Business Testing
Salesforce Way
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
Recommended Development Methodology: Agile
Daily
2–4
Weeks
No Duration Changes
Input From
Customer
Sprint
Planning
Meeting
TrainingArchitectSprint
Backlog
Business
Backlog
Review
Environmental Management
​Allow multiple teams to develop new capabilities
What Can You Change in Production?
Customers often ask, "What can we change directly into production?”
Generally, “nothing” is the answer, but there are exceptions.
Examples of tasks that can happen in production:
• Administration tasks such as single sign-on (SSO) certifications
• Minimal risk administration changes in production:
• Templates: email, dashboards, reports
• User management
• Knowledge management
• Other changes (these should follow a decision tree)
Note: Sync any changes made in production with a source control system.
Decision Tree
Requirement
Does it affect
another
application?
Does it affect
another process?
Does it involve a
data change?
Does it involve
a UI change?
Implement with a test
plan and update the
source control.
Yes
No
Yes
No
Yes
No
Yes
No
IMPACT Analysis
No
Yes
Add to the backlog
and roadmap.
Make sure all
Stakeholder are
considered
Yes
Release Strategy: Options
Few
Major
Releases
Salesforce
Releases
Break-Fix
Minor
Releases
Enhancements Many
SimpleEffortLevelDifficult
Sample Environment Architecture: Major (1)
1. Developer: In this sandbox, multiple people work together
on the same use case. In this example, they share the same
developer sandbox. Often, a mixed team of experienced and
novice developers work together, which fosters a transfer of
skills. The experienced developers can help with the creation
of ANT scripts.
2. Developer: In this case, there is a one-to-one ratio between
developers and sandboxes.
3. Developer Initial QA: This sandbox is where the QA team
has started to build their QA test scripts; this work can be
started within a Developer sandbox.
4. Developer Pro QA: When all the user stories for a sprint are
completed, all the code and configuration merge together so
the QA team can ramp up their testing. In this case, the
volume of test data is normally greater, so a Developer Pro
sandbox is
the best selection.
Developer
Developer
Developer
Initial QA
Developer
Pro QA
Full
Break-Fix
Full
Training
Full Performance
Testing UAT
Partial Integration
Testing
9
1
2
38
4
56
7
Production
Source Control
Sample Environment Architecture: Major (2)
5. Partial Integration Testing: Most Salesforce solutions
involve integration to other systems; to perform this testing,
sample of production data is normally required. We
recommend a Partial Data sandbox.
6. Full Performance Testing UAT: To complete UAT, you need
a complete copy of production data.
7. Full Training: Before you update the production system, you
need to offer training to users: a Full sandbox is the best
experience for this scenario.
8. Full Break-Fix: As customers begin using Salesforce for
business-critical systems, you need to test all changes in
production. Since human errors occur, a break-fix process
(which is independent of a release roadmap) is required. To
support this process, a you need a Full sandbox that is
independent of the release roadmap.
9. Production: This is a current production instance.
Developer
Developer
Developer
Initial QA
Developer
Pro QA
Full
Break-Fix
Full
Training
Full Performance
Testing UAT
Partial Integration
Testing
9
1
2
38
4
56
7
Production
Source Control
Development Best Practices
​Good development starts with design
Development
​The Salesforce platform is based on the Model-View-Controller (MVC) architectural pattern:
Controller
Application logic
Model
Objects (standard,
custom, and external)
View
User interface
(web client and the
Salesforce1 Mobile App)
A Solid Architecture Starts With These Design Principles
• Build a data model.
• Put configuration first.
• Ensure the 80–20 rule.
• Create personas.
• Keep it simple.
Remember: The overall process is to design, develop (configuration and code), and test.
Design Challenge and Considerations
Challenge Your team lacks understanding of the scope of the configuration capabilities.
Considerations
• The developers for your project:
• What is their background?
• Do they jump into code?
• What is their mindset for writing code?
• Code review: Determine if it can be replaced by configuration.
• Design: Ensure sufficient time for designing the system during sprint planning.
• The 80–20 rule: Go fast and iterate.
• Over configuration: Use a small amount of code (sometimes it improves the overall maintainability of the system).
• Available components (within AppExchange): Use the “buy or build” strategy.
• Strategic planning: Use a Salesforce roadmap to benefit your project.
• Long-term maintainability: Make the design cost effective.
Visual Development – When to Click Instead of Write Code
Configuration or Coding?
Configuration Coding Challenges
• Build a data model.
• User interface
• Reporting
• Business logic:
• Formulas
• Validation rules
• Workflows
Advantages
• Scalable
• Maintainable
• Fast
• You don’t need to be a programmer.
Disadvantages
• Fixed UI
• Can get complex.
• Advanced business logic
• Testing
• Triggers
• Controllers
• Classes
• Custom UI
Advantages
• Flexibility
• Strong versioning
• Can be reused.
Disadvantages
• Can get complex.
• Technical debt
• Testing
• Skill sets:
• Business analysts and professionals
• Programmers
• A custom UI may require Apex code.
• Time to market
• Declarative testing
• Complex systems – declarative
• Security
• Large data volumes
Best Practices Tips:
• Push declarative testing to the limit.
• Remember: “80 percent is good enough.”
Testing Strategy
​Learn how to set up effective testing
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
What’s Required?
Component
or System-
Level Testing
User
Acceptance
End-to-End Environments
Testing
Performance
Tools
The Salesforce Testing Strategy
Component
Functional
Client
Integration and
Performance
End-to-End
Regression
Code and
Configuration
When Should
I Do It
Tools Types
Testing
Why It’s
Important
Roles and
Responsibilities
Types
Release Management
​Let’s look at how software is managed between environments
The Effects of Poor Release Management
​The consequences of a poorly managed software release or environment include:
• Too many sandboxes.
• Lack of ownership.
• No clear path to production (change set,
ANT, managed package, or manual).
• Low-quality coding and testing.
• Conflicting release calendars.
• Frequent conflicts with code and configuration.
• Unclear system integration maps.
• No planned refresh schedule.
• Developers, testers, and release
engineers under constant stress.
• Unsuccessful deployments.
• Changes made directly in production.
• Overall low quality and adoption.
Our Recommendations
People Tooling Benefits
• A release manager who is
independent of development
and QA should perform
the release.
• The Business owner should
approve any changes in the
production environment.
• Remember: Separation
of duties (as recommended
by ITIL).
• For most projects — except for
very small ones — you’ll need
additional software tools to
manage source control and
automated builds.
• These tools are generally
inexpensive or free
to purchase.
• However, they will need to be
hosted either on an on-site
server or on a cloud service.
• Faster, more reliable
deployments
• More innovation in less time
• Higher user adoption
• Better ROI
• Less IT operations risk
The Path Forward
​How to achieve your long-term goal
What can you achieve with better software release and environment management?
• Clearly define your release environments.
• Define and enforce duties.
• Assign owners to sandboxes and deployments.
• Automate testing and deployment.
• Unify and publish a release calendar.
• Introduce the concept of release waves.
• Reduce the number of off-cycle releases.
• Communicate everything.
• Improve quality and enhance adoption.
Metadata API
​Metadata API is designed to retrieve, deploy, create, update, and delete customization
information for your organization
XML
Standard Objects
XML
Custom Objects
XML
Report
XML
Workflow Rules
XML
Apex Classes
XML
Apex Trigger
XML
Visualforce Pages
METADATA API
(Web Service Description Language)
Source Code
Repository
Code Migration: Best Practices
At the start of the day, perform these tasks:
• Refresh your sandbox and get the source control system to push the
metadata to the new org.
• Remember: By refreshing the sandbox, you will lose all the original
code and configuration.
• Ensure that migration scripts are correct by testing prior to moving
to a sandbox.
• Verify that:
• Your previous day’s work has been presented.
• Your enhancements have not been broken by other developers’
enhancements (run your test scripts again).
Keep in mind the following:
• An automated script will
not impact productivity,
but it will enhance quality.
• This process is not only
testing the enhancements
— it’s also testing the
migration process.
Tool Best For Limitations
Change Sets • Sandbox to production migrations
• Change management without source control
• Auditing previously deployed changes
• Enforcing code migration paths
• Deploying the same components to multiple orgs
• Small implementation
• You can only move metadata between a production
or and its sandboxes.
• You can't delete components.
• There is no support for source control.
Eclipse IDE • Project-based development
• Deployment to any org
• Synchronizing changes
• Some setup is required.
• It’s not always upgraded at the same time as other
Salesforce products.
• It has repeatable deployments that require re-selecting
components, which can be time consuming and can
introduce errors.
Force.com Ant
Migration Toolkit
• Scripted and scheduled deployments
• Repetitive tasks using the same set of components
• It requires a more developer-oriented skill set (familiarity
with Ant, scripting tools, and CLI).
• It requires storing a username and password on a disk,
which may be against your security policies.
Summary of Migration Tools
Tool Best For Limitations
Force.com Workbench • Ad hoc queries
• Metadata describes
• Lightweight data loads
• It’s not an officially supported product.
• It does not have project management features.
Force.com Command-
Line Interface (CLI)
• Passwords prohibited from being stored on disk due
to security polices
• Required interactive login
• Scripting and automated tasks
Logging in may be difficult behind a firewall.
Unmanaged Packages • One-time setup of a development environment
• A starting point configuration that is customizable
You can't make further changes to packaged
components using subsequent packages.
Managed Packages • Commercial applications
• You want to add to multiple orgs,
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.
Summary of Migration Tools
Source Control: Best Practices
Commit early and often:
Commits should be small and should work together.
Push code to the system at least daily.
Accompany every commit with a short description
of what is being committed.
Code should be assigned to one of at least
four branches:
Trunk, development, integration, and break-fix.
Additional R&D branches can be created simply
for trying ideas.
Make sure releases to QA and production are
tagged centrally.
• Tag release 1.0 as Production_Release_1.0.
• Tags are never modified after they are created.
Don’t push code that does not build or pass
unit tests.
Do push code that builds, but may not be
perfect yet.
Release Manager: Best Practices (1)
Avoid making changes directly into production.
Refresh all sandboxes as soon as possible after
a release has been pushed to production.
Refresh can take time if you have large
data volumes (LDV).
Ensure that all migrations are automated.
Ensure all migration scripts are tested.
Avoid use of change sets.
Script unsupported metadata (if you
are using) to the automated process.
Complete regression testing before coding is
pushed to production.
Ensure that developers create a unit test for all
code and configuration.
Aim for 95 percent code coverage of Apex code.
Consider using the Quick Deploy feature to find
issues quicker.
Release Manager: Best Practices (2)
Make sure you have a well-documented
release roadmap.
Avoid any delay in the planned release date.
• Capability is failing to meet the definition
of done.
• Capability is cut and added to the backlog.
Ensure that applications within the same
org follow the defined release schedule.
Plan a regression test cycle on a pre-release
sandbox before a Salesforce release.
Ensure that business users complete UAT and use
the system as they would in their daily work.
The users should not follow a predefined script.
Put a comprehensive communication plan in
place for the release.
Develop a training plan and create content
before the release.
Note: A release manager who is independent of any Scrum team should manage the release process.
Release Manager: Roles and Responsibilities
Accountable Responsibilities Interfaces With
• Manage all aspects of the
end-to-end release process.
• Sign off the release
for implementation.
• Coordinate Scrum, UAT,
and third-party teams.
• Ensure teams follow the
company's established
policies and procedures.
• Follow the service release and
deployment policy and planning.
• Ensure all data migration has
been completed successfully.
• Document outstanding known
errors and workarounds.
• Release documentation,
communications, and training.
• Implement a source
control system.
• Provide a release roadmap.
• Conduct service roll-out planning.
• Manage reports on release
progress and service-level
agreements (SLAs).
• Ensure release acceptance,
including Business sign-off of UAT.
• Security management
• Test management
• Adoption management
• Training management
• Communication management
• Support management
Release Management
Source
Control
Production
Environment
Development
Testing
Integration
Testing
User
Acceptance
Testing
Apache Ant
Developer
Edition
Developer
Edition
Developer
Edition
Developer
Pro
Partial
Data
Full
Developer
Developer
Developer
Update Production
Summary
​Agile
​Environmental Management
​Development
​Testing
​Release Management
thank y u

Contenu connexe

Tendances

DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudrsg00usa
 
Salesforce Security Review Tips and Tricks
Salesforce Security Review Tips and TricksSalesforce Security Review Tips and Tricks
Salesforce Security Review Tips and TricksRyan Flood
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best PracticesVivek Chawla
 
Understanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce PlatformUnderstanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce PlatformSalesforce Developers
 
Salesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Developers
 
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan OsgoodSalesforce Admins
 
Salesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSalesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSai Jithesh ☁️
 
DevOps Center_ArchitectGroup
DevOps Center_ArchitectGroup DevOps Center_ArchitectGroup
DevOps Center_ArchitectGroup AmeyKulkarni84
 
Best Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdfBest Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdfMohith Shrivastava
 
Best Practices for Rolling Out New Functionality
Best Practices for Rolling Out New FunctionalityBest Practices for Rolling Out New Functionality
Best Practices for Rolling Out New FunctionalitySalesforce Admins
 
Salesforce Cross-Cloud Architecture
Salesforce Cross-Cloud ArchitectureSalesforce Cross-Cloud Architecture
Salesforce Cross-Cloud ArchitectureThierry TROUIN ☁
 
Endless Use Cases with Salesforce Experience Cloud by Dar Veverka
Endless Use Cases with Salesforce Experience Cloud by Dar VeverkaEndless Use Cases with Salesforce Experience Cloud by Dar Veverka
Endless Use Cases with Salesforce Experience Cloud by Dar VeverkaAlesia Dvorkina
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patternsusolutions
 
Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerSalesforce Admins
 
Salesforce Release Management and Continuous Integration with AutoRABIT
Salesforce Release Management and Continuous Integration with AutoRABITSalesforce Release Management and Continuous Integration with AutoRABIT
Salesforce Release Management and Continuous Integration with AutoRABITAutoRABIT
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelSalesforce Developers
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Sam Garforth
 
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Developers
 

Tendances (20)

DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 
Salesforce Security Review Tips and Tricks
Salesforce Security Review Tips and TricksSalesforce Security Review Tips and Tricks
Salesforce Security Review Tips and Tricks
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best Practices
 
Understanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce PlatformUnderstanding Multitenancy and the Architecture of the Salesforce Platform
Understanding Multitenancy and the Architecture of the Salesforce Platform
 
Salesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for Deployment
 
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
 
Architect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon SessionArchitect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon Session
 
Salesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSalesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & Agile
 
DevOps Center_ArchitectGroup
DevOps Center_ArchitectGroup DevOps Center_ArchitectGroup
DevOps Center_ArchitectGroup
 
Best Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdfBest Practices with Apex in 2022.pdf
Best Practices with Apex in 2022.pdf
 
Best Practices for Rolling Out New Functionality
Best Practices for Rolling Out New FunctionalityBest Practices for Rolling Out New Functionality
Best Practices for Rolling Out New Functionality
 
Salesforce Cross-Cloud Architecture
Salesforce Cross-Cloud ArchitectureSalesforce Cross-Cloud Architecture
Salesforce Cross-Cloud Architecture
 
Endless Use Cases with Salesforce Experience Cloud by Dar Veverka
Endless Use Cases with Salesforce Experience Cloud by Dar VeverkaEndless Use Cases with Salesforce Experience Cloud by Dar Veverka
Endless Use Cases with Salesforce Experience Cloud by Dar Veverka
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patterns
 
Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce Optimizer
 
Salesforce Release Management and Continuous Integration with AutoRABIT
Salesforce Release Management and Continuous Integration with AutoRABITSalesforce Release Management and Continuous Integration with AutoRABIT
Salesforce Release Management and Continuous Integration with AutoRABIT
 
Introduction to the Salesforce Security Model
Introduction to the Salesforce Security ModelIntroduction to the Salesforce Security Model
Introduction to the Salesforce Security Model
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
 
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We Do
 
Oracle Fusion Application
Oracle Fusion ApplicationOracle Fusion Application
Oracle Fusion Application
 

En vedette

Cloud Journey: Implementation Success
Cloud Journey: Implementation Success Cloud Journey: Implementation Success
Cloud Journey: Implementation Success Salesforce Partners
 
Merchant cash advance overview
Merchant cash advance overview Merchant cash advance overview
Merchant cash advance overview Garren Du
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental ManagementSalesforce Partners
 
The Definitive Guide to Alternative Lending
The Definitive Guide to Alternative LendingThe Definitive Guide to Alternative Lending
The Definitive Guide to Alternative LendingFundera
 

En vedette (6)

Cloud Journey: Implementation Success
Cloud Journey: Implementation Success Cloud Journey: Implementation Success
Cloud Journey: Implementation Success
 
The World of Agility
The World of Agility The World of Agility
The World of Agility
 
Merchant cash advance overview
Merchant cash advance overview Merchant cash advance overview
Merchant cash advance overview
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
 
Project Management Essentials
Project Management Essentials Project Management Essentials
Project Management Essentials
 
The Definitive Guide to Alternative Lending
The Definitive Guide to Alternative LendingThe Definitive Guide to Alternative Lending
The Definitive Guide to Alternative Lending
 

Similaire à Development Best Practices

Df14 so many features dreamforce ’14
Df14 so many features dreamforce ’14Df14 so many features dreamforce ’14
Df14 so many features dreamforce ’14Mudit Agarwal
 
Environment & Release Management
Environment & Release ManagementEnvironment & Release Management
Environment & Release Managementelliando dias
 
San Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewSan Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewVivek Chawla
 
Five Admin Tips Every Developer Should Know
Five Admin Tips Every Developer Should KnowFive Admin Tips Every Developer Should Know
Five Admin Tips Every Developer Should KnowSalesforce Developers
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSalesforce Admins
 
Webinar: Cut that Clutter! Maintain a Clean Org and Improve Productivity
Webinar: Cut that Clutter! Maintain a Clean Org and Improve ProductivityWebinar: Cut that Clutter! Maintain a Clean Org and Improve Productivity
Webinar: Cut that Clutter! Maintain a Clean Org and Improve ProductivitySalesforce Admins
 
How Developers and Quality Engineer Collaborate at Salesforce
How Developers and Quality Engineer Collaborate at SalesforceHow Developers and Quality Engineer Collaborate at Salesforce
How Developers and Quality Engineer Collaborate at SalesforceSalesforce Engineering
 
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...Shell Black
 
August 2015 Governance Final 20150804.pptx
 August 2015 Governance Final 20150804.pptx August 2015 Governance Final 20150804.pptx
August 2015 Governance Final 20150804.pptxAdilPatel34
 
Salesforce Deployment: From Production Hacker to Agile Guru
Salesforce Deployment: From Production Hacker to Agile GuruSalesforce Deployment: From Production Hacker to Agile Guru
Salesforce Deployment: From Production Hacker to Agile GuruSalesforce Developers
 
Modern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesModern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesSalesforce Developers
 
From Sandbox To Production: An Introduction to Salesforce Release Management
From Sandbox To Production: An Introduction to Salesforce Release ManagementFrom Sandbox To Production: An Introduction to Salesforce Release Management
From Sandbox To Production: An Introduction to Salesforce Release ManagementSalesforce Developers
 
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 automationsJackGuo20
 
Getting to Grips with Process Builder
Getting to Grips with Process BuilderGetting to Grips with Process Builder
Getting to Grips with Process BuilderRichard Clark
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressedrikkehovgaard
 

Similaire à Development Best Practices (20)

Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
 
Df14 so many features dreamforce ’14
Df14 so many features dreamforce ’14Df14 so many features dreamforce ’14
Df14 so many features dreamforce ’14
 
Environment & Release Management
Environment & Release ManagementEnvironment & Release Management
Environment & Release Management
 
Quality Control in Development
Quality Control in DevelopmentQuality Control in Development
Quality Control in Development
 
San Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewSan Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning Overview
 
Five Admin Tips Every Developer Should Know
Five Admin Tips Every Developer Should KnowFive Admin Tips Every Developer Should Know
Five Admin Tips Every Developer Should Know
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
 
Webinar: Cut that Clutter! Maintain a Clean Org and Improve Productivity
Webinar: Cut that Clutter! Maintain a Clean Org and Improve ProductivityWebinar: Cut that Clutter! Maintain a Clean Org and Improve Productivity
Webinar: Cut that Clutter! Maintain a Clean Org and Improve Productivity
 
How Developers and Quality Engineer Collaborate at Salesforce
How Developers and Quality Engineer Collaborate at SalesforceHow Developers and Quality Engineer Collaborate at Salesforce
How Developers and Quality Engineer Collaborate at Salesforce
 
Einstein Analytics for Developers
Einstein Analytics for DevelopersEinstein Analytics for Developers
Einstein Analytics for Developers
 
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
 
August 2015 Governance Final 20150804.pptx
 August 2015 Governance Final 20150804.pptx August 2015 Governance Final 20150804.pptx
August 2015 Governance Final 20150804.pptx
 
Salesforce Deployment: From Production Hacker to Agile Guru
Salesforce Deployment: From Production Hacker to Agile GuruSalesforce Deployment: From Production Hacker to Agile Guru
Salesforce Deployment: From Production Hacker to Agile Guru
 
Modern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesModern App Dev: Modular Development Strategies
Modern App Dev: Modular Development Strategies
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
 
From Sandbox To Production: An Introduction to Salesforce Release Management
From Sandbox To Production: An Introduction to Salesforce Release ManagementFrom Sandbox To Production: An Introduction to Salesforce Release Management
From Sandbox To Production: An Introduction to Salesforce Release Management
 
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
 
Org Merge Best Practices
Org Merge Best PracticesOrg Merge Best Practices
Org Merge Best Practices
 
Getting to Grips with Process Builder
Getting to Grips with Process BuilderGetting to Grips with Process Builder
Getting to Grips with Process Builder
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressed
 

Plus de Salesforce Partners

ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)Salesforce Partners
 
Partner Roadmap Webinar (August 3, 2017)
Partner Roadmap Webinar (August 3, 2017)Partner Roadmap Webinar (August 3, 2017)
Partner Roadmap Webinar (August 3, 2017)Salesforce Partners
 
Lightning Now for Consulting Partners
Lightning Now for Consulting PartnersLightning Now for Consulting Partners
Lightning Now for Consulting PartnersSalesforce Partners
 
ISV Monthly Tech Enablement (July 2017)
ISV Monthly Tech Enablement (July 2017)ISV Monthly Tech Enablement (July 2017)
ISV Monthly Tech Enablement (July 2017)Salesforce Partners
 
Salesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce Partners
 
Salesforce Proficiency Pack for Administrators
Salesforce Proficiency Pack for AdministratorsSalesforce Proficiency Pack for Administrators
Salesforce Proficiency Pack for AdministratorsSalesforce Partners
 
Partner Roadmap Webinar (July 6, 2017)
Partner Roadmap Webinar (July 6, 2017)Partner Roadmap Webinar (July 6, 2017)
Partner Roadmap Webinar (July 6, 2017)Salesforce Partners
 
Environment Hub Fundamentals (Salesforce Partners)
Environment Hub Fundamentals (Salesforce Partners)Environment Hub Fundamentals (Salesforce Partners)
Environment Hub Fundamentals (Salesforce Partners)Salesforce Partners
 
Demo Environment Best Practices (Salesforce Partners)
Demo Environment Best Practices (Salesforce Partners)Demo Environment Best Practices (Salesforce Partners)
Demo Environment Best Practices (Salesforce Partners)Salesforce Partners
 
Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Salesforce Partners
 
Salesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Partners
 
Sales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSalesforce Partners
 
AppExchange Tech Enablement June 2017
AppExchange Tech Enablement June 2017AppExchange Tech Enablement June 2017
AppExchange Tech Enablement June 2017Salesforce Partners
 
Roadmap Webinar Summer '17 (June 1, 2017)
Roadmap Webinar Summer '17 (June 1, 2017)Roadmap Webinar Summer '17 (June 1, 2017)
Roadmap Webinar Summer '17 (June 1, 2017)Salesforce Partners
 
FSL Implementation Guidance Part 1 (May 10, 2017)
FSL Implementation Guidance Part 1 (May 10, 2017)FSL Implementation Guidance Part 1 (May 10, 2017)
FSL Implementation Guidance Part 1 (May 10, 2017)Salesforce Partners
 
ISV Monthly Tech Enablement (May 18, 2017)
ISV Monthly Tech Enablement (May 18, 2017)ISV Monthly Tech Enablement (May 18, 2017)
ISV Monthly Tech Enablement (May 18, 2017)Salesforce Partners
 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Salesforce Partners
 
FSL Implementation Guidance Part 1
FSL Implementation Guidance Part 1FSL Implementation Guidance Part 1
FSL Implementation Guidance Part 1Salesforce Partners
 

Plus de Salesforce Partners (20)

ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)ISV Monthly Tech Enablement (August 2017)
ISV Monthly Tech Enablement (August 2017)
 
Partner Roadmap Webinar (August 3, 2017)
Partner Roadmap Webinar (August 3, 2017)Partner Roadmap Webinar (August 3, 2017)
Partner Roadmap Webinar (August 3, 2017)
 
Lightning Now for Consulting Partners
Lightning Now for Consulting PartnersLightning Now for Consulting Partners
Lightning Now for Consulting Partners
 
ISV Monthly Tech Enablement (July 2017)
ISV Monthly Tech Enablement (July 2017)ISV Monthly Tech Enablement (July 2017)
ISV Monthly Tech Enablement (July 2017)
 
Salesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification PathsSalesforce University - Guide to Certification Paths
Salesforce University - Guide to Certification Paths
 
Salesforce Proficiency Pack for Administrators
Salesforce Proficiency Pack for AdministratorsSalesforce Proficiency Pack for Administrators
Salesforce Proficiency Pack for Administrators
 
Partner Roadmap Webinar (July 6, 2017)
Partner Roadmap Webinar (July 6, 2017)Partner Roadmap Webinar (July 6, 2017)
Partner Roadmap Webinar (July 6, 2017)
 
Environment Hub Fundamentals (Salesforce Partners)
Environment Hub Fundamentals (Salesforce Partners)Environment Hub Fundamentals (Salesforce Partners)
Environment Hub Fundamentals (Salesforce Partners)
 
Demo Environment Best Practices (Salesforce Partners)
Demo Environment Best Practices (Salesforce Partners)Demo Environment Best Practices (Salesforce Partners)
Demo Environment Best Practices (Salesforce Partners)
 
Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)
 
Salesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam PrepSalesforce Sales Professional Exam Prep
Salesforce Sales Professional Exam Prep
 
Einstein Analytics for Partners
Einstein Analytics for PartnersEinstein Analytics for Partners
Einstein Analytics for Partners
 
Sales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best PracticesSales Cloud Lightning Migration Best Practices
Sales Cloud Lightning Migration Best Practices
 
AppExchange Tech Enablement June 2017
AppExchange Tech Enablement June 2017AppExchange Tech Enablement June 2017
AppExchange Tech Enablement June 2017
 
Roadmap Webinar Summer '17 (June 1, 2017)
Roadmap Webinar Summer '17 (June 1, 2017)Roadmap Webinar Summer '17 (June 1, 2017)
Roadmap Webinar Summer '17 (June 1, 2017)
 
FSL Implementation Guidance Part 1 (May 10, 2017)
FSL Implementation Guidance Part 1 (May 10, 2017)FSL Implementation Guidance Part 1 (May 10, 2017)
FSL Implementation Guidance Part 1 (May 10, 2017)
 
AMP Fall & Winter '17 Packages
AMP Fall & Winter '17 Packages AMP Fall & Winter '17 Packages
AMP Fall & Winter '17 Packages
 
ISV Monthly Tech Enablement (May 18, 2017)
ISV Monthly Tech Enablement (May 18, 2017)ISV Monthly Tech Enablement (May 18, 2017)
ISV Monthly Tech Enablement (May 18, 2017)
 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
 
FSL Implementation Guidance Part 1
FSL Implementation Guidance Part 1FSL Implementation Guidance Part 1
FSL Implementation Guidance Part 1
 

Dernier

Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...lizamodels9
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsMichael W. Hawkins
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒anilsa9823
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayNZSG
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Serviceritikaroy0888
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with CultureSeta Wicaksana
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesDipal Arora
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageMatteo Carbone
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...Aggregage
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communicationskarancommunications
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataExhibitors Data
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...anilsa9823
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...Paul Menig
 
Regression analysis: Simple Linear Regression Multiple Linear Regression
Regression analysis:  Simple Linear Regression Multiple Linear RegressionRegression analysis:  Simple Linear Regression Multiple Linear Regression
Regression analysis: Simple Linear Regression Multiple Linear RegressionRavindra Nath Shukla
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...rajveerescorts2022
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 

Dernier (20)

Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael Hawkins
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...
 
Regression analysis: Simple Linear Regression Multiple Linear Regression
Regression analysis:  Simple Linear Regression Multiple Linear RegressionRegression analysis:  Simple Linear Regression Multiple Linear Regression
Regression analysis: Simple Linear Regression Multiple Linear Regression
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 

Development Best Practices

  • 1. Development Best Practice's James Burns Senior Director and Solution Architect, Customer Success Office of CTO jburns@salesforce.com
  • 2. Forward-Looking Statements ​Statement under the Private Securities Litigation Reform Act of 1995: ​This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. ​The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. ​Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Key Elements of a Salesforce Governance Framework ​Center of Excellence (CoE) The process of managing governance. ​Change Management The process of managing the overall program or project lifecycle — from collecting business requirements to moving code from development through production. ​Org Strategy The design and structure of the foundational “orgs” or areas where the customer’s Salesforce applications will reside and run. ​Technical Governance The guiding principles for effectively developing the technical aspects of Salesforce. Center of Excellence Change Management Org Strategy Technical Governance
  • 4. The Software Development Lifecycle: Salesforce Stages Test Ideas Maintenance Implement Design
  • 6. The Traditional Development Process ​Traditional systems often create a traditional cadence Source Control System Developer Community Production Systems Functional Testing Integration Testing Business Testing
  • 7. Salesforce Way 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
  • 8. Recommended Development Methodology: Agile Daily 2–4 Weeks No Duration Changes Input From Customer Sprint Planning Meeting TrainingArchitectSprint Backlog Business Backlog Review
  • 9. Environmental Management ​Allow multiple teams to develop new capabilities
  • 10. What Can You Change in Production? Customers often ask, "What can we change directly into production?” Generally, “nothing” is the answer, but there are exceptions. Examples of tasks that can happen in production: • Administration tasks such as single sign-on (SSO) certifications • Minimal risk administration changes in production: • Templates: email, dashboards, reports • User management • Knowledge management • Other changes (these should follow a decision tree) Note: Sync any changes made in production with a source control system.
  • 11. Decision Tree Requirement Does it affect another application? Does it affect another process? Does it involve a data change? Does it involve a UI change? Implement with a test plan and update the source control. Yes No Yes No Yes No Yes No IMPACT Analysis No Yes Add to the backlog and roadmap. Make sure all Stakeholder are considered Yes
  • 13. Sample Environment Architecture: Major (1) 1. Developer: In this sandbox, multiple people work together on the same use case. In this example, they share the same developer sandbox. Often, a mixed team of experienced and novice developers work together, which fosters a transfer of skills. The experienced developers can help with the creation of ANT scripts. 2. Developer: In this case, there is a one-to-one ratio between developers and sandboxes. 3. Developer Initial QA: This sandbox is where the QA team has started to build their QA test scripts; this work can be started within a Developer sandbox. 4. Developer Pro QA: When all the user stories for a sprint are completed, all the code and configuration merge together so the QA team can ramp up their testing. In this case, the volume of test data is normally greater, so a Developer Pro sandbox is the best selection. Developer Developer Developer Initial QA Developer Pro QA Full Break-Fix Full Training Full Performance Testing UAT Partial Integration Testing 9 1 2 38 4 56 7 Production Source Control
  • 14. Sample Environment Architecture: Major (2) 5. Partial Integration Testing: Most Salesforce solutions involve integration to other systems; to perform this testing, sample of production data is normally required. We recommend a Partial Data sandbox. 6. Full Performance Testing UAT: To complete UAT, you need a complete copy of production data. 7. Full Training: Before you update the production system, you need to offer training to users: a Full sandbox is the best experience for this scenario. 8. Full Break-Fix: As customers begin using Salesforce for business-critical systems, you need to test all changes in production. Since human errors occur, a break-fix process (which is independent of a release roadmap) is required. To support this process, a you need a Full sandbox that is independent of the release roadmap. 9. Production: This is a current production instance. Developer Developer Developer Initial QA Developer Pro QA Full Break-Fix Full Training Full Performance Testing UAT Partial Integration Testing 9 1 2 38 4 56 7 Production Source Control
  • 15. Development Best Practices ​Good development starts with design
  • 16. Development ​The Salesforce platform is based on the Model-View-Controller (MVC) architectural pattern: Controller Application logic Model Objects (standard, custom, and external) View User interface (web client and the Salesforce1 Mobile App)
  • 17. A Solid Architecture Starts With These Design Principles • Build a data model. • Put configuration first. • Ensure the 80–20 rule. • Create personas. • Keep it simple. Remember: The overall process is to design, develop (configuration and code), and test.
  • 18. Design Challenge and Considerations Challenge Your team lacks understanding of the scope of the configuration capabilities. Considerations • The developers for your project: • What is their background? • Do they jump into code? • What is their mindset for writing code? • Code review: Determine if it can be replaced by configuration. • Design: Ensure sufficient time for designing the system during sprint planning. • The 80–20 rule: Go fast and iterate. • Over configuration: Use a small amount of code (sometimes it improves the overall maintainability of the system). • Available components (within AppExchange): Use the “buy or build” strategy. • Strategic planning: Use a Salesforce roadmap to benefit your project. • Long-term maintainability: Make the design cost effective. Visual Development – When to Click Instead of Write Code
  • 19. Configuration or Coding? Configuration Coding Challenges • Build a data model. • User interface • Reporting • Business logic: • Formulas • Validation rules • Workflows Advantages • Scalable • Maintainable • Fast • You don’t need to be a programmer. Disadvantages • Fixed UI • Can get complex. • Advanced business logic • Testing • Triggers • Controllers • Classes • Custom UI Advantages • Flexibility • Strong versioning • Can be reused. Disadvantages • Can get complex. • Technical debt • Testing • Skill sets: • Business analysts and professionals • Programmers • A custom UI may require Apex code. • Time to market • Declarative testing • Complex systems – declarative • Security • Large data volumes Best Practices Tips: • Push declarative testing to the limit. • Remember: “80 percent is good enough.”
  • 20. Testing Strategy ​Learn how to set up effective testing
  • 21. 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
  • 22. What’s Required? Component or System- Level Testing User Acceptance End-to-End Environments Testing Performance Tools
  • 23. The Salesforce Testing Strategy Component Functional Client Integration and Performance End-to-End Regression Code and Configuration When Should I Do It Tools Types Testing Why It’s Important Roles and Responsibilities Types
  • 24. Release Management ​Let’s look at how software is managed between environments
  • 25. The Effects of Poor Release Management ​The consequences of a poorly managed software release or environment include: • Too many sandboxes. • Lack of ownership. • No clear path to production (change set, ANT, managed package, or manual). • Low-quality coding and testing. • Conflicting release calendars. • Frequent conflicts with code and configuration. • Unclear system integration maps. • No planned refresh schedule. • Developers, testers, and release engineers under constant stress. • Unsuccessful deployments. • Changes made directly in production. • Overall low quality and adoption.
  • 26. Our Recommendations People Tooling Benefits • A release manager who is independent of development and QA should perform the release. • The Business owner should approve any changes in the production environment. • Remember: Separation of duties (as recommended by ITIL). • For most projects — except for very small ones — you’ll need additional software tools to manage source control and automated builds. • These tools are generally inexpensive or free to purchase. • However, they will need to be hosted either on an on-site server or on a cloud service. • Faster, more reliable deployments • More innovation in less time • Higher user adoption • Better ROI • Less IT operations risk
  • 27. The Path Forward ​How to achieve your long-term goal What can you achieve with better software release and environment management? • Clearly define your release environments. • Define and enforce duties. • Assign owners to sandboxes and deployments. • Automate testing and deployment. • Unify and publish a release calendar. • Introduce the concept of release waves. • Reduce the number of off-cycle releases. • Communicate everything. • Improve quality and enhance adoption.
  • 28. Metadata API ​Metadata API is designed to retrieve, deploy, create, update, and delete customization information for your organization XML Standard Objects XML Custom Objects XML Report XML Workflow Rules XML Apex Classes XML Apex Trigger XML Visualforce Pages METADATA API (Web Service Description Language) Source Code Repository
  • 29. Code Migration: Best Practices At the start of the day, perform these tasks: • Refresh your sandbox and get the source control system to push the metadata to the new org. • Remember: By refreshing the sandbox, you will lose all the original code and configuration. • Ensure that migration scripts are correct by testing prior to moving to a sandbox. • Verify that: • Your previous day’s work has been presented. • Your enhancements have not been broken by other developers’ enhancements (run your test scripts again). Keep in mind the following: • An automated script will not impact productivity, but it will enhance quality. • This process is not only testing the enhancements — it’s also testing the migration process.
  • 30. Tool Best For Limitations Change Sets • Sandbox to production migrations • Change management without source control • Auditing previously deployed changes • Enforcing code migration paths • Deploying the same components to multiple orgs • Small implementation • You can only move metadata between a production or and its sandboxes. • You can't delete components. • There is no support for source control. Eclipse IDE • Project-based development • Deployment to any org • Synchronizing changes • Some setup is required. • It’s not always upgraded at the same time as other Salesforce products. • It has repeatable deployments that require re-selecting components, which can be time consuming and can introduce errors. Force.com Ant Migration Toolkit • Scripted and scheduled deployments • Repetitive tasks using the same set of components • It requires a more developer-oriented skill set (familiarity with Ant, scripting tools, and CLI). • It requires storing a username and password on a disk, which may be against your security policies. Summary of Migration Tools
  • 31. Tool Best For Limitations Force.com Workbench • Ad hoc queries • Metadata describes • Lightweight data loads • It’s not an officially supported product. • It does not have project management features. Force.com Command- Line Interface (CLI) • Passwords prohibited from being stored on disk due to security polices • Required interactive login • Scripting and automated tasks Logging in may be difficult behind a firewall. Unmanaged Packages • One-time setup of a development environment • A starting point configuration that is customizable You can't make further changes to packaged components using subsequent packages. Managed Packages • Commercial applications • You want to add to multiple orgs, 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. Summary of Migration Tools
  • 32. Source Control: Best Practices Commit early and often: Commits should be small and should work together. Push code to the system at least daily. Accompany every commit with a short description of what is being committed. Code should be assigned to one of at least four branches: Trunk, development, integration, and break-fix. Additional R&D branches can be created simply for trying ideas. Make sure releases to QA and production are tagged centrally. • Tag release 1.0 as Production_Release_1.0. • Tags are never modified after they are created. Don’t push code that does not build or pass unit tests. Do push code that builds, but may not be perfect yet.
  • 33. Release Manager: Best Practices (1) Avoid making changes directly into production. Refresh all sandboxes as soon as possible after a release has been pushed to production. Refresh can take time if you have large data volumes (LDV). Ensure that all migrations are automated. Ensure all migration scripts are tested. Avoid use of change sets. Script unsupported metadata (if you are using) to the automated process. Complete regression testing before coding is pushed to production. Ensure that developers create a unit test for all code and configuration. Aim for 95 percent code coverage of Apex code. Consider using the Quick Deploy feature to find issues quicker.
  • 34. Release Manager: Best Practices (2) Make sure you have a well-documented release roadmap. Avoid any delay in the planned release date. • Capability is failing to meet the definition of done. • Capability is cut and added to the backlog. Ensure that applications within the same org follow the defined release schedule. Plan a regression test cycle on a pre-release sandbox before a Salesforce release. Ensure that business users complete UAT and use the system as they would in their daily work. The users should not follow a predefined script. Put a comprehensive communication plan in place for the release. Develop a training plan and create content before the release. Note: A release manager who is independent of any Scrum team should manage the release process.
  • 35. Release Manager: Roles and Responsibilities Accountable Responsibilities Interfaces With • Manage all aspects of the end-to-end release process. • Sign off the release for implementation. • Coordinate Scrum, UAT, and third-party teams. • Ensure teams follow the company's established policies and procedures. • Follow the service release and deployment policy and planning. • Ensure all data migration has been completed successfully. • Document outstanding known errors and workarounds. • Release documentation, communications, and training. • Implement a source control system. • Provide a release roadmap. • Conduct service roll-out planning. • Manage reports on release progress and service-level agreements (SLAs). • Ensure release acceptance, including Business sign-off of UAT. • Security management • Test management • Adoption management • Training management • Communication management • Support management