High Performance Software Internationalization

Preview:

Citation preview

High Performance Software

InternationalizationWebinar: 5 April 2017

Adam Asnes, Lori Cameron

Agenda

• Basics

• Business Case

• Planning

• Analysis

• Implementation

• Continuous Globalization

• Q&A

Internationalization

Abbreviated as i18n

Internationalization is the process of planning and implementing products and

services so that they can easily be adapted to specific local languages and

cultures, a process called localization.

Internationalization (i18n) Technical Debt

Internationalization technical debt will directly limit your ability to localize and

maintain software so that it meets the needs of global customers and users.

I18n implementation includes:

• Locale frameworks to support locale requirements behavior

• Internationalization refactoring: embedded strings, concatenations, locale-

unsafe methods, programming patterns, static files

• Continuous systems to support concurrent and ongoing i18n and L10n

Services and Products

• Internationalization Services

• Assessment

• Implementation

• Consulting

• Lingoport Product Suite: i18n Productivity and Continuous Globalization

• Globalyzer - static analysis and refactoring for i18n issues

• Resource Manager - Change management for localization in source code

• Dashboard - Visualize and manage issues in source and among teams

I18n Business Impact

• A requirement, not a feature

• Business driven

• Nobody does it cause it’s cool

• Retrofitting Legacy code will be expensive

• Requires management backing and leadership

Business Case

Tactical

• Made a sale

• Time driven

• Development concurrencies

Strategic

• Objective driven

• Plan driven

• Organizational concurrencies

“When preparing for battle, I find that

plans are useless, but planning is

indispensible”

- Dwight D. Eisenhower

It’s All About Priorities, Understanding, Processes

Never internationalized

• Easy to underestimate

• Balancing concurrent feature planning

• Expertise often limited

Prior i18n and L10n

• Looking for efficiencies

• Long-standing i18n issues

• Test-driven feedback loop limitations

• Human driven processes for

localization

• Slows down velocity

• Not equally understood

New Internationalization Requirement Analysis

• Cost

• People

• Time

• Tradeoffs

• Scoping

• Requirements gathering

• Metrics

• Synthesizing results

• Phasing/Staging

• Implementation

• Providing ongoing support

Planning Goals

Create a clear and actionable path for business case and implementation

1. Develop initial i18n requirements for locale framework planning

2. Identify and measure issues in source code for refactoring

3. Estimate costs, resources, and time, including implementation phasing with

concurrent development goals

Requirements

• It’s never just about the strings

• Product architecture

• User requirements and behavior

• What locale frameworks will be needed?

Example i18n Issues

• Embedded strings

• Concatenations

• Date/time formatting

• Address formating

• Numerical formatting

• Character set support

• Fonts

• Locale limiting workflows/logic

• Postal address formatting

• Phone number formatting

• Interface sizing and layout

• Bi-directional language support

• Currencies

• Sorting

Planning: Assessment Process Overview

• Requirements discussions

• Static analysis for i18n issues using Lingoport’s Globalyzer

• Synthesis and planning of results

• Presentation of findings

• Findings document

• Estimates

• Active Dashboard of findings

Tasks and Stories

Estimation and Cone of Uncertainty

Source:

http://www.noblis-nsp.com/

Issue Density and i18n

Frameworks

• Collect metrics on i18n issues

• Historic estimates on refactoring by issue

• Add up necessary Frameworks and historic

work ranges

• Plan on Phases and Tiers

• Pad based on learned complexity

• Learn and adjust as you go

Phasing Summary

• Break the software down in tiers

• Are there critical parts of the software that should be delivered first?

• What are their technical dependencies?

• Overall requirements, but design as each tier/phase as you go

• Learn from past efforts when possible

• e.g. test cases, process, application specific dependencies

• There will be setback and accelerations

I18n and your agile planning

Chances are good that:

I18n won’t match your concurrent sprint and

release schedules

Remember: i18n has a broader application

footprint than a feature

You’ll need a branch and merge strategy

Static Analysis vs. Traditional Test-Centric Iterations

Static Analysis

• Find issues in the source code

• Rules and controls for filtering false positives

• Burn down issues by Tier

• Visibility across teams

• Clear progress measures

• Automate pseudo-localization for testing

Traditional Process

• Manual or script base search for strings

• Sea of false positives

• Test, find, remove, test again, find more

• Keep doing it till you think you’ve found most

of the issues

• You haven’t found them all

• I18n bugs live forever and ever!

• It takes way longer than anyone imagined

Concurrent Development

Static analysis and Localization file

automation

• Make it easy for teams to catch issues

continuously, as they write and commit code

• Make it visible

• Plan for people not understanding and doing

it wrong

• Make file management for localization

automatic

I18n is not a one time thing!

Globalyzer and

Dashboard in the

Enterprise

Lingoport Resource

Manager (LRM) in the

Enterprise

TMS/Localizat

ion Portal

Continuous Localization Automation

I18n Services and Product Suite

• Lingoport managed services teams

• Extensive planning and implementation

• Integrated with client development teams

• Keeps you focused and timely, it works

• Lingoport Suite for i18n productivity

• Legacy i18n efforts, measured and accelerated

• Concurrent development always globalized

• Continuous i18n developer and QA support

• Continuous L10n pipeline

Questions & Answers:

Contact Resources

lingoport.com/blog

lingoport.com/resources

wiki.lingoport.com

Adam Asnes

aasnes@lingoport.com

Lori Cameron

lcameron@lingoport.com

http://www.lingoport.com

Lingoport Suite

Extensive Services

Training – training.lingoport.com

Recommended