Tech debt — a trade-off of short term gains from shipping quick software fixes in place of better, longer-term solutions — is a common and often unavoidable practice for development teams. Accumulating tech debt provides the ability to resolve problems affecting user experience and software performance quickly.
However, as with any debt, there can be unfavorable consequences. Time is borrowed. The promised repayment of a more in-depth technical discovery of the original issue is often sidelined as new priorities arise. New projects and problems pop up. A backlog grows of issues only temporarily resolved.
If neglected too long — problems trickle downstream, gaining momentum. Product, development, support, and marketing teams feel the impact of unresolved software issues. And at the bottom of this stream are content and localization teams, acquiring debt from the source.
This common scenario equates to localization debt, which happens when internationalization is overlooked or misunderstood in the software design process.
The cadence of development cycles has increased rapidly over the past decade. Organizations began moving away from a waterfall approach in favor of agile work methods, approaching projects in sprints. Productivity and development speed has increased dramatically.
At the same time, global expansion has become a priority for many enterprise businesses, requiring the formation of localization and translation teams. And translating has traditionally been a slow process. Without the aid of machine translation, translators and editors complete their work by hand, which requires a significant amount of lead time and coordination.
So when development increases exponentially, and the translation process remains mostly the same, the localization experience breaks. By the time localization teams have translated strings to accommodate a particular software experience, new releases have been deployed, and the translations may not work contextually.
One way companies can decrease the amount of localization debt accrued is by considering — and prioritizing — internationalization during the software design process. Writing code with internationalization considerations in the initial stages, as opposed to after-the-fact, sets localization teams up for success as they can work with a flexible user interface (UI).
Companies can generally follow a two-step process to internationalize software well.
1. Prioritize strings, and structure
Identify text strings that are critical to localizing your product effectively. Store them separate from your code, in a text format appropriate for your development platform. You don’t want translation strings interfering with your code.
2. Design your UI for localization
Many design elements are essential in optimizing desktop, web, or mobile app experiences for localization. These are a few to consider:
Involving localization leaders early in product planning, and continuing to consult their expertise during development cycles is critical to a successful international business strategy.
The further upstream your teams can plan, the better. An even-keeled production pace can result in a smoother go-to-market process, better products for end users, and less localization debt.