SlideShare a Scribd company logo
1 of 89
Download to read offline
Kent Beck
A




B
"Agile" team

                           Analysis + Design        Centralized QA                           IT Operations

                              Development           Integration + QA                     Release and operation
Customer                   Testing + Showcase
           Iteration   0      1    2     3      4
                                                                       The "last mile"
"Agile" team

                           Analysis + Design        Centralized QA                           IT Operations

                              Development           Integration + QA                     Release and operation
Customer                   Testing + Showcase
           Iteration   0      1    2     3      4
                                                                       The "last mile"
"Agile" team

                           Analysis + Design        Centralized QA                           IT Operations

                              Development           Integration + QA                     Release and operation
Customer                   Testing + Showcase
           Iteration   0      1    2     3      4
                                                                       The "last mile"
"Agile" team

                           Analysis + Design        Centralized QA                           IT Operations

                              Development           Integration + QA                     Release and operation
Customer                   Testing + Showcase
           Iteration   0      1    2     3      4
                                                                       The "last mile"
Mary Poppendieck   Tom Poppendieck
Product                                   Product
                                Product                                                    Final testing
           opportunity                              planning and        Development                        Release
                               discovery                                                   and approval
           assessment                                estimation

                                                                                                 2
                   3 days 1 week     10 days                       7 weeks            1 week
                                                                                               hours
Value-added time


  Elapsed time
                     1 week   10 days      3 days                                 5 days   2 days
Product                                   Product
                                Product                                                    Final testing
           opportunity                              planning and        Development                        Release
                               discovery                                                   and approval
           assessment                                estimation

                                                                                                 2
                   3 days 1 week     10 days                       7 weeks            1 week
                                                                                               hours
Value-added time


  Elapsed time
                     1 week   10 days      3 days                                 5 days   2 days
Delivery team         Version control              Build & unit           Automated       User acceptance         Release
                                                      tests            acceptance tests         tests

                Check in
                                         Trigger

                           Feedback


                Check in
                                         Trigger

                       Feedback                                   Trigger




                                      Feedback


            Check in
                                         Trigger

                           Feedback                               Trigger




                                      Feedback                                      Approval
                                                 Feedback                                              Approval
Increasing confidence in build's production readiness



                       Environments become more production-like



                                                  User
                                               acceptance
                                                 testing
Commit stage
   Compile
                         Acceptance                                       Production
   Unit test
                          test stage
   Analysis
Build installers
                                               Performance
                                                  testing



                                       Faster feedback
Customer




Delivery team
                Constant flow of new features into production
Professor Plum                    P1-2                                               P3-4
                   P1             P2                              P3              P4                    P5

                                                                                                                       P1-5
                                              B1                                        B2
Mainline
                        B1                                                       B2
                                                                                                                                      P1-5
                                                        B1                                  B2
                                                                                                                                             G1-6

               G1                             G2                            G3                          G4        G5    G6
                                                   G1-2                                       G3
       Reverend Green




                                                                                                                                   G1-6

Professor Plum P1                        P2                   P3                 P4     P4
              P1                   P2                   P3              P4                              P5


                             P1                                        P3                          P4        P5
                                                  P2                         B2        G3
                G1                      B1                   G2
Mainline
                                  B1                                    B2
                                               B1
                                                                            B2                                P4-5
                   G1                         P1-2           G2             P3         G3                                 G4   G5     G6

               G1                            G2                        G3                                    G4               G5    G6
           Reverend Green                                                        G3                                G4
                                                   G2
Professor Plum        P1-2                         P3-4
              P1        P2                 P3        P4             P5



                               B1                         B2
Mainline
                   B1                            B2

                                      B1                   B2


             G1                G2               G3                  G4   G5   G6
                                    G1-2                       G3
       Reverend Green
Professor Plum        P1-2                         P3-4
              P1        P2                 P3        P4             P5

                                                                              P1-5
                               B1                         B2
Mainline
                   B1                            B2
                                                                                        P1-5
                                      B1                   B2
                                                                                               G1-6

             G1                G2               G3                  G4   G5    G6
                                    G1-2                       G3
       Reverend Green




                                                                                     G1-6
Professor Plum        P1-2                         P3-4
              P1        P2                 P3        P4             P5

                                                                              P1-5
                               B1                         B2
Mainline
                   B1                            B2
                                                                                        P1-5
                                      B1                   B2
                                                                                               G1-6

             G1                G2               G3                  G4   G5    G6
                                    G1-2                       G3
       Reverend Green




                                                                                     G1-6
Professor Plum        P1-2                         P3-4
              P1        P2                 P3        P4             P5

                                                                              P1-5
                               B1                         B2
Mainline
                   B1                            B2
                                                                                        P1-5
                                      B1                   B2
                                                                                               G1-6

             G1                G2               G3                  G4   G5    G6
                                    G1-2                       G3
       Reverend Green




                                                                                     G1-6
Professor Plum P1                P2                   P3             P4    P4
           P1              P2                   P3          P4                       P5


                     P1                                    P3                   P4        P5
                                          P2                     B2       G3
            G1                  B1               G2
Mainline
                          B1                                B2
                                       B1
                                                                B2                         P4-5
                G1                    P1-2           G2         P3        G3                        G4   G5    G6

           G1                        G2                    G3                             G4         G5       G6
       Reverend Green                                                G3                        G4
                                           G2
Config File
                                       some.jsp
[featureToggles]
wobblyFoobars: true             <toggle name=wobblyFoobars>
flightyForkHandles: false         ... various UI elements
                                </toggle>


other.java
 forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ?
                 new FlightyForkHander(aCandle) :
                 new ForkHandler(aCandle)
Framework                                        Framework
                        fluid
      2.2.12                                           2.2.12

                                Pricing engine                         Pricing engine

                                    1.0.3              2.2.13              1.0.3
                      static

                                                 CDS pricing library
                                                                           1.0.4
      1.3.1                                            1.3.1

CDS pricing library
                                                       1.3.2
001_create_initial_tables.sql:

CREATE TABLE customer (
  id BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1)
  PRIMARY KEY,
  firstname VARCHAR(255),
  lastname VARCHAR(255)
);

002_add_customer_date_of_birth.sql

ALTER TABLE customer ADD COLUMN dateofbirth DATETIME;

--//@UNDO

ALTER TABLE customer DROP COLUMN dateofbirth;
Baseline
Database
Baseline
Database
DB
           Metadata


Baseline   Apply
Database   Deltas
DB
           Metadata


Baseline   Apply
Database   Deltas



            Fail Fast
DB
           Metadata


Baseline   Apply
            Apply
            Apply
             Apply    Test!
Database   Deltas
           Deltas
            Deltas
             Deltas
app v205                 app v230             app v234              app v241                app v248
          compatible with db       compatible with db   compatible with db   compatible with db       compatible with db
            v13 and v14                  v14                  v14               v14 and 15                  v15



  DB                     DB                                                                 DB
version                version                                                            version
  13                     14                                                                 15




          app v205     migrate     app v230             app v234             app v234     migrate     app v248
          deployed     db to v14   deployed             deployed             deployed     db to v15   deployed

                                                            Time
v1.1   v1.1   v1.1
v1.1   v1.1   v1.1
v1.1   v1.1   v1.1


v1.2   v1.2   v1.2
v1.1   v1.1   v1.1


v1.2   v1.2   v1.2
v1.1   v1.1   v1.1


v1.2   v1.2   v1.2
?

More Related Content

What's hot

Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primer
Agora Group
 
Ralph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsRalph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trains
Agora Group
 
Agile SCRUM Methodology
Agile SCRUM MethodologyAgile SCRUM Methodology
Agile SCRUM Methodology
Angelin R
 

What's hot (20)

Go2Group JaM Plugin Technical Brief
Go2Group JaM Plugin Technical BriefGo2Group JaM Plugin Technical Brief
Go2Group JaM Plugin Technical Brief
 
Pragmatic notdogmatictdd
Pragmatic notdogmatictddPragmatic notdogmatictdd
Pragmatic notdogmatictdd
 
Lean agile pt
Lean  agile ptLean  agile pt
Lean agile pt
 
TAO DAYS - Process (User session)
TAO DAYS - Process (User session)TAO DAYS - Process (User session)
TAO DAYS - Process (User session)
 
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
 
Quality tracking through JIRA
Quality tracking through JIRAQuality tracking through JIRA
Quality tracking through JIRA
 
Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram Hindle
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed Agile
 
ITS-Fidel
ITS-FidelITS-Fidel
ITS-Fidel
 
Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010
 
Blue Monitor Software Development
Blue Monitor Software DevelopmentBlue Monitor Software Development
Blue Monitor Software Development
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Real World TDD
Real World TDDReal World TDD
Real World TDD
 
Agile tour 2011 ralph jocham - scrum primer
Agile tour 2011   ralph jocham - scrum primerAgile tour 2011   ralph jocham - scrum primer
Agile tour 2011 ralph jocham - scrum primer
 
Simple Measurements #2
Simple Measurements #2Simple Measurements #2
Simple Measurements #2
 
Ralph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trainsRalph jocham agile portfolio based release trains
Ralph jocham agile portfolio based release trains
 
Intro To Scrum.V3
Intro To Scrum.V3Intro To Scrum.V3
Intro To Scrum.V3
 
Bdd Introduction
Bdd IntroductionBdd Introduction
Bdd Introduction
 
Effective Strategies for Distributed Testing
Effective Strategies for Distributed TestingEffective Strategies for Distributed Testing
Effective Strategies for Distributed Testing
 
Agile SCRUM Methodology
Agile SCRUM MethodologyAgile SCRUM Methodology
Agile SCRUM Methodology
 

Similar to 持续交付软件之路 - Continuous Delivery

Ravit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in AgileRavit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in Agile
AgileSparks
 
Pulse Design & Delivery Panel
Pulse Design & Delivery PanelPulse Design & Delivery Panel
Pulse Design & Delivery Panel
Mauricio Godoy
 
Seeing what matters using the right vision to manage transition - Alan Shalloway
Seeing what matters using the right vision to manage transition - Alan ShallowaySeeing what matters using the right vision to manage transition - Alan Shalloway
Seeing what matters using the right vision to manage transition - Alan Shalloway
AGILEMinds
 
Solution Validation & Assessments - A practical Approach
Solution Validation & Assessments - A practical ApproachSolution Validation & Assessments - A practical Approach
Solution Validation & Assessments - A practical Approach
Julen Mohanty
 

Similar to 持续交付软件之路 - Continuous Delivery (20)

Unosquare SlideShare Presentation
Unosquare SlideShare PresentationUnosquare SlideShare Presentation
Unosquare SlideShare Presentation
 
Product QA - A test engineering perspective
Product QA - A test engineering perspectiveProduct QA - A test engineering perspective
Product QA - A test engineering perspective
 
Discovery delivery 中国软件技术大会2011
Discovery delivery 中国软件技术大会2011Discovery delivery 中国软件技术大会2011
Discovery delivery 中国软件技术大会2011
 
Ravit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in AgileRavit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in Agile
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
Agile at AT&T
Agile at AT&TAgile at AT&T
Agile at AT&T
 
Pulse Design & Delivery Panel
Pulse Design & Delivery PanelPulse Design & Delivery Panel
Pulse Design & Delivery Panel
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Project Management With Scrum
Project Management With ScrumProject Management With Scrum
Project Management With Scrum
 
V-Empower Technical Competence Workflow
V-Empower Technical Competence WorkflowV-Empower Technical Competence Workflow
V-Empower Technical Competence Workflow
 
Seeing what matters using the right vision to manage transition - Alan Shalloway
Seeing what matters using the right vision to manage transition - Alan ShallowaySeeing what matters using the right vision to manage transition - Alan Shalloway
Seeing what matters using the right vision to manage transition - Alan Shalloway
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview
 
Value Reference Model - Development
Value Reference Model - DevelopmentValue Reference Model - Development
Value Reference Model - Development
 
Blue Monitor Systems Software Development Services
Blue Monitor Systems Software Development ServicesBlue Monitor Systems Software Development Services
Blue Monitor Systems Software Development Services
 
Skyward Erp Presentation
Skyward Erp PresentationSkyward Erp Presentation
Skyward Erp Presentation
 
Process Guidelines V2
Process Guidelines V2Process Guidelines V2
Process Guidelines V2
 
LKNL12: Kanban for the whole value stream
LKNL12: Kanban for the whole value streamLKNL12: Kanban for the whole value stream
LKNL12: Kanban for the whole value stream
 
How to Introduce Continuous Delivery
How to Introduce Continuous DeliveryHow to Introduce Continuous Delivery
How to Introduce Continuous Delivery
 
Quality in Software Testing
Quality in Software TestingQuality in Software Testing
Quality in Software Testing
 
Solution Validation & Assessments - A practical Approach
Solution Validation & Assessments - A practical ApproachSolution Validation & Assessments - A practical Approach
Solution Validation & Assessments - A practical Approach
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

持续交付软件之路 - Continuous Delivery

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. A B
  • 25.
  • 26.
  • 27. "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operation Customer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"
  • 28. "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operation Customer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"
  • 29. "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operation Customer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"
  • 30. "Agile" team Analysis + Design Centralized QA IT Operations Development Integration + QA Release and operation Customer Testing + Showcase Iteration 0 1 2 3 4 The "last mile"
  • 31.
  • 32.
  • 33.
  • 34. Mary Poppendieck Tom Poppendieck
  • 35. Product Product Product Final testing opportunity planning and Development Release discovery and approval assessment estimation 2 3 days 1 week 10 days 7 weeks 1 week hours Value-added time Elapsed time 1 week 10 days 3 days 5 days 2 days
  • 36. Product Product Product Final testing opportunity planning and Development Release discovery and approval assessment estimation 2 3 days 1 week 10 days 7 weeks 1 week hours Value-added time Elapsed time 1 week 10 days 3 days 5 days 2 days
  • 37.
  • 38. Delivery team Version control Build & unit Automated User acceptance Release tests acceptance tests tests Check in Trigger Feedback Check in Trigger Feedback Trigger Feedback Check in Trigger Feedback Trigger Feedback Approval Feedback Approval
  • 39. Increasing confidence in build's production readiness Environments become more production-like User acceptance testing Commit stage Compile Acceptance Production Unit test test stage Analysis Build installers Performance testing Faster feedback
  • 40.
  • 41.
  • 42.
  • 43.
  • 44. Customer Delivery team Constant flow of new features into production
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 P1-5 B1 B2 Mainline B1 B2 P1-5 B1 B2 G1-6 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green G1-6 Professor Plum P1 P2 P3 P4 P4 P1 P2 P3 P4 P5 P1 P3 P4 P5 P2 B2 G3 G1 B1 G2 Mainline B1 B2 B1 B2 P4-5 G1 P1-2 G2 P3 G3 G4 G5 G6 G1 G2 G3 G4 G5 G6 Reverend Green G3 G4 G2
  • 50. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 B1 B2 Mainline B1 B2 B1 B2 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green
  • 51. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 P1-5 B1 B2 Mainline B1 B2 P1-5 B1 B2 G1-6 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green G1-6
  • 52. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 P1-5 B1 B2 Mainline B1 B2 P1-5 B1 B2 G1-6 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green G1-6
  • 53. Professor Plum P1-2 P3-4 P1 P2 P3 P4 P5 P1-5 B1 B2 Mainline B1 B2 P1-5 B1 B2 G1-6 G1 G2 G3 G4 G5 G6 G1-2 G3 Reverend Green G1-6
  • 54.
  • 55. Professor Plum P1 P2 P3 P4 P4 P1 P2 P3 P4 P5 P1 P3 P4 P5 P2 B2 G3 G1 B1 G2 Mainline B1 B2 B1 B2 P4-5 G1 P1-2 G2 P3 G3 G4 G5 G6 G1 G2 G3 G4 G5 G6 Reverend Green G3 G4 G2
  • 56. Config File some.jsp [featureToggles] wobblyFoobars: true <toggle name=wobblyFoobars> flightyForkHandles: false ... various UI elements </toggle> other.java forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ? new FlightyForkHander(aCandle) : new ForkHandler(aCandle)
  • 57.
  • 58. Framework Framework fluid 2.2.12 2.2.12 Pricing engine Pricing engine 1.0.3 2.2.13 1.0.3 static CDS pricing library 1.0.4 1.3.1 1.3.1 CDS pricing library 1.3.2
  • 59.
  • 60.
  • 61. 001_create_initial_tables.sql: CREATE TABLE customer ( id BIGINT GENERATED BY DEFAULT AS IDENTITY (START WITH 1) PRIMARY KEY, firstname VARCHAR(255), lastname VARCHAR(255) ); 002_add_customer_date_of_birth.sql ALTER TABLE customer ADD COLUMN dateofbirth DATETIME; --//@UNDO ALTER TABLE customer DROP COLUMN dateofbirth;
  • 64. DB Metadata Baseline Apply Database Deltas
  • 65. DB Metadata Baseline Apply Database Deltas Fail Fast
  • 66. DB Metadata Baseline Apply Apply Apply Apply Test! Database Deltas Deltas Deltas Deltas
  • 67. app v205 app v230 app v234 app v241 app v248 compatible with db compatible with db compatible with db compatible with db compatible with db v13 and v14 v14 v14 v14 and 15 v15 DB DB DB version version version 13 14 15 app v205 migrate app v230 app v234 app v234 migrate app v248 deployed db to v14 deployed deployed deployed db to v15 deployed Time
  • 68.
  • 69.
  • 70.
  • 71.
  • 72. v1.1 v1.1 v1.1
  • 73. v1.1 v1.1 v1.1
  • 74. v1.1 v1.1 v1.1 v1.2 v1.2 v1.2
  • 75. v1.1 v1.1 v1.1 v1.2 v1.2 v1.2
  • 76. v1.1 v1.1 v1.1 v1.2 v1.2 v1.2
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89. ?