31
High Performance Software Internationalization Webinar: 5 April 2017 Adam Asnes, Lori Cameron

High Performance Software Internationalization

Embed Size (px)

Citation preview

Page 1: High Performance Software Internationalization

High Performance Software

InternationalizationWebinar: 5 April 2017

Adam Asnes, Lori Cameron

Page 2: High Performance Software Internationalization

Agenda

• Basics

• Business Case

• Planning

• Analysis

• Implementation

• Continuous Globalization

• Q&A

Page 3: High Performance Software Internationalization

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.

Page 4: High Performance Software Internationalization

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

Page 5: High Performance Software Internationalization

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

Page 6: High Performance Software Internationalization

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

Page 7: High Performance Software Internationalization

Business Case

Tactical

• Made a sale

• Time driven

• Development concurrencies

Strategic

• Objective driven

• Plan driven

• Organizational concurrencies

Page 8: High Performance Software Internationalization

“When preparing for battle, I find that

plans are useless, but planning is

indispensible”

- Dwight D. Eisenhower

Page 9: High Performance Software Internationalization
Page 10: High Performance Software Internationalization

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

Page 11: High Performance Software Internationalization

New Internationalization Requirement Analysis

• Cost

• People

• Time

• Tradeoffs

• Scoping

• Requirements gathering

• Metrics

• Synthesizing results

• Phasing/Staging

• Implementation

• Providing ongoing support

Page 12: High Performance Software Internationalization

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

Page 13: High Performance Software Internationalization

Requirements

• It’s never just about the strings

• Product architecture

• User requirements and behavior

• What locale frameworks will be needed?

Page 14: High Performance Software Internationalization

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

Page 15: High Performance Software Internationalization

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

Page 16: High Performance Software Internationalization

Tasks and Stories

Page 17: High Performance Software Internationalization

Estimation and Cone of Uncertainty

Source:

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

Page 18: High Performance Software Internationalization

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

Page 19: High Performance Software Internationalization
Page 20: High Performance Software Internationalization
Page 21: High Performance Software Internationalization

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

Page 22: High Performance Software Internationalization

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

Page 23: High Performance Software Internationalization

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

Page 24: High Performance Software Internationalization

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

Page 25: High Performance Software Internationalization
Page 26: High Performance Software Internationalization

I18n is not a one time thing!

Page 27: High Performance Software Internationalization

Globalyzer and

Dashboard in the

Enterprise

Page 28: High Performance Software Internationalization

Lingoport Resource

Manager (LRM) in the

Enterprise

TMS/Localizat

ion Portal

Page 29: High Performance Software Internationalization

Continuous Localization Automation

Page 30: High Performance Software Internationalization

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

Page 31: High Performance Software Internationalization

Questions & Answers:

Contact Resources

lingoport.com/blog

lingoport.com/resources

wiki.lingoport.com

Adam Asnes

[email protected]

Lori Cameron

[email protected]

http://www.lingoport.com

Lingoport Suite

Extensive Services

Training – training.lingoport.com