SlideShare une entreprise Scribd logo
1  sur  21
Quality on Submit
Continuous integration in practice

Nir Koren
Development Integration Lead, SAP Labs Israel
June 2012




                                     SAP Patent pending application title "Quality on Submit Process”. Ref: 2010P00489US
Quality On Submit

End to end SW development quality process that
provides instant feedback and transparency to the
SCRUM teams.




© 2012 SAP AG. All rights reserved.             2
Motivation
           THE COST OF FIXING A BUG
                                                                            16,000 $




                                                            1,000 $

                    25 $



              Coding              Unit Test   QA Testing    Field Test     Post release

                                                      Applied Software Measurement, Capers Jones 1996
© 2012 SAP AG. All rights reserved.                                                                     3
Motivation – Cont’
The nightly build was broken  no systems for today
Who broke the build?
Who broke the runtime?
How many changes do we have today?
Did Jack already check-in his stuff?
What is the status of our product today? Now?
Why do we fix PMD issues right before the release
© 2012 SAP AG. All rights reserved.                   4
Code checked-out into SCM


                                                                                                   Build               Test
                                             SCM Server                                                    Integrate
         Developer                                                  CI Server


                           Code Change                    Listen                Start automated
                                                                                      chain
                                                                                                       Deploy      Scan




                                      Unit      API          JS                                              DB
  Build            Deploy                                              Sonar        Fortify       UI                    Notify   Gamify
                                      Test     Tests        Tests                                           Save



© 2012 SAP AG. All rights reserved.                                                                                                   5
Build
Jenkins SCM Plugin (P4, GIT, etc’)
Listen to the SCM and trigger the QOS
process.



Compilation starts (Maven / Ant / etc’)                                                         SCM Server




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                      6
Deploy
A dedicated reference system is
deployed with the new build results.

This system is always updated to the                                              Continuously
latest code state.                                                                 Deployed
                                                                     REF System




                                      Unit    API     JS                                  DB
  Build            Deploy                                    Sonar     Fortify    UI             Notify   Gamify
                                      Test   Tests   Tests                               Save



© 2012 SAP AG. All rights reserved.                                                                            7
Unit Tests
All Unit tests are detached from the
build process.

Supports any kind of unit tests like
NUnit, JUnit, etc.

Reports provided via Jenkins plugins
like surefire




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                      8
API Tests
Run on the deployed system.

Supports various methods like
JMeter, soapUI, etc.

Reports provided via Jenkins plugins




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                      9
Java Script Tests
Support JSLint for JS Static Code
Analysis and JsUnit tests like Jasmine.

Reports provided via Jenkins plugins




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                     10
Sonar
Open source static code analysis platform

Rich HTML dashboards

Numerous plug-ins

Violations, components, hotspots, time machine
and a lot more…




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                     11
Fortify
Licensed security test tool by HP.

Scan the current static code and detects
security violations.

Provide rich HTML dashboards




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                     12
UI Automation
Set of Integration tests executed

Supports various technologies like HP
QTP, Selenium, Sikuli and more.

Reports provided via Jenkins plugins or by
any external provider.




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                     13
Data saved into a DB
All data is saved into a DB.

QOS Cycles statistics can be generated.

Developers’ typical behavior can be viewed
from this DB.




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                     14
Email Notification
Notification sent to the implementation team
 Transparency to the implementation team.

Elaborated status and links for all phases.




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                     15
Gamification
Optional connection to a Gamification system
which calculate phases results and provide
ranks and badges.

Increase the fun in development.

Increase the drive for quality.




                                      Unit    API     JS                             DB
  Build            Deploy                                    Sonar   Fortify   UI          Notify   Gamify
                                      Test   Tests   Tests                          Save



© 2012 SAP AG. All rights reserved.                                                                     16
Product Team Transparency
Daily report sent to the product team  Transparency




© 2012 SAP AG. All rights reserved.                    17
QOS  End To End Quality


    Instant feedback in ~15 minutes.
    Increased team responsibility and quality awareness
    Rewards development for quality
    Makes TDD realistic and drives towards it



© 2012 SAP AG. All rights reserved.                        18
Prerequisites
                                         Build                      Test
Split your unit tests from your build.           Integrate


Split your build and make it short.

Make your tests in short cycles.
                                             Deploy          Scan
Make you tests reliable

Avoid false alarms



© 2012 SAP AG. All rights reserved.                                        19
Quality On Submit in SAP

• SAPPatent pending application title "Quality on Submit
 Process”. Ref: 2010P00489US
• Run           in productive on-demand and on-premise products
• Proved                  as a best method for quality in short cycles
• Awarded                       SAP Labs Israel as one of the lab’s strengths


© 2012 SAP AG. All rights reserved.                                             20
Thank you!


  Nir Koren

  Development Integration Lead

  SAP Labs Israel | nir.koren@sap.com

© 2012 SAP AG. All rights reserved.                21

Contenu connexe

Tendances

Softsphere - Development for administrators
Softsphere - Development for administratorsSoftsphere - Development for administrators
Softsphere - Development for administratorsBill Buchan
 
01.egovFrame Training Book I
01.egovFrame Training Book I01.egovFrame Training Book I
01.egovFrame Training Book IChuong Nguyen
 
Scaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel DevelopmentScaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel DevelopmentIBM UrbanCode Products
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
 
2012 selenium kiev_08_final
2012 selenium kiev_08_final2012 selenium kiev_08_final
2012 selenium kiev_08_finalmetaxa_cz
 
Enterprise Source and Release Management Using StratoSource
Enterprise Source and Release Management Using StratoSourceEnterprise Source and Release Management Using StratoSource
Enterprise Source and Release Management Using StratoSourceSalesforce Developers
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsClever Moe
 
Open Source Licenses and Tools
Open Source Licenses and ToolsOpen Source Licenses and Tools
Open Source Licenses and Toolsg2ix
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionProduct Marketing Services
 
SharePoint Application Lifecycle Management (ALM)
SharePoint Application Lifecycle Management (ALM)SharePoint Application Lifecycle Management (ALM)
SharePoint Application Lifecycle Management (ALM)Ayman El-Hattab
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaBENOIT_LANGLOIS
 
HTAF 2.0 - A hybrid test automation framework.
HTAF 2.0 - A hybrid test automation framework.HTAF 2.0 - A hybrid test automation framework.
HTAF 2.0 - A hybrid test automation framework.Mindtree Ltd.
 
Dev ops for cross platform mobile modeveast 12
Dev ops for cross platform mobile   modeveast 12Dev ops for cross platform mobile   modeveast 12
Dev ops for cross platform mobile modeveast 12Sanjeev Sharma
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)Arun Gupta
 
Quality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise FlexQuality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise FlexFrançois Le Droff
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010Arun Gupta
 

Tendances (19)

Softsphere - Development for administrators
Softsphere - Development for administratorsSoftsphere - Development for administrators
Softsphere - Development for administrators
 
01.egovFrame Training Book I
01.egovFrame Training Book I01.egovFrame Training Book I
01.egovFrame Training Book I
 
Scaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel DevelopmentScaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel Development
 
Accelerated Android Development with Linaro
Accelerated Android Development with LinaroAccelerated Android Development with Linaro
Accelerated Android Development with Linaro
 
How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
2012 selenium kiev_08_final
2012 selenium kiev_08_final2012 selenium kiev_08_final
2012 selenium kiev_08_final
 
Cisco ios versions
Cisco ios versionsCisco ios versions
Cisco ios versions
 
Enterprise Source and Release Management Using StratoSource
Enterprise Source and Release Management Using StratoSourceEnterprise Source and Release Management Using StratoSource
Enterprise Source and Release Management Using StratoSource
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
 
Open Source Licenses and Tools
Open Source Licenses and ToolsOpen Source Licenses and Tools
Open Source Licenses and Tools
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
SharePoint Application Lifecycle Management (ALM)
SharePoint Application Lifecycle Management (ALM)SharePoint Application Lifecycle Management (ALM)
SharePoint Application Lifecycle Management (ALM)
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFa
 
HTAF 2.0 - A hybrid test automation framework.
HTAF 2.0 - A hybrid test automation framework.HTAF 2.0 - A hybrid test automation framework.
HTAF 2.0 - A hybrid test automation framework.
 
Dev ops for cross platform mobile modeveast 12
Dev ops for cross platform mobile   modeveast 12Dev ops for cross platform mobile   modeveast 12
Dev ops for cross platform mobile modeveast 12
 
2012 01-jenkins-udeploy
2012 01-jenkins-udeploy2012 01-jenkins-udeploy
2012 01-jenkins-udeploy
 
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
The Java EE 7 Platform: Developing for the Cloud  (FISL 12)The Java EE 7 Platform: Developing for the Cloud  (FISL 12)
The Java EE 7 Platform: Developing for the Cloud (FISL 12)
 
Quality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise FlexQuality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise Flex
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 

Similaire à Quality on Submit

Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012CloudBees
 
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooContinuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooClever Moe
 
New Generation Record/Playback Tools for AJAX Testing
New Generation Record/Playback Tools for AJAX TestingNew Generation Record/Playback Tools for AJAX Testing
New Generation Record/Playback Tools for AJAX TestingClever Moe
 
Migrating from HP QuickTest Pro QTP to TestMaker Object Designer
Migrating from HP QuickTest Pro QTP to TestMaker Object DesignerMigrating from HP QuickTest Pro QTP to TestMaker Object Designer
Migrating from HP QuickTest Pro QTP to TestMaker Object DesignerClever Moe
 
Migrating From HP QTP To TestMaker 6
Migrating From HP QTP To TestMaker 6Migrating From HP QTP To TestMaker 6
Migrating From HP QTP To TestMaker 6Clever Moe
 
American megatrends cdc validation, maintainence & testing services
American megatrends cdc validation, maintainence & testing servicesAmerican megatrends cdc validation, maintainence & testing services
American megatrends cdc validation, maintainence & testing servicesSunil Sam
 
2012 student track - vs2010
2012   student track - vs20102012   student track - vs2010
2012 student track - vs2010Tim Mahy
 
Don't touch that server
Don't touch that serverDon't touch that server
Don't touch that servercrdant
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs
 
Relay health build system
Relay health build systemRelay health build system
Relay health build systemroncordell
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
 
Software Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab ManagementSoftware Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab ManagementNico Orschel
 
Team Development and Release Management
Team Development and Release ManagementTeam Development and Release Management
Team Development and Release ManagementSalesforce Partners
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
Selenium Basics Tutorial
Selenium Basics TutorialSelenium Basics Tutorial
Selenium Basics TutorialClever Moe
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...Alfresco Software
 

Similaire à Quality on Submit (20)

Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012Mobile Application Testing in the Cloud - Oct 2012
Mobile Application Testing in the Cloud - Oct 2012
 
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, BambooContinuous Integration with TestMaker, Hudson, Jenkins, Bamboo
Continuous Integration with TestMaker, Hudson, Jenkins, Bamboo
 
New Generation Record/Playback Tools for AJAX Testing
New Generation Record/Playback Tools for AJAX TestingNew Generation Record/Playback Tools for AJAX Testing
New Generation Record/Playback Tools for AJAX Testing
 
Migrating from HP QuickTest Pro QTP to TestMaker Object Designer
Migrating from HP QuickTest Pro QTP to TestMaker Object DesignerMigrating from HP QuickTest Pro QTP to TestMaker Object Designer
Migrating from HP QuickTest Pro QTP to TestMaker Object Designer
 
Migrating From HP QTP To TestMaker 6
Migrating From HP QTP To TestMaker 6Migrating From HP QTP To TestMaker 6
Migrating From HP QTP To TestMaker 6
 
American megatrends cdc validation, maintainence & testing services
American megatrends cdc validation, maintainence & testing servicesAmerican megatrends cdc validation, maintainence & testing services
American megatrends cdc validation, maintainence & testing services
 
Objectif cloud
Objectif cloudObjectif cloud
Objectif cloud
 
2012 student track - vs2010
2012   student track - vs20102012   student track - vs2010
2012 student track - vs2010
 
Don't touch that server
Don't touch that serverDon't touch that server
Don't touch that server
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 
Relay health build system
Relay health build systemRelay health build system
Relay health build system
 
RTF - Prasad bhatt
RTF - Prasad bhattRTF - Prasad bhatt
RTF - Prasad bhatt
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Software Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab ManagementSoftware Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab Management
 
Team Development and Release Management
Team Development and Release ManagementTeam Development and Release Management
Team Development and Release Management
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Selenium Basics Tutorial
Selenium Basics TutorialSelenium Basics Tutorial
Selenium Basics Tutorial
 
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
ECM Decision Matrix - Deciding Between Alfresco Community Edition, Alfresco E...
 

Plus de AgileSparks

What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner AgileSparks
 
Distributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithDistributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithAgileSparks
 
A Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiA Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiAgileSparks
 
Jira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamJira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamAgileSparks
 
Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman AgileSparks
 
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...AgileSparks
 
Honest Experimentation by Jonathan Bertfield
 Honest Experimentation by Jonathan Bertfield Honest Experimentation by Jonathan Bertfield
Honest Experimentation by Jonathan BertfieldAgileSparks
 
Pango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloPango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloAgileSparks
 
ClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekAgileSparks
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi AgileSparks
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisAgileSparks
 
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...AgileSparks
 
Real Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshReal Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshAgileSparks
 
True Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegTrue Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegAgileSparks
 
Homo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelHomo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelAgileSparks
 
Intel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraIntel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraAgileSparks
 
Leading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldLeading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldAgileSparks
 
Organization architecture autonomy and accountability
Organization architecture autonomy and accountability Organization architecture autonomy and accountability
Organization architecture autonomy and accountability AgileSparks
 
Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017AgileSparks
 
The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017AgileSparks
 

Plus de AgileSparks (20)

What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner What Do Agile Leaders Do by Kurt Bittner
What Do Agile Leaders Do by Kurt Bittner
 
Distributed Teams by Kevin Goldsmith
Distributed Teams by Kevin GoldsmithDistributed Teams by Kevin Goldsmith
Distributed Teams by Kevin Goldsmith
 
A Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi GostynskiA Back-End Approach to Customer Driven by Adi Gostynski
A Back-End Approach to Customer Driven by Adi Gostynski
 
Jira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-NoamJira Portfolio by Elad Ben-Noam
Jira Portfolio by Elad Ben-Noam
 
Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman Agile Hiring at Scale by Yon Bergman
Agile Hiring at Scale by Yon Bergman
 
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...Are We Really Using Our Resources in The Most Effective Way?  by Perry Yaqubo...
Are We Really Using Our Resources in The Most Effective Way? by Perry Yaqubo...
 
Honest Experimentation by Jonathan Bertfield
 Honest Experimentation by Jonathan Bertfield Honest Experimentation by Jonathan Bertfield
Honest Experimentation by Jonathan Bertfield
 
Pango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv KaloPango Journey to an Agile Cloud by Yaniv Kalo
Pango Journey to an Agile Cloud by Yaniv Kalo
 
ClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny DuekClickSoftware Agile Tranistion by Meny Duek
ClickSoftware Agile Tranistion by Meny Duek
 
Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi Augury's Journey Towards CD by Assaf Mizrachi
Augury's Journey Towards CD by Assaf Mizrachi
 
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad AssisKubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
 
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
 
Real Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat EnoshReal Innovation is with Real Customers by Baat Enosh
Real Innovation is with Real Customers by Baat Enosh
 
True Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper BoegTrue Continuous Improvement with Toyota Kata by Jesper Boeg
True Continuous Improvement with Toyota Kata by Jesper Boeg
 
Homo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior FrenkelHomo-Adaptus Agile Worker by Lior Frenkel
Homo-Adaptus Agile Worker by Lior Frenkel
 
Intel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen EzraIntel CHD Case Study by Ronen Ezra
Intel CHD Case Study by Ronen Ezra
 
Leading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan BertfieldLeading Innovation by Jonathan Bertfield
Leading Innovation by Jonathan Bertfield
 
Organization architecture autonomy and accountability
Organization architecture autonomy and accountability Organization architecture autonomy and accountability
Organization architecture autonomy and accountability
 
Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017Tribal Unity, Agile Israel 2017
Tribal Unity, Agile Israel 2017
 
The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017The mindful manager, Agile Israel 2017
The mindful manager, Agile Israel 2017
 

Dernier

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Dernier (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Quality on Submit

  • 1. Quality on Submit Continuous integration in practice Nir Koren Development Integration Lead, SAP Labs Israel June 2012 SAP Patent pending application title "Quality on Submit Process”. Ref: 2010P00489US
  • 2. Quality On Submit End to end SW development quality process that provides instant feedback and transparency to the SCRUM teams. © 2012 SAP AG. All rights reserved. 2
  • 3. Motivation THE COST OF FIXING A BUG 16,000 $ 1,000 $ 25 $ Coding Unit Test QA Testing Field Test Post release Applied Software Measurement, Capers Jones 1996 © 2012 SAP AG. All rights reserved. 3
  • 4. Motivation – Cont’ The nightly build was broken  no systems for today Who broke the build? Who broke the runtime? How many changes do we have today? Did Jack already check-in his stuff? What is the status of our product today? Now? Why do we fix PMD issues right before the release © 2012 SAP AG. All rights reserved. 4
  • 5. Code checked-out into SCM Build Test SCM Server Integrate Developer CI Server Code Change Listen Start automated chain Deploy Scan Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 5
  • 6. Build Jenkins SCM Plugin (P4, GIT, etc’) Listen to the SCM and trigger the QOS process. Compilation starts (Maven / Ant / etc’) SCM Server Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 6
  • 7. Deploy A dedicated reference system is deployed with the new build results. This system is always updated to the Continuously latest code state. Deployed REF System Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 7
  • 8. Unit Tests All Unit tests are detached from the build process. Supports any kind of unit tests like NUnit, JUnit, etc. Reports provided via Jenkins plugins like surefire Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 8
  • 9. API Tests Run on the deployed system. Supports various methods like JMeter, soapUI, etc. Reports provided via Jenkins plugins Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 9
  • 10. Java Script Tests Support JSLint for JS Static Code Analysis and JsUnit tests like Jasmine. Reports provided via Jenkins plugins Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 10
  • 11. Sonar Open source static code analysis platform Rich HTML dashboards Numerous plug-ins Violations, components, hotspots, time machine and a lot more… Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 11
  • 12. Fortify Licensed security test tool by HP. Scan the current static code and detects security violations. Provide rich HTML dashboards Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 12
  • 13. UI Automation Set of Integration tests executed Supports various technologies like HP QTP, Selenium, Sikuli and more. Reports provided via Jenkins plugins or by any external provider. Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 13
  • 14. Data saved into a DB All data is saved into a DB. QOS Cycles statistics can be generated. Developers’ typical behavior can be viewed from this DB. Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 14
  • 15. Email Notification Notification sent to the implementation team  Transparency to the implementation team. Elaborated status and links for all phases. Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 15
  • 16. Gamification Optional connection to a Gamification system which calculate phases results and provide ranks and badges. Increase the fun in development. Increase the drive for quality. Unit API JS DB Build Deploy Sonar Fortify UI Notify Gamify Test Tests Tests Save © 2012 SAP AG. All rights reserved. 16
  • 17. Product Team Transparency Daily report sent to the product team  Transparency © 2012 SAP AG. All rights reserved. 17
  • 18. QOS  End To End Quality  Instant feedback in ~15 minutes.  Increased team responsibility and quality awareness  Rewards development for quality  Makes TDD realistic and drives towards it © 2012 SAP AG. All rights reserved. 18
  • 19. Prerequisites Build Test Split your unit tests from your build. Integrate Split your build and make it short. Make your tests in short cycles. Deploy Scan Make you tests reliable Avoid false alarms © 2012 SAP AG. All rights reserved. 19
  • 20. Quality On Submit in SAP • SAPPatent pending application title "Quality on Submit Process”. Ref: 2010P00489US • Run in productive on-demand and on-premise products • Proved as a best method for quality in short cycles • Awarded SAP Labs Israel as one of the lab’s strengths © 2012 SAP AG. All rights reserved. 20
  • 21. Thank you! Nir Koren Development Integration Lead SAP Labs Israel | nir.koren@sap.com © 2012 SAP AG. All rights reserved. 21