Incorporating l10n into the Software Development Lifecycle to create a global Expedia website...

28
Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June 2009

Transcript of Incorporating l10n into the Software Development Lifecycle to create a global Expedia website...

Page 1: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Incorporating l10n into the Software Development Lifecycle

to create a global Expedia website

Lindsay Cook, Localisation Program Manager, Expedia

9 June 2009

Page 2: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Today’s presentation

• Show how Expedia incorporates l10n into the software development lifecycle in order to simultaneously ship enhancements globally

• Context:– Who we are– How we are organised– How we work

• Where localisation fits in• How we are able to simship enhancements globally• Challenges, pros and cons

Page 4: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Context

• Expedia is part of Expedia, Inc– 18 sites globally:• Europe:

– .co.uk, .fr, it, .de, .nl, .es, .be, .ie, .dk, .se, .no, .at• APAC:

– .com.au, .co.nz, .co.in, .co.jp• North America:

– .com, .ca

– Each site can be configured differently and features can be switched on and off• e.g. display of taxes and fees

Page 5: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Context

• Expedia technology team:– Large in house development team based in Seattle and

London– Increasing use of external partners based in Hungary and

China– Development team made up of Program Managers,

Developers, Testers, Release and IT support– Organised into global groups with close business

partnership– Largely split by front end v back end

Page 6: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Context

• Technology:– Multiple platforms/technologies

• C++, Java, .NET, SQL Databases

• Live site releases:– 4 planned major releases per year– 6-8 planned minor releases per year– Multiple ad hoc deployments– Simship features to all sites

• Development methodologies:– Mix of waterfall and agile

Page 7: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Expedia User Interface Localisation• Localisation Program Managers within development

team– Expedia localisation experts– Consult, advise, support– Deep understanding of product, technology, release

process as well as localisation– Liaise with central localisation team

• Central localisation team in a separate organisation– Not part of the technology team– Localisation partner communication and management– Linguistic Quality

• Multiple external localisation partners

Page 8: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

SDLC

Requirements Specificationand designs

Development and test

Pre-release signoffs

• Localisation takes place throughout project development

Page 9: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Requirements

• Requirements are global• Identified and communicated early in the

process– This means anything new/large/problematic is

highlighted very early• Change management process in place for

requirement changes later on in the process• Requirements form the basis for all

subsequent phases

Page 10: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Specifications and Designs

• Specifications– Specifications written by Program Managers and reviewed

by all stakeholders• Localisation is treated as a stakeholder

– Opportunity to feedback potential “localisation issues”• Implementation of a feature can be changed if not suitable for

localisation

• Designs– User Interface designs provided by Customer Experience– Opportunity to feedback potential “localisation issues”

• Design can be changed if not global

Page 11: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Development

• Developers expected to write global, internationalised and localisable code– I18n and l10n guidelines to be followed– Source files picked up and localised multiple times

during development– If code is not “localisation friendly” it is not too

late to fix it as development is not yet complete– Linguistic QA can take place during development

and testing…

Page 12: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Test

• Localisation testing is incorporated into functional testing– Extensive use of pseudo-localisation before

localisation takes place– Localised files available throughout testing phase– Test cases carried out across all sites– Risk based testing used to prioritise test cases– Internationalisation and localisation defects

identified and resolved while there is still time to fix them

Page 13: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Pre-release signoffs/milestones

• Localisation specific milestones that need to be signed off before going live– At “Zero Defects” there should be no outstanding

localisation defects– “Test complete” includes completion of testing on

localised sites and linguistic QA

Page 14: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Case study

• Hotel travel guides– “Fast Twitch” pages designed to be attractive to

Google, enhanced for Search Engine Optimisation (SEO)

– 17 sites (not Japanese)• Japanese site is relatively new so not in scope at time of

this project

– Regular releases and updates– Simship all enhancements

Page 15: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Case Study – Requirements

• 17 sites must be supported• Pages must be localised• Page URLs must be localised• SEO specific text/terminology will be provided

by SEO experts and must be easily changeable– Actual text provided by business owner in all

languages• E.g. meta descriptions, SEO keywords

Page 16: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Case Study – Specifications

• Highlight all text on page that needs to be localised, e.g.The following string(s) require localization:

<POS> > <product> > <product> Destinations in <selected region>

• Show how variables interact with localisable strings• Show where SEO specific text will be shown and

therefore not “localised”• Very helpful reference material for the translators

Page 17: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Case Study – Designs

• Designs take text expansion into account– Show wrapping, long

strings etc

• Multiple iterations offers opportunity for changes

• Remove all “.com” specific messaging

Page 18: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Case Study – Development• Regular pseudo-localisation from the start of development• Examples of i18n defects reported (by dev, test, PM,

translators) during development:– Untagged and duplicate messages– Place names not being returned in local language

• Villes près de London– Word order issues due to variables

• 4 etoiles Hôtels à Londres

• Fixes:– Tagging untagged messages– Ensuring local place names returned– Improved tagging of messages with large numbers of variables to

improve translatability

Page 19: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Case Study – Test

• Test plan specifically calls out localisation testing:Localisation TestingLocalisation testing will be performed as part of the feature functional testing.

Localisation testing will likely attempt to mitigate the risks of:

Layout issues caused by the translation process The potential for unexpected English text appearing on

localised POS The potential for the localisation process to introduce

functional errors to the sites The potential for NLS for a specific POS being incorrectly

configured on our sites target language

Layout issues caused by the translation process

• Automated test cases check against live site to spot unexpected changes to localised messages

Page 20: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Case Study – Test

• Test coverage carried out and reported across all sites

Page 21: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Case Study – localisation

• Project spec delivered as reference material• Weekly handoffs to localisation partner over 2

months• 2 linguistic QA cycles• Localisation complete one week before

development/test complete• Any defects with localisation impact triaged and

reviewed near the end of the project• No major localisation defects outstanding at release

Page 22: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

The end product

Page 23: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Why this approach works

• Localisation is part of development– Localisation deeply embedded into development• Processes• People

– Localisation not seen as a separate task that is carried out when development is complete

• Localisation requirements identified up front– Ability to plan and influence

Page 24: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Why this approach works

• Localisation happens early and often– Defects and issues are found early and fixed

• The right localisation partner– Key attributes are:• Flexibility, can-do attitude• Happy to work in an environment where files are rarely

final• Well developed engineering practices• Automated processes to aid turnaround time

Page 25: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Challenges

• Complexity– Technology, platforms, releases are all complex– Finding where a message comes from in order to fix it

takes time and knowledge– Hard for translators to understand the bigger Expedia

picture• Geographic distribution– Time differences...West Coast US, China, Hungary, UK

• Challenging release schedules– Difficult to fit everything in and maintain quality

expectations (both functional and linguistic)

Page 26: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Challenges

• In house and external partners– Difficult to ensure education and good practices

are shared throughout the organisation– High turnover means regular localisation

education needed

• Localisation PMs not all from localisation background– They need to be trained up from scratch

Page 27: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Summary

• Having localisation as part of development works

• The Expedia software development lifecycle is very challenging but we are still able to simship enhancements to 18 Expedia sites on a regular basis

Page 28: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.

Questions?

• I’m sure you have loads of questions…