Agile Localization Fundamentals: An Integrative Approach

316 views
290 views

Published on

Training materials for the workshop Agile Localization Fundamentals: An Integrative Approach @ Localization World London 2013. All rights reserved

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
316
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Agile Localization Fundamentals: An Integrative Approach

  1. 1. AGILELOCALIZATIONFUNDAMENTALSLOCALIZATION WORLD CONFERENCE - LONDONJUNE 12, 2013Alberto José Viralhadas Ferreira.alberto.viralhadas@gmail.com
  2. 2. WHAT IS AGILE?AN OPEN METHODOLOGY, AN ENABLER OF SELF-GOVERNANCE OR A FACILITATOR OF CONTROLLED CHAOS?Agile: “the quality of beingAgile; readiness for motion;nimbleness, activity, dexteri-ty in motion”.Evolving from Lean manufac-turing first, Agile has been atrend in the software deve-lopment industry for the pastdecade. Its promises of in-creased delivery results hasbeen an appealing factor formany companies who havedecided to implement a reac-tive mindset for sustainableuser-focused projects.The Agile manifesto (Agile-manifesto.org) inauguratedover a decade ago the needto focus on the basics of sof-tware development with ahuman slant. The four prin-ciples came like a wave overthe traditional way that sof-tware was developed in the21st century.As a incremental and itera-tive development, it is alsomultifaceted. The founderof the Agile Alliance, Jim Hi-ghsmith, creator of the Adap-tive Software Developmentmethod, has defined the Agilehallmarks as follows:1.The ability to deliver so-mething useful and of valueto the client.2. Committed stakeholders.3. Leadership-collaborationstyle.4. Build competent, collabo-rative teams.5. Team decision making.6. Use short timeboxed itera-tions for quick delivery.7. Encourage adaptability.8. Champion technical excel-lence.9. Focus on delivery activi-ties, not process-complianceactivities.The emphasis of Agile is onaccelerated development anddeployment with low risk ofchange and budget due toits emphasis on empiricalprocesses and constant vi-sibility of work progress. Italso demands open sharingof information in a levelledhierarcy.Agile is often positioned asan opponent of or replace-ment for the traditional Wa-terfall project managementmethodology. Waterfall is, bydefinition, a managed and he-avily controlled process thatprivileges a linear, sequentialprocess. It determines requi-rements well in advance andis primarily rational.On the other hand, Agile is anopportunistic feedback-loop“free” methodology that em-phasizes simultaneous andoverlapping processes.Agile also aims to avoid thecreation of silos, with requi-rements being cast “over thewall” between developmentteam and product/projectmanagement teams. Reviewsare held often and with as lit-tle bureaucracy overhead aspossible.IN AN AGE OF INCRE-ASING COMPETITIVE-NESS IN THE WORLDOF SOFT WARE DE-PLOYMENT, A PROCESSFRAMEWORK THATALLOWED COMPA-NIES TO REACT MORESWIFTLY TO RAPID RE-QUIREMENT CHANGESWAS CREATED: AGILE.HOWEVER, ITS REPER-CUSSIONS IN THE SOF-T WARE DEVELOPMENTWORLD AT LARGE POSENEW CHALLENGES TOCOMPANIES.02 AGILE LOCALIZATION FUNDAMENTALS - AN INTEGRATED APPROACH
  3. 3. WORKSHOP CONTENTSAgile has established itself as the premier methodology framework for software development process. Scrum, XP,Lean, and many other variations of the Agile methodology all rely on the same basic principles: release iteratively, workin a more integrated way, speed up delivery through user-focus. It’s flexible enough that you can adapt it to your needs,yet it provides enough a framework solid enough in order to control the “creative chaos” at its core.The focus of this half-day workshop will be to introduce practical and hands-on strategies and techniques for in-houselocalization teams working in the software development industry. In order to be able to respond to the fast-paceddelivery required in Agile software development environments. By the end of the workshop, you will have a broaderperspective on how to implement your Localization process in the ever-changing tide of requirements and customerexpectations – and still make every word count.PART I Centripetal Forces: Agile Principles• Agile: what it can mean for you• Defining Agile Localization• Assessing critical value stream issues• Establishing vertical collaborationPART II The Domino Effect: Localization Requirements in an Agile Process• Using Personas to define your audience• Source Text versus Master Locale• Identify design critical issues• Optimize estimations• Establishing acceptance criteria• Optimize resource managementPART III Chain Lightning: Story-Based Internationalization• Auditing design for optimal localization• Auditing source text localizability methodology• Making the most out of style guides and terminology• Adapting and optimizing text for translation• Agile translation managementPART IV Critical Mass: Testing and Deployment• Manual testing versus continuous integration• Drafting localization test cases• Testing strategies
  4. 4. IMAGE 1In an Agile process, like Scrum, or Kaizen,all stakeholders are affected by the actionsand outcomes of the team. Localizationplays an essential role in this synergy.IMAGE 2An abriged version of the Agile Manifestobasic principles.AGILE LOCALIZATIONA STRATEGIC PEERLocalization is frequently linked to the end-of-chain stage, interspersing timeconstraints with role diffuseness, leading to severe quality compromises inmost cases. Since Agile demands constant proactiveness, responsivenessand the ability to adapt to changing situations, the production process is ef-fectively never over as long as the project is on-going, which means that laterequirement change is an expected and even a desirable cog in a chain thatrelies on communication and stable interchange of information. While mono-lithic development and requirement unspecificity often compromise results intraditional development structures, Agile’s focus on productivity and decom-posable work items enables a richer and more quality-oriented developmentprocess.In this sense, Localization is an essential partner. Corporate-wide linguisticstrategy is a must in this case and Localization departments can help drivethis effort by supplying much-needed geopolitical assessments and asses-sing the effort behind localizing a given product in a given language..“GRAND PRINCIPLES THAT GENERATE NO ACTION ARE MERE VA-POR. CONVERSELY, SPECIFIC PRACTICES IN THE ABSENCE OFGUIDING PRINCIPLES ARE OFTEN INAPPROPRIATELY USED.”(JIM HIGHSMITH, AGILE PROJECT MANAGEMENT: CREATING INNOVATIVE PRO-DUCTS, 2ND ED.)Localization is often thought of as a more or less sophisticated translationmanagement process applied to software localization. Not only is this untrue,it is dangerous in Agile environments.From a design point of view, localization must be one of the stakeholders inthe User Story if it is determined that it affects any kind of text resources inthe application, either directly (i.e. text changes) or indirectly (i.e. impact on UIdesign or graphic arrangement). From a maintenance point of view, this relieson pre-planning and resource assignment from an early stage. Localization isthe primary link between a software application and its international marke-tability, and should be taken into account as early as possibly in the softwaredevelopment process.104 AGILE LOCALIZATION FUNDAMENTALS - AN INTEGRATED APPROACH2
  5. 5. THE BASIC PRINCIPLES OF THE AGILE MANIFESTOIndividuals and interactions over processes and tools“Build projects around motivated individuals. The most effi-cient and effective method of conveying information to andwithin a development team is face-to-face conversation.”Working software over comprehensive documentation“Deliver working software frequently, from acouple of weeks to a couple of months, with apreference to the shorter timescale.”Responding to change over following a plan“Welcome changing requirements, even late indevelopment. Agile processes harness change forthe customer’s competitive advantage. “010203
  6. 6. For companies in transition from waterfall to Agile, User Storiescan follow an acceptance criteria and function like small, mana-geable requirements. For all the emphasis on de-regulation andadaptivity, Agile is actually a fairly well-bound field with a set ofprinciples that can be replicated throughout projects.Drafting User StoriesA user story describes functio-nality that will be valuable toeither a user or purchaser of asystem or software. User storiesare composed of three aspects:• a written description of the story used for planning• talks about the story that serve to flesh out [its] details• tests that convey and document details and that can be usedto determine when a story is complete.User Stories Applied - For Agile Software (Mike Cohn)Any User Story implemented in a product has several compo-nents that demand different expertise from a multi-specializedteam, which can be either contained in different departmentsor, optimally, working exclusively together on given parts of theproduct. In this setting, product localization is a concern fromthe get-go thanks to constant involvement with the core deve-lopment team and product stakeholders. Project managementduties are distributed and the Product Owner’s vision is instru-mental in the whole process.Agile RolesThe naming of roles often varies between different Agile me-thodologies. There are three basic actors: the Customer, theDeveloper and the Team Facilitator. For Scrum, the Customercan be a combination of the Product Owner and the end-custo-mer. They specify the infal requirements. Specifically, the Pro-duct Owner creates “the project’s initial overall requirements,return on investment (ROI) objectives, and release plans [and]is responsible for using the Product Backlog to ensure that themost valuable functionality is produced first and built upon”(Agile Project Management with Scrum, Ken Schwaber).Meanwhile, the “Scrum Master drives the scrum activity, espe-cially in the beginning of the project [...] to counteract obstaclesto task completion. [...] As a fa-cilitator, the Scrum Master willkeep the various scrum activi-ties on task by invoking the ap-propriate rules and procedures.”(Scrum Project Management,Kim H. Pries, Jon M. Quigley).Iterations and Reviews“An iteration typically lasts one to four weeks and has four di-stinct phases: Planning, Development, Review, Retrospective.During the Planning phase, the Product Backlog items to bedeveloped during the iteration are selected, and the goal ofthe iteration is formulated. During Development, each require-ment selected for the iteration goes through definition, coding,and two types of testing.Automated unit tests are written to confirm the new code wor-ks as designed. Once unit testing is complete, acceptance orbusiness testing occurs to confirm that the requirement meetsthe functional needs of the user.During the Development phase there is also a daily status me-eting known as the daily standup. In this meeting, each teammember states what they did the previous day, what they aregoing to do today, and identifies any existing or foreseeableroadblocks.When the iteration nears completion, a review meeting is heldwith all stakeholders to demonstrate the new software andreceive feedback on it and the functionality that has been de-veloped. The last phase, or Retrospective, is a postmortem forthe team to discuss how the process could be improved.” (Agi-le Excellence for Product Managers, Greg Cohen).THE TRADITIONAL WATERFALL METHODTENDS TO RELY ON DELIVERABLE HANDEDDOWN THE PRODUCT DELIVERY CHAIN LATEIN THE PROCESS. ITERATIVE DEVELOPMENTCANNOT RELY ON THIS PARADIGM.THE LIFE OF A USER STORYACTORS AND STAKEHOLDERS IN AN AGILE PROJECT06 AGILE LOCALIZATION FUNDAMENTALS - AN INTEGRATED APPROACH
  7. 7. IMAGE 1A standard Agile workflow.Source: http://en.wikipedia.org/wiki/File:Agile_Software_Development_methodology.svgIMAGE 2Roles in the typical Agile team. Note thatthe Technical Owner is sometimes theSoftware Architect or Team LeadSource: http://www.netobjectives.com/blogs/product-development-team-and-voice-customer12
  8. 8. DESIGNLOCALIZATION AND DESIGN ARENOT SEPARATE WORLDS.08 AGILE LOCALIZATION FUNDAMENTALS - AN INTEGRATED APPROACHBELOWThe process of drafting User Personas asapplicable to localization requirements.IMAGE 2String typology of a typical software project.Text is an essential part of a complete multimediasystem that includes image and text. Visually andlinguistically, text plays a major role in the user’sperception of a product.
The most refined and so-phisticated UX can be wrecked by careless localiza-tion and haunted by issues and bugs. Fonts are lost,carefully complimentary labels suddenly ap- pearjuxtaposed, HTML is improperly adapted to targetlocales.Therefore, internationalization is key to a consi-stent user experience in a multilingual product. In-ternationalization defines the set of processes andtechniques that are implicated in making a productcapable of adaptation to different cultures. Thisis where UX implementation is at its trickiest.
Nosound internationalization- friendly design can beadequately implemented without an accurate stu-dy of localization prioritization. Define which lan-guages and cultures you want to localize into andinclude both immediate priorities and future plans.This will enable you to optimize layouts for cultural-ly-sensitive graphics and indications or – optimally– to change requirements in the light of new marketstrategies.Discuss with the ProductOwners on the UserPersonas used in theproject. Synchronizeexpectations and focus targets.sOweotsOeotsOeotsOeoatsOeoatsOeoasOeoasOeoasOeoasOeoasOeoasOeotasOerotasOertasOertasOerctasOerctasOerctsOerctsOerectsOerectisOeprpectisOPeppectisOPpxpectisOPpxpecisOPpexpeciOPpexpeciOPpexpeciOPpexpeciOPpexpeciOPpexpeiOPpexpeiOPpexpeiOPpexpiOPpexpiOPpexpDiOPDiOPDiOPDODDDDDDDDDDDDDDDDDDDDDDDDD unenaSyd focunenaSynd focunenaSynd focunenaSynd focunenaSynd focuunenaSynfocuunenaSynfocuunenaSynfocusunenaSyncfocusunenaSyncfocusunenaSyncfocus tunenayncfocus taunenasyncocus tarunenasynchocus targunenasynchocus targets.usnenasynchocus targets.usneasynchocus targets.usneasynchcus targets.usneasynchrcus targets.usneasnchrcus targetsusneasnchrous targetsuserasnchrous targetsuserasnchros targetsuserasnchros targetsuseras unchrontargetsuseras uchront tuseras uchronizusers uchronizusers uchronizeuserss uchronizeuserss ushronizeuserss ushronizeuserss ushronizeuserss ushronizeusersuseronizeussersuseronizeussersuseonizeussersuseonizessrsusedonizessrsusednizessrs ousedissrs ousedssrs ousedssrs osed issrs osed insss osed insss osed in tsss oned in thss ws oned in thess woned in thess wond in thess wond in thes won td in thes won tn thes won thths won thths won thhs wion thes win thewitn the Uwitn the Uwitn the Usewiththe Userwiththe Userwiththe Userwiththe Userwiththe Userwithhe Userwithhe Userwith tUwith tUith thUith thth theth theth the Ph the Prh the Producth the Productthe Productthe Productthe Productthe Producthe Producthe ProductP d tP d tdUSER PERSONASResearch on the focusedusers and their experienceand cultural background.Interact with softwareusers (if possible, withinterviews or surveys).Synchronize withMarketing.Draft specs forUser Personas basedon linguistic ability andgoals and attitudes.Draft guidelinesfor Personas basedon methodology:Quantitative (largesample of interviews)or Qualitative (small-scaleresearch).Draft the Persona withdescription, photo,domain-specific data,like literacy,language proficiencyand previous experience.Bring the persona to life:think of it as psychologicalprofile.Sync with Product Owner.Update internalstyle guide andlocalization requirements.Use - Repeat - Iterate.
  9. 9. GUI CONTROLSINFORMATIONMESSAGESLOG MESSAGESERROR MESSAGESUSER PROMPTSINTERNALCODE & MARK-UPS2
  10. 10. HOW FREQUENTLY SHOULDWE HAVE LOCALIZED BUILDS?For testing purposes, the stockanswer is “as often as the masterbuilds”. Invest on MT for pseudo-localization in order to test inter-nationalization requirements early.For release, agree with the productowner on the frequency for exter-nal testing.SHOULD LOCALIZATION BE APART OF THE BURNDOWN CHART?Localization is not a service, butan accountable effort held in thesprint’s overall development. LSPeffort should also be tracked, pre-ferably as Tasks under the relevantUser Stories,. This will enable youto predict effort and get metrics forinternal and LSP evaluation.SHOULD WE USE AN AGILEPROCESS FOR TERMINOLOGY?It depends on the project nature.Terminology is never frozen, butit should be optimally standardi-zed with devoted effort before thetranslation stage. Get customerfeedback and define approving ro-les clearly. Automate tool-basedterminology extraction.BETWEEN HAND-OFFS, INTERNAL REVIEWS, ANDLOCALIZED BUILDS, THE TRUTH LIES.HERE ARE SOME OF THE MOST OFTEN ASKED QUE-STIONS IN AGILE LOCALIZATION.SHOULD WE ESTIMATE BA-SED ON DEVELOPER EFFORT?Never. Even the simplest GUI im-plementation can have major re-percussions in the internationa-lization front. A combo box canrequire a complex layout restruc-turing in builds for right-to-leftscripts. Audit User Stories inde-pendently and communicate often.SHOULD WE RELEASE LOCALIZEDVERSIONS SIMULTANEOUSLY ORPRIORITIZED? In most cases, thetesting done for the Master Loca-les spots most of the internatio-nalization issues that abound inthe localized versions. Test andrelease simultaneously wheneverpossible. The global market doesnot wait for latecomers.HOW OFTEN SHOULD WE SENDHANDOFFS TO OUR LSP? In gene-ral, it is more cost effective to do re-gular deliveries than sending mul-tiple small translations projects.A more complex workflow with afirst-run translation and second-stage correction is also possible.Use MT to leverage testing withpseudo-localized builds.10 AGILE LOCALIZATION FUNDAMENTALS - AN INTEGRATED APPROACH
  11. 11. SHOULD WE INTEGRATE LSP INREVIEW MEETINGS?No. However, Sprint Review reportscan be drafted with key informationon specific issues that propped upduring the sprint (delays, languagequality issues, bad file handling).Similarly, informal meetings canbe held with the LSP throughoutthe sprint. These are essential per-formance and reporting aids andshould be handled systematically.SHOULDWETRAILDEVELOPMENTIN SEPARATE ITERATIONS? A de-lay in sprint assignment can beuseful and benefit the languagequality for immature workflows. Itdepends on the internally agreedAcceptance Criteria. However, beaware that this directly affects si-multaneous shipping and the ove-rall testing for the entire project. Ifat all possible, localization shouldbe handled within the iteration.HOW SHOULD THE ACCEPTANCECRITERIA INTEGRATE USER OPI-NION?The beauty of iterative deve-lopment is that change requi-rement is an integral and evendesirable part of the software de-velopment cycle. The Acceptan-ce Criteria can be redefined withuser opinion after the initial itera-tions. Prioritize feedback based onagreed User Personas.
  12. 12. 12 AGILE LOCALIZATION FUNDAMENTALS - AN INTEGRATED APPROACH
  13. 13. TERMINOLOGYOR, THE ART OFCONSISTENCY.MAXIMIZE YOURTRANSLATILIBITY.Use consistent, simple, and task- focusedterminology.Use plain language (in advanced workflows,this can be complemented by implementingSimplified English as source for transcrea-tion).Space for culture-adapted text should not in-troduce inconsistencies.Idiomatic expressions should be concep-tualized and consistent (e.g. interjections,expressions, proverbs should be tagged assuch and used in a consistent context).Avoid incomprehensible technical jargon.Use plain language (in advanced workflows,this can be complemented by implementingSimplified English as source for transcrea-tion). Avoid excessive wordiness. Use pri-marily short sentences with only one or twophrases.Avoid repetitive text and branding.Conciseness is essential in order to conveyyour message effectively. Use “more” whencomparing and avoid stacking or hyphena-ting words in your messages. Punctuationshould be used sparingly.Always use the full form for new terms show-ing in the interface.Present the abbreviation or acronym in pa-rentheses following the fully spelled-outform. Avoid contractions and abbreviations.
  14. 14. 14 AGILE LOCALIZATION FUNDAMENTALS - AN INTEGRATED APPROACH123When creating a test strategy, you have to accurately define the QAprocesses and their integration in the lifecycle. An early involvementand understanding of specs, requirements and the product scope willfeed the production of an accurate test matrix, complete with pre-as-sumed configurations and locales, starts at the User Story creationlevel, where the product scope actually materializes.At its drafting, the User Story already needs to already integrate loca-lizability and internationalization concerns, by way of specific lingui-stic and functional testing. These criteria are an integral part of thefinal acceptance process and the successful implementation of theUser Story must be predicated on its fulfilment.Regression must be mitigated through unit testing and automationas early as possible. Given the tight timelines involved in Agile deve-lopment, preliminary localizability testing must be done in advancebefore the implementation of the User Story in order to reduce effortwith later regression and workflow adjustments.AGILE TESTINGQA IS NOT AN OPTION WITH RAPID DEVELOPMENT.LEARN HOW TO ESTABLISH LOCALIZATION TESTINGSTRATEGY.WHEN CREATING ATEST STRATEGY, YOUHAVE TO ACCURATELYDEFINE THE Q A PRO-CESSES AND THEIRINTEGRATION IN THELIFECYCLE. AN EARLYINVOLVEMENT ANDUNDERSTANDING OFSPECS, REQUIREMENTSAND THE PRODUCTSCOPE WILL FEEDTHE PRODUCTION OFAN ACCURATE TESTMATRIX, COMPLETEWITH PRE-ASSUMEDCONFIGURATIONS ANDLOCALES, STARTS ATTHE USER STORY CRE-ATION LEVEL, WHERETHE PRODUCT SCOPEACTUALLY MATERIA-LIZES.COSMETIC TESTINGTruncated stringsContent designBranding consistencyLayoutExcessive textFUNCTIONALITY TESTINGInstallation procedure consistentMenus and hotkeys duplicateFunctionality replicable in all languagesInput correctnessCorrect character encodingLINGUISTIC TESTINGCapitalizationCultural adequacySpellcheckingStyle/registerTerminology
  15. 15. The implementation of different testing methodologiesdepends on the resource availability and the projectneeds. On the tool level, an integrated test and deve-lopment environment, as well as common issue trackingsystems, is a pre-requirement for valid reporting, as wellas the configuration and implementation of specific au-tomatic testing.Specifically, automation is essential on the source codelevel, where the semantics of string implementation areinitially checked. In a test-driven development envi-ronment, development unit tests are routinely run du-ring program compiling and building, and can alreadyprovide reports on missing and incorrectly implemen-ted application strings. Automation can also assist withspecific user interface issues, as well as functional textissues such as script rendering, blacklists and hotkeys.Agile focuses on usability that brings value to the end-user, so localization testing should primarily focus onhelping to deliver this value, as it is defined in the pro-duct scope by the stakeholders. In a continuous de-ployment environment, the emphasis should rely onpreventing the occurrence of problems and reducingregression costs, so pre-planning, early engagementand a solid communication flow are key to the testingprocess. Testing is not a separate focus, but rather anessential component of everyday methodology, and theorganic feedback loop between result, assessment andadjustment enforced by Agile can be a powerful tool forproducing quality multilingual software prepared for thedemands of a global market.BELOWAn example of an Agile test strategy.PAGE OPPOSITEAs the iteration progresses, testing spikes as different types of testing kick in for differentproject priorities.
  16. 16. Alberto FerreiraCharlottenstrasse 15FriedrichshafenGermanyt +49 15 222 486 556 t twitter.com/AViralhadase alberto.viralhadas@gmail.comGET IN TOUCHPROJECT MANAGEMENT.LOCALIZATION RESEARCH.CULTURAL ACCESSIBILITY.GLOBAL SERVICES FOR A GLOBAL WORLD.LOCATIONCurrently based in Bodensee,Germany.

×