SlideShare uma empresa Scribd logo
1 de 26
How Developers and Quality
Engineer Collaborate at Salesforce
Using Agile to deliver three major feature releases a year
Vladimir Gerasimov, Sr. Software Engineer
vgerasimov@salesforce.com
/in/vgerasimov87
Joyce Yeh, Software Engineer
jyeh@salesforce.com
/in/joycevyeh
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
Our Goals Today:
• Show you how Developers and Testers collaborate
• Show you how Salesforce Technology Organization leverages
Agile methodologies to deliver 3 major releases a year
• Explain the engineering practices used to maintain the highest
quality standards
• Provide practical tips on how to start your own agile
transformation today
Salesforce Agile Implementation
Principles
(Lean & Agile)
Management
Practices
(Scrum & Kanban)
Technical Practices
(XP)
We’ve Built a Scalable Mode
400 +
Agile Teams @ Salesforce
Developers at Salesforce are Responsible for:
• Test-Driven Development
• Unit and Functional Test Automation
• Fixing Regression bugs
Quality Engineers at Salesforce are Responsible for:
• Test Design and Test Planning
• Identifying Test Coverage gaps
• Developing Test Frameworks
• Writing Test Automation
Agile Teams at Salesforce
QE
Engineers
Product
Owner
Developers
Tech Writer
Scrum
Master
It’s All About User Story
Collaboration Between Devs and QEs
New Triaged
In
Progress
Ready For
Review
Fixed
QE in
Progress
Closed
How Devs and QEs collaborate through User Stories
• User Story cannot be closed without QE
• Devs and QEs working on the stories together
Devs and QEs
discussed the
work
Devs and QEs
reviewed the
code
Code
checked in
Definition of
Done is met
Continuous Planning And Prioritization
Vision
V2MOM
2 Release
Review
1 Release
Review
Sprint
Reviews
Stand
ups
3-5 years
1 year
2 releases
1 release
2 weeks
Daily
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Early communication is the key
• Devs and QEs sit together before work on a user story is started
• It allows to keep both sides on the same page
• Gives Dev first-look test prospective on User Story
• Gives QE and idea about what’s coming next
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Freedom to adjust the process
Teams decide what work or doesn’t work for them
• Team has the freedom to decide
best practices
• Continuous improvement part of the
DNA
• Encourages everyone to own the
process
• Reduces amount of bureaucracy
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Agile Principles to Keep in Mind
For quality prospective
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
• Build quality in. Quality over more
features. Trust in #1 priority.
• Eliminate waste. Fix test issue, not
disable tests.
Dog-fooding Our Own Product
Using your product on daily basis
• Bug and User story tracking
• Internal and external
communication
• Discovering issues earlier
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Code Reviews
• Code reviews help to catch problems
before code is checked in
• Both Dev and QE engineers participate
• Code Review is required for check in
• Code Reviewer knows if check in failed
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Pre-Checkin Validation
Keeps the Build healthy
• Sharing the same code branch for current
release work
• Important to keep build healthy at all
times
• Pre-checkin validation ensures the
change you are submitting is not
breaking the build and major functionality
• Takes about one hour
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Test Failures, Flappers and Long Running Tests
Lock teams with Test Failures older
than 7 days
Opening Bugs for non-stable tests
Opening Bugs for Long Running
Tests
Keeping test healthy and stable
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Lock Out Email
Team gets locked out if they don't fix their Test Failures
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Test Failure Auto Assign
Auto-Assign manages test failures
effectively
It can link Test Failure to the change list
that most likely caused the failure
It groups similar test failures under one
Bug
It eliminates manual work of running
reports and opening bugs
Even when wrong, it still opens bugs
and starts the process of fixing Test
Failure
Helping teams to address test failures
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
How Does Definition of Done help the quality?
• Single Definition of Done ensures
understanding within & across teams
• Increases team accountability for
quality and commitment
• Reduces Code debt and possible
points of failure
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Example of Definition of Done
Criteria Features
1 2 3
Code checked in and follows department
standards
☑ ☑
No open regressions. Automated tests
written and reviewed for all regressions
☑ ☑
No open P1 & P2 bugs
☑
Code Coverage 78
%
80
%
100% of test cases logged and executed in
a QA environment, and all P1/P2 cases
passing
☑ ☑
All resolved bugs verified and closed
☑ ☑ ☑
UE has reviewed any new features; P1 and
P2 UI bugs fixed
☑ ☑ ☑
Usability testing completed when
necessary, and feedback incorporated into
backlog
☑ ☑
Code and UI reviewed for 508 compliance;
UE team notified of any non-compliant
features
☑ ☑
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Frequent Product Demos & Reviews
• Demo completed work with team
every sprint
• Demo and review release plan
progress monthly with Executive
participation
• Provide radical transparency
• No surprises come release time
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Frequent Major Releases
Feature
Freeze
Release
Freeze
Done Done Done Release to
Internal Sandbox
& Production
Instances
SB/R0 Release
• 2/3 sandbox
instances
• Production instance
where Salesforce has
largest orgs
R1/R2 Release
• 25% of prod
instances
• All remaining
instances
• Branch locked
• Check-in approval
required
• Incomplete features
disabled
• Code line open for next
release
Monthly Sprint Reviews Release Sprint Staggered Release
Scrum Teams
and Functional Areas
Sign Off
Scrum Teams
Sign Off
Dec Jan Feb Mar MayApr Jun
• Continuous integration w/
600k JUnit and Selenium
tests
• Performance testing
• 110M Apex customer
tests
• Other production tests
• Final performance
testing
New Triaged
In
Progress
Ready
For
Review
Fixed
QE in
Progress
Closed
Next Steps
What you can do today
Get Developers to work closer with QEs
• Discuss User Story scope and requirements together
• Participate in Code Reviews
• Have Dev and QE pair on story completion
Test Automation
• Add Automated Test Coverage to Definition of Done
• Create backlog to track remaining Automation work
• Involve Developers in writing Automation and helping
QEs with Test Frameworks
• Test Failures locks when too high
• Enforce Test Automation health
• Invest in Auto-Assign tools and reports
Thank you!

Mais conteúdo relacionado

Mais procurados

Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Intetics
 

Mais procurados (20)

Selenium DeTox for Achieving the Right Testing Pyramid
Selenium DeTox for Achieving the Right Testing PyramidSelenium DeTox for Achieving the Right Testing Pyramid
Selenium DeTox for Achieving the Right Testing Pyramid
 
A New Introduction to Jira & Agile Product Management
A New Introduction to Jira & Agile Product ManagementA New Introduction to Jira & Agile Product Management
A New Introduction to Jira & Agile Product Management
 
Bug reporting and tracking
Bug reporting and trackingBug reporting and tracking
Bug reporting and tracking
 
Qa management in big agile teams
Qa management in big agile teamsQa management in big agile teams
Qa management in big agile teams
 
SRE vs DevOps
SRE vs DevOpsSRE vs DevOps
SRE vs DevOps
 
Tackling Salesforce Technical Debt
Tackling Salesforce Technical DebtTackling Salesforce Technical Debt
Tackling Salesforce Technical Debt
 
SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...
 
Chapter 4 - Defect Management
Chapter 4 - Defect ManagementChapter 4 - Defect Management
Chapter 4 - Defect Management
 
What's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisWhat's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE Paris
 
Site (Service) Reliability Engineering
Site (Service) Reliability EngineeringSite (Service) Reliability Engineering
Site (Service) Reliability Engineering
 
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Integrated Dev And Qa Team With Scrum
Integrated Dev And Qa Team With ScrumIntegrated Dev And Qa Team With Scrum
Integrated Dev And Qa Team With Scrum
 
SRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLASRE Demystified - 01 - SLO SLI and SLA
SRE Demystified - 01 - SLO SLI and SLA
 
SRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil EliminationSRE Demystified - 05 - Toil Elimination
SRE Demystified - 05 - Toil Elimination
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
The 5 Levels Planning in Agile
The 5 Levels Planning in AgileThe 5 Levels Planning in Agile
The 5 Levels Planning in Agile
 
Setting up Center of Excellence for QA in Healthcare
Setting up Center of Excellence for QA in HealthcareSetting up Center of Excellence for QA in Healthcare
Setting up Center of Excellence for QA in Healthcare
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle
 
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaSite Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
 

Semelhante a How Developers and Quality Engineer Collaborate at Salesforce

Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN  Jenkins to Manage Multi-line Development to DeploymentsUtilizing SVN  Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
Teresa Garcia-Bovenmyer ☁
 

Semelhante a How Developers and Quality Engineer Collaborate at Salesforce (20)

Quality Control in Development
Quality Control in DevelopmentQuality Control in Development
Quality Control in Development
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 
Releaseprocessoverview 160526080601
Releaseprocessoverview 160526080601Releaseprocessoverview 160526080601
Releaseprocessoverview 160526080601
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 
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
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
 
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
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
 
Release Management: Managing Your Internal Releases
Release Management: Managing Your Internal ReleasesRelease Management: Managing Your Internal Releases
Release Management: Managing Your Internal Releases
 
Getting to Grips with Process Builder
Getting to Grips with Process BuilderGetting to Grips with Process Builder
Getting to Grips with Process Builder
 
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
 
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
 
Scrum at Scale
Scrum at ScaleScrum at Scale
Scrum at Scale
 
Test Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and MochaTest Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and Mocha
 
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN  Jenkins to Manage Multi-line Development to DeploymentsUtilizing SVN  Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
 
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
 
Self-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release PipelinesSelf-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release Pipelines
 
Deep Dive into Apex Triggers
Deep Dive into Apex TriggersDeep Dive into Apex Triggers
Deep Dive into Apex Triggers
 
The Apex Interactive Debugger
The Apex Interactive DebuggerThe Apex Interactive Debugger
The Apex Interactive Debugger
 
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
 

Mais de Salesforce Engineering

Mais de Salesforce Engineering (20)

Locker Service Ready Lightning Components With Webpack
Locker Service Ready Lightning Components With WebpackLocker Service Ready Lightning Components With Webpack
Locker Service Ready Lightning Components With Webpack
 
Scaling HBase for Big Data
Scaling HBase for Big DataScaling HBase for Big Data
Scaling HBase for Big Data
 
Techniques to Effectively Monitor the Performance of Customers in the Cloud
Techniques to Effectively Monitor the Performance of Customers in the CloudTechniques to Effectively Monitor the Performance of Customers in the Cloud
Techniques to Effectively Monitor the Performance of Customers in the Cloud
 
Predictive System Performance Data Analysis
Predictive System Performance Data AnalysisPredictive System Performance Data Analysis
Predictive System Performance Data Analysis
 
Apache HBase State of the Project
Apache HBase State of the ProjectApache HBase State of the Project
Apache HBase State of the Project
 
Hit the Trail with Trailhead
Hit the Trail with TrailheadHit the Trail with Trailhead
Hit the Trail with Trailhead
 
HBase/PHOENIX @ Scale
HBase/PHOENIX @ ScaleHBase/PHOENIX @ Scale
HBase/PHOENIX @ Scale
 
Scaling up data science applications
Scaling up data science applicationsScaling up data science applications
Scaling up data science applications
 
Containers and Security for DevOps
Containers and Security for DevOpsContainers and Security for DevOps
Containers and Security for DevOps
 
Aspect Oriented Programming: Hidden Toolkit That You Already Have
Aspect Oriented Programming: Hidden Toolkit That You Already HaveAspect Oriented Programming: Hidden Toolkit That You Already Have
Aspect Oriented Programming: Hidden Toolkit That You Already Have
 
Monitoring @ Scale in Salesforce
Monitoring @ Scale in SalesforceMonitoring @ Scale in Salesforce
Monitoring @ Scale in Salesforce
 
Performance Tuning with XHProf
Performance Tuning with XHProfPerformance Tuning with XHProf
Performance Tuning with XHProf
 
A Smarter Pig: Building a SQL interface to Pig using Apache Calcite
A Smarter Pig: Building a SQL interface to Pig using Apache CalciteA Smarter Pig: Building a SQL interface to Pig using Apache Calcite
A Smarter Pig: Building a SQL interface to Pig using Apache Calcite
 
Implementing a Content Strategy Is Like Running 100 Miles
Implementing a Content Strategy Is Like Running 100 MilesImplementing a Content Strategy Is Like Running 100 Miles
Implementing a Content Strategy Is Like Running 100 Miles
 
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief OverviewSalesforce Cloud Infrastructure and Challenges - A Brief Overview
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
 
Koober Preduction IO Presentation
Koober Preduction IO PresentationKoober Preduction IO Presentation
Koober Preduction IO Presentation
 
Finding Security Issues Fast!
Finding Security Issues Fast!Finding Security Issues Fast!
Finding Security Issues Fast!
 
Microservices
MicroservicesMicroservices
Microservices
 
Global State Management of Micro Services
Global State Management of Micro ServicesGlobal State Management of Micro Services
Global State Management of Micro Services
 
The Future of Hbase
The Future of HbaseThe Future of Hbase
The Future of Hbase
 

Último

Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
dharasingh5698
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 

Último (20)

Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 

How Developers and Quality Engineer Collaborate at Salesforce

  • 1. How Developers and Quality Engineer Collaborate at Salesforce Using Agile to deliver three major feature releases a year Vladimir Gerasimov, Sr. Software Engineer vgerasimov@salesforce.com /in/vgerasimov87 Joyce Yeh, Software Engineer jyeh@salesforce.com /in/joycevyeh
  • 2. 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
  • 3. Our Goals Today: • Show you how Developers and Testers collaborate • Show you how Salesforce Technology Organization leverages Agile methodologies to deliver 3 major releases a year • Explain the engineering practices used to maintain the highest quality standards • Provide practical tips on how to start your own agile transformation today
  • 4. Salesforce Agile Implementation Principles (Lean & Agile) Management Practices (Scrum & Kanban) Technical Practices (XP)
  • 5. We’ve Built a Scalable Mode 400 + Agile Teams @ Salesforce
  • 6. Developers at Salesforce are Responsible for: • Test-Driven Development • Unit and Functional Test Automation • Fixing Regression bugs
  • 7. Quality Engineers at Salesforce are Responsible for: • Test Design and Test Planning • Identifying Test Coverage gaps • Developing Test Frameworks • Writing Test Automation
  • 8. Agile Teams at Salesforce QE Engineers Product Owner Developers Tech Writer Scrum Master
  • 9. It’s All About User Story
  • 10. Collaboration Between Devs and QEs New Triaged In Progress Ready For Review Fixed QE in Progress Closed How Devs and QEs collaborate through User Stories • User Story cannot be closed without QE • Devs and QEs working on the stories together Devs and QEs discussed the work Devs and QEs reviewed the code Code checked in Definition of Done is met
  • 11. Continuous Planning And Prioritization Vision V2MOM 2 Release Review 1 Release Review Sprint Reviews Stand ups 3-5 years 1 year 2 releases 1 release 2 weeks Daily New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 12. Early communication is the key • Devs and QEs sit together before work on a user story is started • It allows to keep both sides on the same page • Gives Dev first-look test prospective on User Story • Gives QE and idea about what’s coming next New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 13. Freedom to adjust the process Teams decide what work or doesn’t work for them • Team has the freedom to decide best practices • Continuous improvement part of the DNA • Encourages everyone to own the process • Reduces amount of bureaucracy New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 14. Agile Principles to Keep in Mind For quality prospective New Triaged In Progress Ready For Review Fixed QE in Progress Closed • Build quality in. Quality over more features. Trust in #1 priority. • Eliminate waste. Fix test issue, not disable tests.
  • 15. Dog-fooding Our Own Product Using your product on daily basis • Bug and User story tracking • Internal and external communication • Discovering issues earlier New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 16. Code Reviews • Code reviews help to catch problems before code is checked in • Both Dev and QE engineers participate • Code Review is required for check in • Code Reviewer knows if check in failed New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 17. Pre-Checkin Validation Keeps the Build healthy • Sharing the same code branch for current release work • Important to keep build healthy at all times • Pre-checkin validation ensures the change you are submitting is not breaking the build and major functionality • Takes about one hour New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 18. Test Failures, Flappers and Long Running Tests Lock teams with Test Failures older than 7 days Opening Bugs for non-stable tests Opening Bugs for Long Running Tests Keeping test healthy and stable New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 19. Lock Out Email Team gets locked out if they don't fix their Test Failures New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 20. Test Failure Auto Assign Auto-Assign manages test failures effectively It can link Test Failure to the change list that most likely caused the failure It groups similar test failures under one Bug It eliminates manual work of running reports and opening bugs Even when wrong, it still opens bugs and starts the process of fixing Test Failure Helping teams to address test failures New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 21. How Does Definition of Done help the quality? • Single Definition of Done ensures understanding within & across teams • Increases team accountability for quality and commitment • Reduces Code debt and possible points of failure New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 22. Example of Definition of Done Criteria Features 1 2 3 Code checked in and follows department standards ☑ ☑ No open regressions. Automated tests written and reviewed for all regressions ☑ ☑ No open P1 & P2 bugs ☑ Code Coverage 78 % 80 % 100% of test cases logged and executed in a QA environment, and all P1/P2 cases passing ☑ ☑ All resolved bugs verified and closed ☑ ☑ ☑ UE has reviewed any new features; P1 and P2 UI bugs fixed ☑ ☑ ☑ Usability testing completed when necessary, and feedback incorporated into backlog ☑ ☑ Code and UI reviewed for 508 compliance; UE team notified of any non-compliant features ☑ ☑ New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 23. Frequent Product Demos & Reviews • Demo completed work with team every sprint • Demo and review release plan progress monthly with Executive participation • Provide radical transparency • No surprises come release time New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 24. Frequent Major Releases Feature Freeze Release Freeze Done Done Done Release to Internal Sandbox & Production Instances SB/R0 Release • 2/3 sandbox instances • Production instance where Salesforce has largest orgs R1/R2 Release • 25% of prod instances • All remaining instances • Branch locked • Check-in approval required • Incomplete features disabled • Code line open for next release Monthly Sprint Reviews Release Sprint Staggered Release Scrum Teams and Functional Areas Sign Off Scrum Teams Sign Off Dec Jan Feb Mar MayApr Jun • Continuous integration w/ 600k JUnit and Selenium tests • Performance testing • 110M Apex customer tests • Other production tests • Final performance testing New Triaged In Progress Ready For Review Fixed QE in Progress Closed
  • 25. Next Steps What you can do today Get Developers to work closer with QEs • Discuss User Story scope and requirements together • Participate in Code Reviews • Have Dev and QE pair on story completion Test Automation • Add Automated Test Coverage to Definition of Done • Create backlog to track remaining Automation work • Involve Developers in writing Automation and helping QEs with Test Frameworks • Test Failures locks when too high • Enforce Test Automation health • Invest in Auto-Assign tools and reports

Notas do Editor

  1. Key Takeaway: We are a publicly traded company. Please make your buying decisions only on the products commercially available from Salesforce. Talk Track: Before I begin, just a quick note that when considering future developments, whether by us or with any other solution provider, you should always base your purchasing decisions on what is currently available.
  2. DoD is a part of QE. As QE how do I use DoD
  3. <VG>: need to add info here