Releasable TRANSLATED products
Hi everyone,
I'm working with a product (app) that is available in many countries around the world, and thus need to be translated to 18 different dialects/languages before it can be considered releasable. The translations are handled by an external translation agency. How can we create potentially releasable products every sprint with this huge external dependency? And if we can't, how can we plan the releases with an external process that we can neither inspect nor adapt?
Seems like a classic problem, but I didn't really find any good discussions focusing specifically on this topic. I appriciate any help I can get!
Thanks!
NIls, a few thoughts.
1. Can it be rolled out gradually over time for languages or are all languages released at once?
2. You can still be potentially releasable with your original language just not released. You can use that version to get feedback, share with stakeholders and some others to ensure that you are doing the right thing, maybe even before you are translating.
Is the external agency operating in the Scrum framework? If so, then work with them on an incremental plan for delivery. For example, one sprint could be having the login page translated to 4 languages. Next sprint translate the landing page to the same 4 languages. Each increment is potentially releasable but isn't something you would want to release.
If they aren't using Scrum, then you may not be able to sprint on the translated products. Why not sprint on the base language you provide incrementally delivering functionality. Someone from your organization will have to work with the translation agency to manage that portion separately.
I'm curious how you manage translation.
If you have your translations stored in separate files or resources, your development team can work with one (in their native language) and ensure that the application is able to consume the other translation files. You can effectively separate the design and development effort into something that is entirely independent of the translation effort. In each increment, you would have a set of things that need to be specified - if you've changed the base translation file, you can demonstrate and have a potentially releasable increment every iteration, but not release it until the revised translation files are supplied. If you haven't changed the base translation file, you have a potentially releasable increment that can be released since you don't need any new translations.
This approach effectively separates the product development from the translation. You can continue to improve the product and develop new features and someone else can manage the translation work as a different effort.
I'm working with a product (app) that is available in many countries around the world, and thus need to be translated to 18 different dialects/languages before it can be considered releasable.
Really? Does each user have to understand 18 different dialects and languages?
Can nothing be tested and validated about the app with users who only understand one language?