You are on page 1of 5

Case Studies

Optimizing
software localization
Frank Lin & Boris Gurevich

E
Every company seems to want the utmost In order to be able to react quickly to international market
when it comes to developing and releasing a needs, the management challenged the localization team to come
product. However, the constraints of the project up with a proposal to enhance the current localization projects
management (PM) triangle — speed (time), cost with five goals: vastly improved time-to-market; flexibility to
release multiple languages concurrently; uncompromised product
(resource) and scope (quality) — tell us that one quality; execution under budget; and predictability of schedule.
constraint cannot be changed without affect- What stood in the way? And why did it take so long to bring a
ing the other two. It would take some creative localized version of the product to the market? The initial think-
ing was that the software code was probably not “tight enough”
analyses, initiatives, planning and execution to and translation could “break the code.” Consequently, it would
enhance a process for the lofty goal of “faster, take longer to test and thus the slow speed-to-market. This might
cheaper and better.” make a good argument, but the longer testing time took weeks
or a couple of months, not years, so there were clearly other
Besides addressing the three constraints of PM, however, targeted contributing factors. It was then pointed out that the translation
enhancements of the product itself are essential to a project’s suc- correction cycle could be long — also a valid point. Like regular
cess. This particular product is an automated medication dispensing software defects, the earlier the problems are spotted, the less
system that has been introduced to the market for more than two expensive it is to fix them. More than often, translation issues
decades and is used in the majority of US hospitals. After a long arise during rather than before testing. This could be because of
stint of domestic success, the product was finally localized into a a number of reasons: the large amount of translation, the short
number of languages a few years ago. The localization process was amount of time, quality of source text and quality of instruction
lengthy. This effort was followed by several updates, triggered by given to translators.
functional enhancements to the domestic product. In each itera- A less obvious factor was simply the timing and structur-
tion, for one reason or another, the time-to-market was less than ing of localization projects. Localization projects were often
ideal. In some cases it would take much longer than a year after the chartered and started after domestic release, sometimes almost
product’s domestic release to get all the languages released. seeming like an afterthought. Slow speed-to-market could not
be solved with software and translation improvement
alone. The team brainstormed on the subject of getting
Frank Lin (left) is a software engineering man- to desired state of the projects and identified four gaps:
ager at CareFusion, where he leads international software, PM, testing and translation management.
and domestic software development teams. Software: In the context of this article, localizability
Boris Gurevich is the principal software quality is defined as stability of the software after translation.
engineer at CareFusion with over ten years’ It is more concerned with not losing functionality after
software localization projects experience. localization work is done than with user interface (UI)

24 | MultiLingual July/August 2010 editor@multilingual.com

24-27 Lin #113.indd 24 6/29/10 8:52:42 AM


Case Studies
and translation. It is believed that transla- quality aspect of the PM triangle should Internationalized “legacy code” can
tion can break the code, even for a well- anchor the optimization process. At the exhibit unstable behavior after translation.
internationalized code base. The product’s center of the quality question is the soft- The root cause can fall into a small num-
software is complex. The source code is ware. Hypothetically, if the initial software ber of categories, which are called localiz-
large and consists of many flavors of quality is high, then it should require less ability anti-patterns. These anti-patterns
technology from years of development. testing time and have higher schedule can include over-translation, buffer over-
Although the software went through predictability, and by extension it may run, keyword assumptions, concatenation,
an elaborate round of internationaliza- require fewer testing resources. character search misalignment, swapped
tion, the “legacy” nature of the code and There are two sides of international positional parameters, translator error and
sometimes architecture could impose for- software quality: localization and func- so forth.
midable constraints to the software local- tional. Despite its many associations One may ask why most of these prob-
ization effort. Concerns for software’s and complexity, localization essentially lems were not addressed during interna-
localizability mean more quality assur- concerns three things: language (trans- tionalization. The fact is that many issues
ance (QA) time and resources needed to lation and UI), local convention (sorting, can be missed during internationalization
be scheduled, which would impact three date formats) and culture (such as color (think of retrofitting more than one mil-
of our objectives: speed-to-market, budget symbolism). Much of the explicit testing lion lines of code for internationalization),
and predictability. effort is geared towards this. but remain unexposed for many language
Project management: PM and plan- The functional aspect may not be as translation projects. Sooner or later, prob-
ning were identified as significant oppor- obvious to some. It is often assumed that lems get exposed in the “next” language.
tunities for optimization. As pointed out an internationalized software code base, A simple example is a bad practice
earlier, delay in chartering a localiza- after being validated for functionality, of using unsafe arrays for strings that
tion project was a major culprit in slow should not need much functional valida- can fall into the “buffer overrun” anti-
time-to-market. tion after it gets localized to a language, pattern. In most Western European lan-
Testing: Multiple, concurrent releases especially in an update situation. For guages, Chinese and Japanese, the word
are difficult because of resource con- more content-based applications this yes is three characters or less in length.
straints, both for developers and QA. Plus, may be the case. For noncontent-based A bad code that uses unsafe array then
concerns for software’s localizability means systems, it may be dangerous to assume allocates three spaces for the text. This
QA often needs to schedule full regression that “translation cannot break the code.” is not a problem after more than ten
testing for relatively small changes to the Changes in the following five areas help languages, until the Turkish translation,
code, thus impacting the “speed” objec- optimize localization projects. where yes is four characters long. In this
tive. If additional temporary resources are Improved software localizability: This case the software crashes.
not the answer (contractors require too is different from internationalization, To increase the software’s localiz-
much ramp-up time, especially for QA), which is aimed at making localization ability is to minimize the presence of
what can be done to resolve these issues easier. Improving software localizability localizability anti-patterns. To this end,
in testing? is a subset of internationalization and, at three new initiatives were recommended:
Translation management: Even in soft- the same time, a subset of localization. pseudo-localization testing, automated
ware translation update situations, transla- The objective is to make the software localizability anti-patterns detection and
tion management can greatly influence stable after translation. Other elements of internationalization-based code review.
a project’s schedule. Translation errors localization such as UI defects are not a A good amount of information on the
discovered and corrections made during concern of localizability. Yes, translation theory and practice of pseudo-localization
testing can be a time sink. Even more can break the software, and this is espe- testing is available online, so no elabora-
influential is the management of in-coun- cially the case with legacy software. tion is necessary here. The code base is
try linguistic review. Scheduling dedicated
reviewers to complete reviews in a short
timeframe is always a challenge. Inadequate
translation management can negatively
impact all the project objectives.

Strategies
It is often tempting to simply increase
resources (cost) in the PM triangle and
hope it will address the time and qual-
ity requirements. It can be argued that
in some situations, such as the projects
described here, more resources would not
be the solution, as some of the fundamen-
tal challenges are not resource-related.
To bridge the gaps, the team took an
integrated approach to optimize localization
projects. It operated on the belief that the

www.multilingual.com July/August 2010 MultiLingual | 25

24-27 Lin #113.indd 25 6/29/10 8:52:42 AM


Case Studies
localized using pseudo-translation, and Localization development work can
the compiled software is tested. Pseudo- Level 1 be stratified so that the higher the layer,
translation is designed to test boundary the more domain knowledge and tech-
conditions of the software’s handling of nical skills are required. The third layer
text and to achieve the goal of exposing Level 2 work is designed to require very little
localizability anti-patterns. training — UI adjustments, searching for
Secondly, a set of previously developed text, unit testing and so on. From past
tools was used to examine the code and experience, an engineer can be brought
Level 3
translation to spot any possible traces up to speed for third-layer work in about
of anti-patterns. The detection of some a week.
anti-patterns, such as swapped positional With this structure, it is possible to
parameters, translator error and keyword scale up both the number of projects and
assumption, is rather easy and very personnel. For example, an analysis shows
efficient with automation. Other anti- Figure 1: Localization staffing that the team can handle eight languages
patterns such as buffer overrun and char- structure for software development team. concurrently by hiring five contractors in
acter search misalignment are not easy to addition to the core development team,
automate. This leads to the third initiative: it looked wrong. He knew that in English with very little ramp-up time.
internationalization-based code review. this button should show taking, and the For QA, the recommended staffing
The objective is to review new code added Turkish equivalent looked almost correct structure is different from development.
since the last round of localization, fol- but abridged, so he wrote up a bug report. The workflow-intensive nature of the
lowing best practices and with an eye on It was the wrong call. Al is the imperative software dictates that the model of strati-
localizability anti-patterns. form of alım, and the translation was cor- fied responsibilities would not be useful
Software testing: Several initiatives rect. A false positive like this can cost up for testing. For example, while in devel-
were recommended for testing. QA took on to a few days of investigation. opment, an engineer can be assigned to
the additional task of performing pseudo- Staffing structure: To be able to handle work on UI truncation, but this is not the
localization testing. In order to expedite multiple languages concurrently, there case for testing. The tester would need
the process, more elaborate test automa- would be a higher workload. An organi- access to every screen in the software
tion was commissioned. zation handling an increased workload and would require good overall product
The third initiative is sustaining QA might 1) hire more employees, 2) hire knowledge to navigate. Hence, hiring
data analysis. Over time the QA team contractors or 3) outsource the work. Each temporary workers to work in a stratified
performed extensive analysis of historic approach has its pros and cons. Option 1 is testing environment would require sig-
data kept in the defect tracking data- problematic because there may not be this nificant ramp-up time. In contrast, it is
bases. This analysis led to a better under- high amount of work all the time. Option more efficient for a QA engineer to spe-
standing of the relative “contribution” of 2 loses knowledge continuity. Option 3 cialize in a number of functional groups
translation, UI and functional defects to could introduce more inefficiency and and maintain a lesser level of overall
the total number of defects associated up-front cost and requires a high level of product knowledge. Thus, it was recom-
with a particular project. Every subgroup strategic commitment (read: takes longer mended that domestic and international
of defects was scrutinized further to and more people to decide). testing teams would share one resource
identify root causes. Special interest was The approach taken is a proposed new pool, with the intent to rotate people
attributed to isolate and understand the staffing structure for both QA and devel- in and out of the localization projects.
“international only” functional issues. opers. For the development staff, engi- In this way, everyone is trained to test
QA test plans and actual efforts would be neers are organized into three layers of localization.
concentrating on areas that are statisti- responsibilities (Figure 1). At Level 1 is the Project management: Two changes
cally known as producing most severe or technical lead, who leads the engineering were recommended for PM and plan-
multiple defects. team, oversees all technical operations, ning. The first was to start localization
The fourth initiative was a more effec- and also works on development. Level 2 projects before the domestic project
tive dissemination of localization testing usually consists of two to four engineers is completed. This simple and often
knowledge through training. QA analysis who are familiar with the source code and overlooked decision is probably one of
described previously would be made more have a certain level of localization expe- the biggest factors in improving time-
accessible. Localization testing trainings rience and skills. At the very minimum, to-market. The second is the pipelining
would be planned to cover UI and some they can troubleshoot and fix most of the of localization projects so that resources
translation issues, with an emphasis on software defects in the localization pro- working on translation, development
basic linguistic rules and morphology, so ject. This forms the core of the localiza- and testing work similar to the assem-
false positives can be minimized. tion development team. bly line process. This minimizes down
To illustrate, in Turkish the term for Level 3 consists of zero to a number time for each team, and no resource
taking is alım, which is a term that appears of localization engineers. They may spikes are necessary. The downside for
throughout the product. A tester who does be contractors or “floaters” within the this approach is that it requires a high
not speak Turkish recognized this term organization with some localization level of coordination, and one missed
from experience. When he saw a button background who are allocated according deadline can have a ripple effect on
on the screen with the word Al, he thought to project need. all subsequent projects. Figure 2 shows

26 | MultiLingual July/August 2010 editor@multilingual.com

24-27 Lin #113.indd 26 6/29/10 8:52:43 AM


Case Studies
On the other hand, highly touted
pseudo-localization testing shows mixed
Translation Localization QA results. It does reveal many localizability
Translation Localization QA issues that would not have been exposed
Sequential localization projects otherwise. In fact, it reveals a bit too
many. As it turns out, software engineers
have over-relied on resource files as a
Translation Localization QA
repository of text, whether translatable
Translation Localization QA resources or not. When there is a large
amount of untranslatable text — file
Translation Localization QA name, system resource name, special key-
words, registry path, just to name a few
Concurrent localization projects — in resource files, pseudo-localization
gives out too many false positives for the
Translation Localization QA testing to be effective. Improved organi-
zation of translatable and untranslatable
Translation Localization QA
strings in resource files, along with
Translation Localization QA more intelligent generation of pseudo-
translation, will be crucial. In addi-
Pipelined localization projects tion, to run pseudo-localization testing
effectively, one must have a robust set
of test automation because the testing is
Figure 2: Three project scenarios when dealing with multiple languages. meant to run frequently, preferably when
any new improvements are made to the
three project scenarios when dealing translation improvement would be done domestic source code.
with multiple languages. through a customer feedback loop. In terms of process, a big contributor
Translation management: In order to in predictability of schedule is the deci-
achieve predictability of schedule, after Results sion to change how in-country linguistic
weighing benefit and cost it was decided The optimization effort has been an reviews are managed. The emphasis is
to eliminate in-country review during the ongoing process. The first set of projects on terminology translation, not software
testing cycle. Linguistic review would still rolled out in two languages, hitting at translation. Once terminology is solidi-
be done for glossaries. Strengthening the least three of the original goals: predict- fied, the combination of partnership with
translation QA partnership with the local- able schedule, uncompromised quality LSP and targeted translation consistency
ization service provider (LSP) and an active and budgeting. Ability to do more than checking bring a good balance of speed,
compilation of translation issues reported two languages concurrently has not yet certainty, and quality.
after product release were identified as an been demonstrated, though it is realistic, Overall, the ongoing optimization ef-
effective and more expedient alternative. as staffing structure has been developed to fort has challenged us as it brings to light
In addition, the role of translation handle six languages concurrently. the symbiotic nature of domestic and
testing was discussed. Who should do it, Our biggest goal, improved speed-to- international software development. It
and how thoroughly should it be done? market, was realized. The total calendar also shows that with targeted enhance-
QA staff lacks the linguistic skills to test time to release a language was reduced ments to the product and the process, a
translation, but often it can catch obvious by 40%. When coupled with a closely project can be delivered faster, cheaper
translation errors, such as inconsistency coordinated domestic development cycle and better. M
and missing translation. However, even in the future, this would make near-
for translation inconsistency, so-called simultaneous shipment of international
translation testing is often done on an versions quite realistic. Of the new ini-
opportunistic basis, without a systematic tiatives undertaken for this optimization
approach. As such, is there still value effort, many work well. Some have mixed
in performing any translation testing results, and others do not quite work.
by QA? Outsourcing translation testing Enhanced localizability gives QA and www.star-group.net
GRIPS

is possible, but it would definitely add PM more confidence in reducing testing


time and cost to the project with benefits effort, thus lowering the overall cost and
arguably not proportional to the effort. It improving quality. Automation in localiz-
is decided that any in-house translation ability testing shows great promise. A
testing will be very targeted, usually on number of potential severe localizability
glossary terms. The emphasis is on con- defects were caught. This automation is Conquer the challenges
sistency, with automated tools to help especially effective with translator error of global markets
with this effort. LSP partnership would and swapped positional parameters (in with information
provide translation quality checking prior this case format specifiers in translated management
to delivery of translation. Continuing strings) anti-patterns.

www.multilingual.com July/August 2010 MultiLingual | 27

24-27 Lin #113.indd 27 6/29/10 8:52:43 AM


Copyright of MultiLingual is the property of MultiLingual Computing, Inc. and its content may not be copied or
emailed to multiple sites or posted to a listserv without the copyright holder's express written permission.
However, users may print, download, or email articles for individual use.

You might also like