In the world of software development, localization used to be an afterthought. Product teams would focus on the design and development of the product, and only when the product was complete would they consider localization.
Software development doesn’t work that way anymore. Companies have gone from annual and biannual releases to weekly and even daily releases. This has raised the need for agile software localization and translation to keep up with the fast-paced world of software development.
In this guide, we’ll unpack the following topics:
- What agile localization is
- The benefits of agile localization
- The challenges that come with agile localization
- Some tips to help you through your localization journey
Let’s start by taking a look at what agile development is.
What is agile software development?
Agile software development is a set of software development methodologies based on iterative and cross-functional team collaboration approaches. It allows developers to produce high-quality code as well as ship products faster and more often.
Before agile, development teams used to follow the waterfall methodology. This means that all the software requirements are defined beforehand. Making any changes during the process was nearly impossible and very costly. Agile breaks this linear sequential approach. It splits the product agile development process into smaller parts or iterations. That way, the requirements change and evolve into a more flexible manner based on need.
Agile software development spans many different frameworks and methodologies of software development, including Lean software development, Kanban, and Scrum. The term “agile” was popularized by the Manifesto for Agile Software Development and follows four core values:
But where does localization fit in with agile software development? Through agile localization.
What is agile localization?
Agile localization is a set of practices to incorporate localization and translation into an agile product development cycle.
Translations aren’t just done once and delivered at the end of the development cycle. Instead, they are translated as the product is being developed. This means that once new iterations are released, translators or localization teams can simultaneously work on the localization of the changes happening in the product.
There are still developers who prefer the waterfall method over the agile method, as they believe. They believe it offers a more firm and fixed structure that provides a clearer idea of how the project is going to unfold. Let’s discuss the waterfall method first.
So what is the waterfall localization workflow?
Under the waterfall workflow, there were two main approaches that developers and localization teams followed.
1. Post-release
Post-release is a common software localization approach where, as the name suggests, the localization takes place after the release of the product. In this approach, the localization teams start working on translations only when the product has been delivered.
As you may guess, this approach causes considerable delay. There is a distinctive gap between the completion of the development of the product and the completion of the translation. The latter option causes a waste of resources and makes companies incapable of releasing their software.
2. String freeze
The string freeze approach combats the inefficiencies of the first approach. There is a “string freeze” period during the software development process. During that time, strings that need to be localized are locked and can’t be changed, modified or removed.
The string freeze duration can be anything from a few days to several weeks. It gives the localization teams time to work on translating the strings and then send them back to the developers in time for the software release. During the time of the freeze, developers can work on fixing bugs and defects, again without changing any of the strings.
This approach saves more time than the post-release approach, but it still causes developers to manually identify the modified strings in the code — a cumbersome process.
These roadblocks are why more and more companies eventually started adapting the agile localization workflow.
How is the agile localization workflow different?
Agile localization syncs the localization process with the development process so they both operate simultaneously. This is accomplished by incorporating a continuous localization platform into your workflow that automatically facilitates and handles the translation process.
The agile localization process then takes place as follows:
- Your developer pushes new code to the project codebase.
- The localization software automatically recognizes new or modified strings and pushes them to your localization team or translators to work on.
- Once they’re done and your translations are approved, the platform automatically sends the translations back to your developers. It also syncs them back into the project so that they’re ready for release.
What are the benefits of agile localization?
1. Efficiency
When agile localization is implemented correctly, the entire process becomes more efficient and effective with no resistance or bottlenecks. Any new updates to the code are recognized, and new or updated strings are automatically sent to translators. Your translators work on the strings and push it back into the code, without needing any prior knowledge of the development process of your product. This method allows your developers to be more focused on the development of the product instead of worrying about the translations, too.
Agile localization also helps conserve resources, whether time or money, as it closes the gap between the software development and localization processes.
2. Ease of use
One of the most significant advantages of continuous localization is its ease of use for software developers, project managers, and translators. Before agile localization, developers would send translators a batch of strings in different formats — .xml files for Android apps, .strings files for iOS apps, .csv files, etc.).
This forced translators to adopt multiple different technologies so they could work with all of these file formats. The use of a continuous localization platform has eliminated that hassle. It allows you to import all your favorite file formats to the platform or have it done automatically through the use of integrations like GitHub. Moreover, your translators can work on the strings straight through the platform’s online intuitive dashboard.
3. Adaptability
Whether you’re a big company that has its own translation team or an indie developer who hires independent translators, agile localization platforms like Lokalise easily adapt to your workflow and open a whole new world of translation possibilities. Localization platforms also offer the possibility of crowdsourcing translations. Some even give you access to certified translators, which allow you to leverage professionals and start working on your project immediately.
What challenges come with agile localization?
1. Short-term vision
As opposed to the traditional waterfall model which required teams to create a full plan with a set timeline, the agile approach is more flexible with shorter sprints. While this has its benefits, you also need to plan your sprints effectively.
If you don’t have a large enough localization team to handle short sprints, you can use a translation management system to order professional translations. You can have your product translated to all popular languages, in Lokalise, for as low as $0.07 per word.
2. Speed vs. quality
Working in a fast-paced agile workflow can cause you to focus on speed over quality. For example, using machine translation tools like DeepL and Google Translate can impact the quality of your translations. In some cases, however, this trade-off is acceptable, especially since these translations can be easily fixed with continuous localization as opposed to waterfall localization — where things have to be perfect by the time of the release.
Now, let’s take a look at some tips to help you overcome these agile localization challenges.
Tips and best practices for agile localization
1. Establish an internationalization (i18n) mindset
Agile localization does have one drawback — developers only focus on the code and pay no attention to internationalization, which is a crucial process needed for localization. That’s why it’s essential for developers to always work with an internationalization-centric mindset. They need to understand how important it is to always make sure to adapt the code and prepare it for localization.
2. Create clear translation guidelines
To combat translation inconsistencies, continuous localization platforms offer a glossary feature. This helps maintain consistent translations across projects by providing definitions.
Your glossary can contain things like names of products and services, brand-specific slogans, terminology, abbreviations, acronyms, and more. This ensures brand unity as well as quicker translation processes by providing clear guidelines to your translators.
3. Conduct localization and linguistic testing
It’s critical to perform localization as well as linguistic testing once your translations are done. Linguistic testing ensures all translations are complete and accurate without any grammatical or spelling mistakes. Localization testing ensures that the localized content abides by local customs and UI standards. These agile processes help you locate and fix any translation errors and code issues and have them ready for release.
You should also perform all testing on an audience from your target demographic. They can provide you with valuable insights that you wouldn’t know or have access to otherwise.
How to pick the right translation management system
You’ll find many localization tools and platforms on the market, but here’s what to keep in mind as you choose the best for you:
- Automation: Your localization platform should be able to automate tasks and blend flawlessly into your development workflow.
- Supported platforms: Your localization platform should support other platforms you may be working with and be able to store all platform keys in the same project.
- Collaboration tools: Your localization platform should allow you to invite team members and translators to work on the same project. They should also have the ability to assign different translation tasks.
How can Lokalise help?
Lokalise is the leading localization and translation tool for website applications, mobile applications, and other software tools. It integrates flawlessly with your existing development workflow through a plethora of one-click integrations, libraries, and plugins.
Lokalise offers all the essential localization features like an online editor, translation memory, translation history, the use of a glossary, and more. In addition, Lokalise has more advanced features like inline machine translations, automatic screenshot linking, iOS, and Android SDKs which allow you to preview the translations and app changes instantly.