uninterrupted is the new black - design considerations and mechanics of continuous localisation

53
Copyright © 2017 Lefman Ltd. and/or its affiliates. All rights reserved. Gary Lefman Internationalisation Architect @CiscoL10N linkedin.com/in/lefman Uninterrupted is the New Black Design considerations and mechanics of continuous localisation 2017-03-01 Psycho Squirrel

Upload: gary-lefman

Post on 22-Jan-2018

93 views

Category:

Software


1 download

TRANSCRIPT

Copyright © 2017 Lefman Ltd. and/or its affiliates. All rights reserved.

Gary Lefman

Internationalisation Architect

@CiscoL10N

linkedin.com/in/lefman

Uninterrupted is the New BlackDesign considerations and mechanics of continuous localisation

2017-03-01

Psycho Squirrel

What you will learn

• Legacy

• Architecture

• Technology

ExcitementIn

tere

st

Time

Agile Software

Development

Agile Localisation

False Hope

2014

Agile Software

Development

Inte

rest

Time

Agile Localisation

Need forSpeed Continuous

Localisation

2016

Agile Software

Development

Inte

rest

Time

Continuous localisation

is a new fashion.

It is not a statement.

Seismic shift

in thinking

and technique.

Waterfall Scrum

Develop

Commit

Build

Scrum

Localise

Continuous

Integration

Continuous

Localisation

Continuous

Delivery

Continuous

Integration

Continuous

Localisation

Continuous

Delivery

Release Candidates

Continuous

Integration

Continuous

Localisation

Continuous

Delivery

Release Candidates

Adaptable Resources

Continuous

Integration

Continuous

Localisation

Continuous

Delivery

Release Candidates

Adaptable Resources

Localisation Testing

Continuous Integration

Test Automation

Integrated

Development

Environment

Source Control

Code Review

Continuous

Integration

Server

Build

Artefact

Repository

Reporting

Defect

Management

Continuous DeliveryContinuous Localisation

Translation

Agile Lifecycle

Management

Localisation

Continuous Integration

Test Automation

Integrated

Development

Environment

Source Control

Code Review

Continuous

Integration

Server

Build

Artefact

Repository

Reporting

Defect

Management

Continuous DeliveryContinuous Localisation

Translation

Agile Lifecycle

Management

Localisation

Continuous Integration

Test Automation

Integrated

Development

Environment

Source Control

Code Review

Continuous

Integration

Server

Build

Artefact

Repository

Reporting

Defect

Management

Continuous DeliveryContinuous Localisation

Translation

Agile Lifecycle

Management

Localisation

Git

Mercurial

ClearCase

Subversion

Source Control

Gerrit

Crucible

FishEye

Code Review

Continuous Integration

CODE

TASKS

NetBeans

Eclipse

Visual Studio

Android Studio

Integrated Dev

Environment

Jenkins

Bamboo

CruiseControl

TeamCity

Continuous

Integration Server

JCov

EMMA

Serenity

Clover

Co

de

Co

vera

ge

ActiveCollab

Rally

Agile Lifecycle

Management

The Grinder

LoadRunner

FitNesse

JMeter

Use

r A

ccep

tance

Klocwork

Jtest

Coverity

Globalyzer

Sta

tic

Analy

sis

Cucumber

Spock

Selenium

SOATestInte

gra

tio

n

Test

ing

Jasmine

Lime

NUnit

JUnit

Unit

Test

ing

Test

Auto

matio

nRESULTS

CO

DE

CO

DE

FEEDBACK

REQUIRE

-MENTS

FEEDBACK

RESULTS

Git

Mercurial

ClearCase

Subversion

Source Control

Gerrit

Crucible

FishEye

Code Review

Continuous Integration

CODE

TASKS

NetBeans

Eclipse

Visual Studio

Android Studio

Integrated Dev

Environment

Jenkins

Bamboo

CruiseControl

TeamCity

Continuous

Integration Server

JCov

EMMA

Serenity

Clover

Co

de

Co

vera

ge

ActiveCollab

Rally

Agile Lifecycle

Management

The Grinder

LoadRunner

FitNesse

JMeter

Use

r A

ccep

tance

Klocwork

Jtest

Coverity

Globalyzer

Sta

tic

Analy

sis

Cucumber

Spock

Selenium

SOATestInte

gra

tio

n

Test

ing

Jasmine

Lime

NUnit

JUnit

Unit

Test

ing

Test

Auto

matio

n

CO

DE

FEEDBACK

CO

DE

REQUIRE

-MENTS

FEEDBACK

Gerrit

Crucible

FishEye

Code Review

Continuous Integration

CODE

TASKS

FEEDBACK

NetBeans

Eclipse

Visual Studio

Android Studio

Integrated Dev

Environment

Jenkins

Bamboo

CruiseControl

TeamCity

Continuous

Integration Server

JCov

EMMA

Serenity

Clover

Co

de

Co

vera

ge

ActiveCollab

Rally

Agile Lifecycle

Management

The Grinder

LoadRunner

FitNesse

JMeter

Use

r A

ccep

tance

Klocwork

Jtest

Coverity

Globalyzer

Sta

tic

Analy

sis

Cucumber

Spock

Selenium

SOATestInte

gra

tio

n

Test

ing

Jasmine

Lime

NUnit

JUnit

Unit

Test

ing

Test

Auto

matio

nRESULTS

CO

DE

CO

DE

FEEDBACK

Git

Mercurial

ClearCase

Subversion

Source Control

REQUIRE

-MENTS

Continuous Integration

Test Automation

Integrated

Development

Environment

Source Control

Code Review

Continuous

Integration

Server

Build

Artefact

Repository

Reporting

Defect

Management

Continuous DeliveryContinuous Localisation

Translation

Agile Lifecycle

Management

Localisation

Continuous Integration

Test Automation

Integrated

Development

Environment

Source Control

Code Review

Continuous

Integration

Server

Build

Artefact

Repository

Reporting

Defect

Management

Continuous DeliveryContinuous Localisation

Translation

Agile Lifecycle

Management

Localisation

Continuous Integration

Test Automation

Integrated

Development

Environment

Source Control

Code Review

Continuous

Integration

Server

Build

Artefact

Repository

Reporting

Defect

Management

Continuous DeliveryContinuous Localisation

Translation

Agile Lifecycle

Management

Localisation

Git

Mercurial

ClearCase

Subversion

Source Control

Continuous Delivery

Jenkins

Bamboo

CruiseControl

TeamCity

Continuous

Integration Server

Pulp

NuGet

Archiva

Artifactory

Artefact

Repository

Gradle

Maven

Fastlane

ANT/Make

Build

Checkmarx

SonarQube

FindBugs

Reporting

Bugzilla

Jira

Mantis

Stryka

Defect

Management

RELEASE

CODE

DEP

EN

DEN

CIE

S

DEFECTS DEFECTS

PUBLISH

ESTA

BLI

SH

EXECUTE

Git

Mercurial

ClearCase

Subversion

Source Control

Continuous Delivery

Jenkins

Bamboo

CruiseControl

TeamCity

Continuous

Integration Server

Pulp

NuGet

Archiva

Artifactory

Artefact

Repository

Gradle

Maven

Fastlane

ANT/Make

Build

Checkmarx

SonarQube

FindBugs

Reporting

Bugzilla

Jira

Mantis

Stryka

Defect

Management

RELEASE

CODE

DEP

EN

DEN

CIE

S

DEFECTS DEFECTS

PUBLISH

ESTA

BLI

SH

EXECUTE

Reduce the distance

between development

and localisation.

Continuous Integration

Test Automation

Integrated

Development

Environment

Source Control

Code Review

Continuous

Integration

Server

Build

Artefact

Repository

Reporting

Defect

Management

Continuous DeliveryContinuous Localisation

Translation

Agile Lifecycle

Management

Localisation

Continuous Integration

Test Automation

Integrated

Development

Environment

Source Control

Code Review

Continuous

Integration

Server

Build

Artefact

Repository

Reporting

Defect

Management

Continuous DeliveryContinuous Localisation

Translation

Agile Lifecycle

Management

Localisation

Continuous Integration

Git

Mercurial

ClearCase

Subversion

Source Control

MateCat

Transplicity

Trados

Globalsight

Translation

Jenkins

Bamboo

CruiseControl

TeamCity

Continuous

Integration ServerLO

CA

LISE

Okapi

Framework

Passolo

Bespoke tools

Localisation

Continuous Localisation

INTEGRATE

CODETRANSLATE

MateCat

Translation

Python Tool

Localisation

Artifactory

Artefact Repository

Maven

Build

SonarQube

Reporting

Jira

Defect

Management

RELEASE

DEFECTS

Gerrit

Code Review

Eclipse

Integrated Dev

Environment

Rally

Agile Lifecycle

Management REQUIREMENTS

Globalyzer

Test Automation

Jenkins

Continuous

Integration Server

Git

Source Control

MateCat

Translation

Python Tool

Localisation

Artifactory

Artefact Repository

Maven

Build

SonarQube

Reporting

Jira

Defect

Management

RELEASE

DEFECTS

Gerrit

Code Review

Eclipse

Integrated Dev

Environment

Rally

Agile Lifecycle

Management REQUIREMENTS

Globalyzer

Test Automation

Jenkins

Continuous

Integration Server

Git

Source Control

MateCat

Translation

Python Tool

Localisation

Artifactory

Artefact Repository

Maven

Build

SonarQube

Reporting

Jira

Defect

Management

RELEASE

DEFECTS

Gerrit

Code Review

Eclipse

Integrated Dev

Environment

Rally

Agile Lifecycle

Management REQUIREMENTS

Jenkins

Continuous

Integration Server

Git

Source Control

Localisation

Validation Tools

Test Automation

A change of attitude.

traditional processes.

Throw away

A change of funding.

Project A

Project B

Project C

BUDGET SPEND

Budget Spend (¥)

Reserve

Pie chart portions are figurative.

Project A

Project B

Project C

BUDGET SPEND

Reserve

Pie chart portions are figurative.

Budget Spend (¥)

Continuous localisation

cannot be achieved

without automation.

Automation

Monitoring

and Reporting

Well-defined

Interfaces

Maintenance and

Enhancement

Tools and

Services

Interaction between tools

are the mechanics of

continuous localisation.

App BApp A

Microservice 1 Microservice 2 Microservice 3

“Cloud”The

Monolithic

Modular

Locale Data

BCP 47

Translation

A

A 文

A

A

Locale Builder

.EXE

“Cloud”The

App BApp A

CLDR

BCP 47

MateCat

A

A 文

Gradle

.APK

“Cloud”The

Google Translate

A

A 文

Pseudo-localisation

A

A 文

GitHub Jenkins

App A

A

A

“Cloud”The

App A

AWS API GatewayAWS Lambda

Azure

Functions

Azure

Service Fabric

Respond to

code events

Simplify

integrations

Why stop here?

“Cloud”The

App A

Microsoft FlowIFTTT

Zapier automate.io

CloudWork

“Cloud”The

App A

Microsoft TeamsSlack

Cisco Spark Basecamp

Asana

“Cloud”The

App A

Apple SiriAmazon Echo

Google Home Microsoft Cortana

Hardware

integration

Software

integration

Your takeaways

• Legacy

• Architecture

• Technology

Questions

Session Abstract (T1)

Throughout 2016, LocWorld conferenceattendees were talking feverishly aboutcontinuous localization as if it were anew fashionable term for thelocalization industry. However, whenasked how it was working out for them,the response was frequently along thelines of “we still have a long way to go”or the less encouraging “we haven’teven started yet.” The localizationindustry’s brief obsession with the agilesoftware development methodologyamounted to nothing significant, but itdid fuel the desire for faster localization.To make this possible, there needed tobe a seismic shift in the way software isdeveloped and released.

Continuous localization is the newblack. It is a fusion of softwareinternationalization and localizationprocesses with a continuous integrationand deployment environment. Thissession is for organizations that arethinking about continuous localization.We will look at the ingredients forblending localization processes with anew or existing continuous integrationenvironment. We will also examine thetools and interfaces that can be used toautomate continuous deployment oflocales.

By the end of the session you willrecognize the key elements needed todesign a continuous localizationframework, and you will understand themarvels of modern gadgets and gizmosthat make it much more than just anagile talking point.

Gary’s Timeline

University of Sunderland (BSc)

Guest Lecturer

20 0001020304050607080910111213141516171819

20 20

Network Engineer

Volunteer (software engineering)

Localization Training LLC (CTO)University of Limerick (MSc)

Lefman Ltd. (Chief Geek)Trinity College Dublin (PhD ~2019)

Permanent Technical Advisor

Localisation Engineer

ADAPT Centre (formerly CNGL)

Internationalisation Architect

Incorporated Engineer

Chartered Engineer

Unicode Consortium CLDR-TC and W3C

British Computer Society Fellow

Royal Institution Fellow

Worldware Conference Committee