SlideShare a Scribd company logo
Quality Control in Development
​ Christine Talbot
​ Senior Program Architect
​ ctalbot@salesforce.com
Welcome!
​ Christine Talbot
​ Senior Program Architect
​ Salesforce
Welcome!
​ Safe harbor 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.
Safe Harbor
Introduction to Quality Control
​ Quality Control (Noun)
A system for verifying and maintaining a desired level of quality in an existing product or service
by careful planning, use of proper equipment, continued inspection, and corrective action as
required.
​ Quality Assurance (Noun)
​ A system for ensuring a desired level of quality in the development, production, or delivery of
products and services. A planned and systematic pattern of all actions necessary to provide
adequate confidence that the product optimally fulfils customers’ expectations, i.e. that it is
problem-free and well able to perform the task it was designed for.
What is It?
Quality Control
Comparison
Quality Control
​ Proactive & Early Identification
•  Business Requirements
•  Governor Limits
•  Architecture Decisions
•  Development Standards
•  Test Classes
•  Code Structure
•  Naming Conventions
•  Security
What is It?
Quality Control
What is the Process?
Quality Control
ProductionQA
Testing
Migrate MigrateTasks
When?
Quality Control
Dev SB3
Dev SB2
Dev SB1
Proj2
Shared
Dev SB
Source
Control
QA/UAT
Integration
Partial SB
Staging
Full SB
PROD
Dev SB3
Dev SB2
Dev SB1
Proj1
Shared
Dev SB
Develop
Dev / Integration
Test
QA / System
Test
UAT / Staging
/ Performance
Test
Full Sandbox
Partial or Full Sandbox
Dev Pro Sandbox
Dev Pro Sandbox
Dev Sandboxes
Dev Sandboxes
Production Org
​ Reduction in Cost to Fix
•  Early identification of Bugs
​ Minimization of Maintenance Cost
•  Use of click-config options when possible
​ Future-Proof Code
•  Robust test classes for automated regression testing
​ Minimize Security Risks & Governor Limit Issues
•  Best practices, security risks, and limits are reviewed
​ Self-Documentation & Easier Enhancement Ability
•  Naming conventions, comments, and best practice standards implemented
What are the Benefits?
Quality Control
Peer Reviews
​ An evaluation of a person's work or performance by a group of people in the same team
​ Who: Developer within same team
​ What: Full review, with extra focus on Business Requirements and Architecture, in context, for a
specific build request
​ Why: Early detection & remediation of issues
What is It?
Peer Reviews
​ Does it meet the business requirements specified?
​ Is it possible to accomplish with click-config?
​ Does it meet the development standards and best practices?
​ Are sufficient and appropriate test classes created for the classes & methods?
​ Do the test classes run successfully?
​ Is the code structured reasonably?
What do you look for?
Peer Reviews
​ Does not meet all requirements for component
​ Insufficient test classes and scenarios
​ Could be accomplished with other functionality
​ Does not follow development standards or best practices
​ Hits governor limits
​ Has security issues
What are some common issues found here with Salesforce development?
Peer Reviews
Independent Reviews
​ A review performed by competent, objective reviewers who are independent of the developer
​ Who: Reviewer outside of development team
​ What: Detailed review with extra focus on standards, architecture, limits, best practices for an
entire initiative’s build (potentially multiple developers)
​ Why: Ensures all changes follow best practices and standards, and have appropriate test classes
for future issue detection
What is It?
Independent Reviews
​ Is it possible to accomplish with click-config?
​ Does it meet the development standards and best practices?
​ Are sufficient and appropriate test classes created for the classes & methods?
​ Do the test classes run successfully?
​ Is the code structured reasonably?
​ Are there security issues?
​ Are there governor limit issues?
What do you look for?
Independent Reviews
​ Test Class coverage insufficient
​ Uses “without sharing” for no reason
​ Uses “seealldata” for no reason
​ Doesn’t utilize a Test Data Factory & @isTestSetup
​ Incorrectly uses / places the startTest / stopTest methods
​ SOQL or DML or @future calls inside loops
​ No or insufficient assert statements
​ Lingering Debug statements
​ No or insufficient Comments
​ Invalid naming conventions used
​ Could be accomplished with other functionality
What are some common issues found here with Salesforce development?
Independent Reviews
How to Get Started
​ These standards will provide:
•  A standard configuration guideline for Salesforce
•  A standard guideline for Apex and Visualforce development
•  Hints and tips and best practices for development.
•  Easier maintenance/enhancement through consistent standards.
•  Consistency with Java programming language naming conventions
​ The standards should be applied to all new development work and should be introduced to
existing projects as far as is practically possible.
Creating Development Standards
How to Get Started
Example
Development Standards
Formalizing the Review Request
Process
​ Create an app:
•  Developers submit Review requests
•  Reviewers leverage Excel template for Review
•  Reviewers upload Review results
•  Reports analyze developer effectiveness
Formalizing the Review Request Process
​ How?
Demo of Package
Formalizing the Review Request Process
Summary
​ What is Quality Control?
​ What are the benefits of implementing Quality Control?
​ When should reviews be done?
​ What is involved with Peer Reviews?
​ What is involved with Independent Reviews?
​ How do you get started?
​ How do you track and formalize this process?
What did we cover?
Summary
Questions?
•  Free security tool at http://security.force.com/security/tools/forcecom/scanner to identify potential
security risks
•  Additional security best practices available at http://security.force.com
•  Free CodeScan Apex PMD Eclipse plugin from http://codescan.villagechief.com/eclipse/ to identify coding
standards discrepancies within apex code
•  Java Code Conventions http://www.oracle.com/technetwork/java/codeconventions-150003.pdf
•  Understanding Execution Governor & Limits
http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#StartTopic=Content/
apex_gov_limits.htm
•  Apex Code Cheat Sheet
https://ap1.salesforce.com/help/pdfs/en/salesforce_apex_developer_cheatsheet.pdf
•  Visualforce Cheat Sheet
https://ap1.salesforce.com/help/pdfs/en/salesforce_visualforce_developer_cheatsheet.pdf
•  Sample Review Results App (with Excel Template & Standards Template):
https://na16.salesforce.com/packaging/installPackage.apexp?p0=04ti0000000gUmO
Mentioned during Discussion
Useful Tools
Thank you
Share Your Feedback, and Win a GoPro!
3
Earn a GoPro prize entry for each completed
surveyTap the bell to take a survey2Enroll in a session1

More Related Content

What's hot

Salesforce Org Health Check & Performance Testing
Salesforce Org Health Check & Performance TestingSalesforce Org Health Check & Performance Testing
Salesforce Org Health Check & Performance Testing
ImtiazBinMohiuddin
 
Salesforce Steelbrick CPQ Overview
Salesforce Steelbrick CPQ OverviewSalesforce Steelbrick CPQ Overview
Salesforce Steelbrick CPQ Overview
Harshala Shewale ☁
 
Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software Engineering
Purvik Rana
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best Practices
Vivek Chawla
 
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s GuideIntegrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Salesforce.org
 
Apex Trigger Debugging: Solving the Hard Problems
Apex Trigger Debugging: Solving the Hard ProblemsApex Trigger Debugging: Solving the Hard Problems
Apex Trigger Debugging: Solving the Hard Problems
Salesforce Developers
 
Decluttering your Salesfroce org
Decluttering your Salesfroce orgDecluttering your Salesfroce org
Decluttering your Salesfroce org
Roy Gilad
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
Ali Akbar
 
Second-generation managed packages
Second-generation managed packagesSecond-generation managed packages
Second-generation managed packages
Bohdan Dovhań
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
Salesforce Partners
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Prachi Sasankar
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Salesforce Developers
 
Manage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with GovernanceManage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with Governance
Salesforce Admins
 
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
Salesforce Developers
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
Jimi Patel
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
Joshua Hoskins
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
Salesforce Developers
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
ShashankBajpai24
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
Salesforce Developers
 
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Shadow DOM, CSS and Styling Hooks in LWC  what you need to knowShadow DOM, CSS and Styling Hooks in LWC  what you need to know
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Sudipta Deb ☁
 

What's hot (20)

Salesforce Org Health Check & Performance Testing
Salesforce Org Health Check & Performance TestingSalesforce Org Health Check & Performance Testing
Salesforce Org Health Check & Performance Testing
 
Salesforce Steelbrick CPQ Overview
Salesforce Steelbrick CPQ OverviewSalesforce Steelbrick CPQ Overview
Salesforce Steelbrick CPQ Overview
 
Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software Engineering
 
Salesforce Development Best Practices
Salesforce Development Best PracticesSalesforce Development Best Practices
Salesforce Development Best Practices
 
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s GuideIntegrating SIS’s with Salesforce: An Accidental Integrator’s Guide
Integrating SIS’s with Salesforce: An Accidental Integrator’s Guide
 
Apex Trigger Debugging: Solving the Hard Problems
Apex Trigger Debugging: Solving the Hard ProblemsApex Trigger Debugging: Solving the Hard Problems
Apex Trigger Debugging: Solving the Hard Problems
 
Decluttering your Salesfroce org
Decluttering your Salesfroce orgDecluttering your Salesfroce org
Decluttering your Salesfroce org
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
 
Second-generation managed packages
Second-generation managed packagesSecond-generation managed packages
Second-generation managed packages
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Manage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with GovernanceManage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with Governance
 
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
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
 
Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
 
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Shadow DOM, CSS and Styling Hooks in LWC  what you need to knowShadow DOM, CSS and Styling Hooks in LWC  what you need to know
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
 

Similar to Quality Control in Development

Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce
Salesforce Engineering
 
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
Salesforce Engineering
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
Salesforce Partners
 
Salesforce Security Review Tips and Tricks
Salesforce Security Review Tips and TricksSalesforce Security Review Tips and Tricks
Salesforce Security Review Tips and Tricks
Ryan Flood
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
rsg00usa
 
Scrum at Scale
Scrum at ScaleScrum at Scale
Scrum at Scale
Salesforce Engineering
 
Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)
Salesforce Engineering
 
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
Sai Jithesh ☁️
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
Salesforce Developers
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
Salesforce Developers
 
Review, Test and Go! - Deborah Paterick, Helen Lueck, Frank Montoya
Review, Test and Go! - Deborah Paterick, Helen Lueck, Frank MontoyaReview, Test and Go! - Deborah Paterick, Helen Lueck, Frank Montoya
Review, Test and Go! - Deborah Paterick, Helen Lueck, Frank Montoya
Salesforce Admins
 
Release Management: Managing Your Internal Releases
Release Management: Managing Your Internal ReleasesRelease Management: Managing Your Internal Releases
Release Management: Managing Your Internal Releases
Joshua Hoskins
 
Quality Assurance and Testing services
Quality Assurance and Testing servicesQuality Assurance and Testing services
Quality Assurance and Testing services
Boston Technology Corporation
 
Meet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product OverviewMeet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product Overview
Salesforce Developers
 
QAustral Testing
QAustral   TestingQAustral   Testing
QAustral Testing
cusmaim
 
What is the Difference Between Software Testing and QA Testing.pptx
What is the Difference Between Software Testing and QA Testing.pptxWhat is the Difference Between Software Testing and QA Testing.pptx
What is the Difference Between Software Testing and QA Testing.pptx
Calidad Infotech
 
Df14 Salesforce Advanced Developer Certification
Df14 Salesforce Advanced Developer CertificationDf14 Salesforce Advanced Developer Certification
Df14 Salesforce Advanced Developer Certification
Peter Chittum
 
Crossbrowser Testing at Salesforce Analytics
Crossbrowser Testing at Salesforce AnalyticsCrossbrowser Testing at Salesforce Analytics
Crossbrowser Testing at Salesforce Analytics
Salesforce Engineering
 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning Components
CodeScience
 

Similar to Quality Control in Development (20)

Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce
 
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
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 
Salesforce Security Review Tips and Tricks
Salesforce Security Review Tips and TricksSalesforce Security Review Tips and Tricks
Salesforce Security Review Tips and Tricks
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 
Scrum at Scale
Scrum at ScaleScrum at Scale
Scrum at Scale
 
Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)
 
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
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
 
Review, Test and Go! - Deborah Paterick, Helen Lueck, Frank Montoya
Review, Test and Go! - Deborah Paterick, Helen Lueck, Frank MontoyaReview, Test and Go! - Deborah Paterick, Helen Lueck, Frank Montoya
Review, Test and Go! - Deborah Paterick, Helen Lueck, Frank Montoya
 
Release Management: Managing Your Internal Releases
Release Management: Managing Your Internal ReleasesRelease Management: Managing Your Internal Releases
Release Management: Managing Your Internal Releases
 
Quality Assurance and Testing services
Quality Assurance and Testing servicesQuality Assurance and Testing services
Quality Assurance and Testing services
 
DF15_ReviewTestGo
DF15_ReviewTestGoDF15_ReviewTestGo
DF15_ReviewTestGo
 
Meet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product OverviewMeet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product Overview
 
QAustral Testing
QAustral   TestingQAustral   Testing
QAustral Testing
 
What is the Difference Between Software Testing and QA Testing.pptx
What is the Difference Between Software Testing and QA Testing.pptxWhat is the Difference Between Software Testing and QA Testing.pptx
What is the Difference Between Software Testing and QA Testing.pptx
 
Df14 Salesforce Advanced Developer Certification
Df14 Salesforce Advanced Developer CertificationDf14 Salesforce Advanced Developer Certification
Df14 Salesforce Advanced Developer Certification
 
Crossbrowser Testing at Salesforce Analytics
Crossbrowser Testing at Salesforce AnalyticsCrossbrowser Testing at Salesforce Analytics
Crossbrowser Testing at Salesforce Analytics
 
ISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning ComponentsISV Tech Talk: Distributing Lightning Components
ISV Tech Talk: Distributing Lightning Components
 

More from Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Salesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
Salesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
Salesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
Salesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
Salesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
Salesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
Salesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
Salesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
Salesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
Salesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
Salesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
Salesforce Developers
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
Salesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
Salesforce Developers
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
Salesforce Developers
 

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 

Recently uploaded

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

Quality Control in Development

  • 1. Quality Control in Development ​ Christine Talbot ​ Senior Program Architect ​ ctalbot@salesforce.com
  • 3. ​ Christine Talbot ​ Senior Program Architect ​ Salesforce Welcome!
  • 4. ​ Safe harbor 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. Safe Harbor
  • 6. ​ Quality Control (Noun) A system for verifying and maintaining a desired level of quality in an existing product or service by careful planning, use of proper equipment, continued inspection, and corrective action as required. ​ Quality Assurance (Noun) ​ A system for ensuring a desired level of quality in the development, production, or delivery of products and services. A planned and systematic pattern of all actions necessary to provide adequate confidence that the product optimally fulfils customers’ expectations, i.e. that it is problem-free and well able to perform the task it was designed for. What is It? Quality Control
  • 8. ​ Proactive & Early Identification •  Business Requirements •  Governor Limits •  Architecture Decisions •  Development Standards •  Test Classes •  Code Structure •  Naming Conventions •  Security What is It? Quality Control
  • 9. What is the Process? Quality Control ProductionQA Testing Migrate MigrateTasks
  • 10. When? Quality Control Dev SB3 Dev SB2 Dev SB1 Proj2 Shared Dev SB Source Control QA/UAT Integration Partial SB Staging Full SB PROD Dev SB3 Dev SB2 Dev SB1 Proj1 Shared Dev SB Develop Dev / Integration Test QA / System Test UAT / Staging / Performance Test Full Sandbox Partial or Full Sandbox Dev Pro Sandbox Dev Pro Sandbox Dev Sandboxes Dev Sandboxes Production Org
  • 11. ​ Reduction in Cost to Fix •  Early identification of Bugs ​ Minimization of Maintenance Cost •  Use of click-config options when possible ​ Future-Proof Code •  Robust test classes for automated regression testing ​ Minimize Security Risks & Governor Limit Issues •  Best practices, security risks, and limits are reviewed ​ Self-Documentation & Easier Enhancement Ability •  Naming conventions, comments, and best practice standards implemented What are the Benefits? Quality Control
  • 13. ​ An evaluation of a person's work or performance by a group of people in the same team ​ Who: Developer within same team ​ What: Full review, with extra focus on Business Requirements and Architecture, in context, for a specific build request ​ Why: Early detection & remediation of issues What is It? Peer Reviews
  • 14. ​ Does it meet the business requirements specified? ​ Is it possible to accomplish with click-config? ​ Does it meet the development standards and best practices? ​ Are sufficient and appropriate test classes created for the classes & methods? ​ Do the test classes run successfully? ​ Is the code structured reasonably? What do you look for? Peer Reviews
  • 15. ​ Does not meet all requirements for component ​ Insufficient test classes and scenarios ​ Could be accomplished with other functionality ​ Does not follow development standards or best practices ​ Hits governor limits ​ Has security issues What are some common issues found here with Salesforce development? Peer Reviews
  • 17. ​ A review performed by competent, objective reviewers who are independent of the developer ​ Who: Reviewer outside of development team ​ What: Detailed review with extra focus on standards, architecture, limits, best practices for an entire initiative’s build (potentially multiple developers) ​ Why: Ensures all changes follow best practices and standards, and have appropriate test classes for future issue detection What is It? Independent Reviews
  • 18. ​ Is it possible to accomplish with click-config? ​ Does it meet the development standards and best practices? ​ Are sufficient and appropriate test classes created for the classes & methods? ​ Do the test classes run successfully? ​ Is the code structured reasonably? ​ Are there security issues? ​ Are there governor limit issues? What do you look for? Independent Reviews
  • 19. ​ Test Class coverage insufficient ​ Uses “without sharing” for no reason ​ Uses “seealldata” for no reason ​ Doesn’t utilize a Test Data Factory & @isTestSetup ​ Incorrectly uses / places the startTest / stopTest methods ​ SOQL or DML or @future calls inside loops ​ No or insufficient assert statements ​ Lingering Debug statements ​ No or insufficient Comments ​ Invalid naming conventions used ​ Could be accomplished with other functionality What are some common issues found here with Salesforce development? Independent Reviews
  • 20. How to Get Started
  • 21. ​ These standards will provide: •  A standard configuration guideline for Salesforce •  A standard guideline for Apex and Visualforce development •  Hints and tips and best practices for development. •  Easier maintenance/enhancement through consistent standards. •  Consistency with Java programming language naming conventions ​ The standards should be applied to all new development work and should be introduced to existing projects as far as is practically possible. Creating Development Standards How to Get Started
  • 23. Formalizing the Review Request Process
  • 24. ​ Create an app: •  Developers submit Review requests •  Reviewers leverage Excel template for Review •  Reviewers upload Review results •  Reports analyze developer effectiveness Formalizing the Review Request Process ​ How?
  • 25. Demo of Package Formalizing the Review Request Process
  • 27. ​ What is Quality Control? ​ What are the benefits of implementing Quality Control? ​ When should reviews be done? ​ What is involved with Peer Reviews? ​ What is involved with Independent Reviews? ​ How do you get started? ​ How do you track and formalize this process? What did we cover? Summary
  • 29. •  Free security tool at http://security.force.com/security/tools/forcecom/scanner to identify potential security risks •  Additional security best practices available at http://security.force.com •  Free CodeScan Apex PMD Eclipse plugin from http://codescan.villagechief.com/eclipse/ to identify coding standards discrepancies within apex code •  Java Code Conventions http://www.oracle.com/technetwork/java/codeconventions-150003.pdf •  Understanding Execution Governor & Limits http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#StartTopic=Content/ apex_gov_limits.htm •  Apex Code Cheat Sheet https://ap1.salesforce.com/help/pdfs/en/salesforce_apex_developer_cheatsheet.pdf •  Visualforce Cheat Sheet https://ap1.salesforce.com/help/pdfs/en/salesforce_visualforce_developer_cheatsheet.pdf •  Sample Review Results App (with Excel Template & Standards Template): https://na16.salesforce.com/packaging/installPackage.apexp?p0=04ti0000000gUmO Mentioned during Discussion Useful Tools
  • 31. Share Your Feedback, and Win a GoPro! 3 Earn a GoPro prize entry for each completed surveyTap the bell to take a survey2Enroll in a session1