Integrating software localization with agile development
Last week I discussed the buzz about Agile and what this means for software localization, and I had some interesting feedback. Now I want to expand on this with some use cases for integrating agile software development with software localization.
Mixing agile and waterfall workflows
You might use agile development but only hand over material to your localization resources when the feature set has stabilized. There will be some mid-localization drops to handle. This is a valid scenario with the main difference being that by using Agile, the time between code freeze and delivery is much shorter than in the more traditional software development workflows. This can be compensated by allocating more resources to the software localization project, or by accepting an earlier but functionally incomplete drop. It is all about when the code is stable and complete enough to involve the localization team. You need to consider the potential for increased management overhead and quality risks.
Loosely coupled agility
If sim-ship is required, it makes sense to start localizing your software earlier in the development life cycle. But even in this scenario it does not necessarily mean that the localization team needs to be embedded in the development workflow and to deliver against each and every sprint (a sprint is the period of time, usually 2 weeks, during which a defined set of development work has to be delivered). The localization team needs to be able to efficiently handle mid-localization updates on perhaps a monthly or bi-monthly basis. Localization based on binary files, the usage of localization tools to maximize the reuse of translations during mid-localization updates, and project management tools can all help to improve efficiency in this scenario.
Software localization embedded into the agile development process
Here we have software localization tightly integrated with the software development process. In its extreme, this means that the localization experts become part of the scrum team as one additional stakeholder to define and drive the development. Tools can help to minimize the friction between the different workflows for development and localization.
What benefits can you expect when you integrate localization more into the agile development workflow? I see three main benefits:
- Starting localization early in the development process can help to identify internationalization issues at an early stage. This benefit aligns very well to the goals of agile development.
- Getting linguists involved at an early stage can help to improve the quality and consistency of the source language as well as the target languages, and can also bring user experience benefits.
- If localization is a continuous process, less localization resources need to be allocated for a project and they can become product experts on the fly.
Agile software development does not force us to re-invent the proven workflows used in software localization, although adjustments in the processes and the proper use of technologies will help. It is more about new opportunities to get more involved, and earlier involved, in the software development process to bring in the expertise about languages and software internationalization.
As a summary let me re-write one of the principles of the Agile Manifesto to underline the value we can provide:
Business people, developers and localization experts must work together daily throughout the project.
If you want to learn more about how SDL's localization tools are supporting agile software localization processes, please join us at the Virtual SDL Passolo day on 22 September 2011. We are running this in English and German and we invite you to participate in the discussion!