Incorporating l10n into the Software Development Lifecycle to create a global Expedia website...
-
Upload
kory-derrick-mccoy -
Category
Documents
-
view
212 -
download
0
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/1.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/2.jpg)
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 3: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/3.jpg)
Expedia, Inc
Corporate
Specialty & Private Label
InternationalNorth America
![Page 4: Incorporating l10n into the Software Development Lifecycle to create a global Expedia website Lindsay Cook, Localisation Program Manager, Expedia 9 June.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/4.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/5.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/6.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/7.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/8.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/9.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/10.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/11.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/12.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/13.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/14.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/15.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/16.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/17.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/18.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/19.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/20.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/21.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/22.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/23.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/24.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/25.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/26.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/27.jpg)
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.](https://reader035.fdocuments.in/reader035/viewer/2022070400/56649f145503460f94c285d6/html5/thumbnails/28.jpg)
Questions?
• I’m sure you have loads of questions…