Continuous Localization Modeling Continuous Localization Tarrence Egbert
Oracle Jul 15, 2014: Software is being adopted at unprecedented rates which is putting a strain on traditional software development processes. Test automation and Continuous Integration / Continuous Deployment (CI-CD) are part of the answer.
Introduction Test CI/CD Process Continuous Integration and Deployment are becoming mainstream Core Engineering teams are deploying code daily QA teams are becoming larger and more specialized The software industry is doing things faster and smarter Localization teams will need to keep up with this trend Commit & Build Test Deploy to Staging Acceptance Testing Deploy to Production Smoke Testing
Execute Quality Activities Earlier in SDLC Design Planning Development Testing Beta RTP Maintenance # of Defects Shift Quality Left Low Cost of Defects High Cost of Defects
The “Old” Way Packaged Software Release every year or so 2 months before release, send in all strings for translation 6 weeks before release, get strings and put them into product Send in extra strings for translation 4 weeks before release package final strings for the bundle SAAS Software Release once a month 3 weeks before release, send final strings for translation 2 weeks before release, package up strings, add outlyers 1 week before release, package final strings for release Release night, stay all night to make sure strings are working
The “New” Way “Packaged” and SAAS Software using CI/CD Quality Assurance Engineer writes test suite Engineer writes code and runs against test suite Engineer commits code and it is built and tested automatically If the tests pass, the code is deployed to the server This can happen several times a day
How do I integrate localization with CI/CD? The “Old” way Each day, harvest all strings from source code Once a week, send those strings to be translated 3 or 4 days later get translations from human translators Product team incorporates translated strings to their build This process takes 10 to 14 days NOT fast enough for CI/CD!!
How do I integrate localization with CI/CD? The “New” way ( fastest possible ) Engineer submits strings triggered by commit Machine Translation trained server replies with translations Software calls a web service API for most current translation Translations are available instantly and accurately MT translations reviewed by human and changed(2 days) Perfect for CI/CD!!
Architecture
Continuous Localization Demo