Upload
adam-asnes
View
104
Download
0
Embed Size (px)
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
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
Lori Cameron
http://www.lingoport.com
Lingoport Suite
Extensive Services
Training – training.lingoport.com