The present disclosure relates to computing systems, and, in particular, to methods, systems, and computer program products for determining how to configure products for a localized geographic region based on priorities provided by multiple stakeholders and assessment of risk.
The global expansion of the software industry has led to an increase in the use of various software products in many divergent countries and cultures. This may create an increased need for localization of products by any enterprise that wishes to do business those countries and cultures. The need to localize products has generally increased, particularly in the software industry, in the past decade. Product localization may be defined as configuring one or more product features based on the target locale (e.g., geographic region and/or language) where the (e.g., geographic region and/or language) product is used and/or sold. One example of product localization is to make a product linguistically and culturally appropriate to a target locale. Many different factors may be involved in determining whether to invest resources in configuring a product so that it is localized for a particular locale. Many enterprises make this decision using a cost-benefit analysis based on the potential marketability of the product and the costs associated with localization.
In some embodiments of the inventive subject matter, a method comprises performing operations as follows on a processor: receiving a description of a plurality of products, each product in the plurality of products having a local geographic feature that is configurable in one of a plurality of geographic configurations; receiving a description of priorities associated with the plurality of products; generating a risk based on the priorities; generating a risk mitigating treatment based on the risk; generating, for each of the plurality of products, a plurality of product localization scores corresponding to the plurality of geographic configurations, respectively, each of the plurality of product localization scores indicating a relative amount of the risk mitigated by the risk mitigating treatment with the local geographic feature having the respective geographic configuration; generating a plurality of global localization scores based on the plurality of product localization scores, each of the plurality of global localization scores corresponding to the plurality of products having one of a plurality of combinations of the geographic configurations; and determining how to configure the local geographic feature for each of the plurality of products based on the plurality of global localization scores.
In other embodiments of the inventive subject matter, a system comprises a processor and a memory coupled to the processor, which comprises computer readable program code embodied in the memory that when executed by the processor causes the processor to perform operations comprising: receiving a description of a plurality of products, each product in the plurality of products having a local geographic feature that is configurable in one of a plurality of geographic configurations; receiving a description of priorities associated with the plurality of products; generating a risk based on the priorities; generating a risk mitigating treatment based on the risk; generating, for each of the plurality of products, a plurality of product localization scores corresponding to the plurality of geographic configurations, respectively, each of the plurality of product localization scores indicating a relative amount of the risk mitigated by the risk mitigating treatment with the local geographic feature having the respective geographic configuration; generating a plurality of global localization scores based on the plurality of product localization scores, each of the plurality of global localization scores corresponding to the plurality of products having one of a plurality of combinations of the geographic configurations; and determining how to configure the local geographic feature for each of the plurality of products based on the plurality of global localization scores.
In still other embodiments of the inventive subject matter, a computer program product comprises a tangible computer readable storage medium comprising computer readable program code embodied in the medium that when executed by a processor causes the processor to perform operations comprising: receiving a description of a plurality of products, each product in the plurality of products having a local geographic feature that is configurable in one of a plurality of geographic configurations; receiving a description of priorities associated with the plurality of products; generating a risk based on the priorities; generating a risk mitigating treatment based on the risk; generating, for each of the plurality of products, a plurality of product localization scores corresponding to the plurality of geographic configurations, respectively, each of the plurality of product localization scores indicating a relative amount of the risk mitigated by the risk mitigating treatment with the local geographic feature having the respective geographic configuration; generating a plurality of global localization scores based on the plurality of product localization scores, each of the plurality of global localization scores corresponding to the plurality of products having one of a plurality of combinations of the geographic configurations; and determining how to configure the local geographic feature for each of the plurality of products based on the plurality of global localization scores.
It is noted that aspects described with respect to one embodiment may be incorporated in different embodiments although not specifically described relative thereto. That is, all embodiments and/or features of any embodiments can be combined in any way and/or combination. Moreover, other methods, systems, articles of manufacture, and/or computer program products according to embodiments of the inventive subject matter will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, articles of manufacture, and/or computer program products be included within this description, be within the scope of the present inventive subject matter, and be protected by the accompanying claims. It is further intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination.
Other features of embodiments will be more readily understood from the following detailed description of specific embodiments thereof when read in conjunction with the accompanying drawings, in which:
In the following detailed description, numerous specific details are set forth to provide a thorough understanding of embodiments of the present disclosure. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In some instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present disclosure. It is intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination. Aspects described with respect to one embodiment may be incorporated in different embodiments although not specifically described relative thereto. That is, all embodiments and/or features of any embodiments can be combined in any way and/or combination.
As used herein, a “service” includes, but is not limited to, a software and/or hardware service, such as cloud services in which software, platforms, and infrastructure are provided remotely through, for example, the Internet. A service may be provided using Software as a Service (SaaS), Platform as a Service (PaaS), and/or Infrastructure as a Service (IaaS) delivery models. In the SaaS model, customers generally access software residing in the cloud using a thin client, such as a browser, for example. In the PaaS model, the customer typically creates and deploys the software in the cloud sometimes using tools, libraries, and routines provided through the cloud service provider. The cloud service provider may provide the network, servers, storage, and other tools used to host the customer's application(s). In the IaaS model, the cloud service provider provides physical and/or virtual machines along with hypervisor(s). The customer installs operating system images along with application software on the physical and/or virtual infrastructure provided by the cloud service provider.
As used herein, the term “data processing facility” includes, but it not limited to, a hardware element, firmware component, and/or software component. A data processing system may be configured with one or more data processing facilities.
Some embodiments of the inventive subject matter stem from a realization that configuring a product for localization to a geographic region may be an intensive investment for an enterprise. A number of priorities may be taken into consideration including both technical and market priorities. These priorities, for example, may include, but are not limited to, revenue generation, compliance with legal regulations, customer loyalty, quality, and/or product maturity level. A myriad of priorities may be taken into consideration before deciding how to configure a product for use/sale in a particular locale. These priorities may be provided by sources with different perspectives, e.g., marketing and technical sources, and may be subject to a wide range of considerations, such as state of product life-cycle, level of adoption of technology, responsiveness within a region, political/jurisdiction conditions, etc. In addition, for a large enterprise having multiple products, the overall localization of each product may be influenced by the localization strategy of different products together. For example, assuming a constraint of having a limited budget for localization, a desired localization strategy may be chosen that involves localizing certain features of one or more products while not localizing other features of one or more products taking into account the global strategy of the enterprise. When choosing to localize a product, several levels or segments of localization may be possible. For example, in the case of a software product, three different local geographic features may be configured to localize a product: a user interface for the software product, user support for the software product, and product documentation for the software product. The geographic configuration may be a particular human communication language of multiple language options that the feature is translated into. Thus, level three localization may be performing a translation for all three features (user interface, user support, product documentation), level two localization may be performing a translation for two of the three features, while level one localization may be performing a translation for one of the three features.
Some embodiments of the inventive subject matter may provide a Decision Support System (DSS) for determining how to configure a product for localization to a geographic region. The DSS may accept as input as description of market and/or technical priorities along with a description of a portfolio of products. Thus, the description of priorities may include the perspectives of personnel with marketing, financial, legal, and technical perspectives. The technical perspectives may include both engineer/scientist perspectives as well as linguist perspectives. The DSS may take into account the joint effect of these priorities using a risk-based methodology. Risks may be assessed and a localization strategy may be developed in terms of how to configure the products for localization to mitigate the identified risks.
For ease of description, a non-limiting example is described herein in which the products to be localized are software products and the local geographic features that are configurable to localize the software products comprise a user interface, user support, and product documentation. Each of these features may be localized through translation to one of a plurality of human communication languages. It will be understood, however, that embodiments of the inventive subject matter are not limited to such products and/or local geographic features as the DSS for determining how to configure a product for localization to a geographic region described herein can be used with other types of products and/or configurable local geographic features.
The DSS localization strategy advisor data processing system 105 may be further configured to receive enterprise data and/or information associated with the particular markets/geographic regions where localization decisions are to be made for the products in the product portfolio. Examples of these data/information may include, but are not limited to, expected investment in product localization, revenue generated from a product in a particular market in a past financial year, user feedback on a product translated into a particular language, market leadership (yes/no), predicted revenue immediate, predicted revenue long term, maturity level, investment required for each level of localization (e.g., user interface, user support, and/or product documentation), market saturation (yes/no), and the like.
The DSS localization strategy advisor data processing system 105 may determine a product configuration, e.g., how to configure the local geographic feature for one or more of the plurality of products taking into account the multiple perspectives provided through the market and technical priorities along with the enterprise data/information using a risk based methodology designed to mitigate the identified risks.
Although
Referring now to
As shown in
The risk/treatment mapping module 330 may be configured to map the priorities for the product portfolio input through the user priorities interface module 325 to the expected risks that these priorities are subjected to. Such risks may include, but are not limited to, breach of legal compliance, loss in customer trust, loss in brand name, loss in revenue in immediate financial year, loss in revenue in future financial years, and investment in a saturated market. As an example, if a user priority is “sales rate,” an expected risk may be “drop in sales rate due to inefficient localization strategy.” A more intricate example may involve the user priority from a business perspective of “customer loyalty” and from a technical perspective “maturity level of the product” (the product typically needs to be mature enough for localization to a geographic region; otherwise the localization costs are usually very high). When a new product is launched, the maturity level is low and localization of the product may involve a large financial investment. However, if the product has a growing customer base in a similar market the anticipated customer loyalty may be high. Therefore, the risks for this product may be “loss of customer trust” and “low return on investment in immediate financial year.”
The risk/treatment mapping module may be further configured to identify what treatments may be used to mitigate the identified risks. These treatments describe properties that may ensure that the priorities are protected from the identified risks. Such treatments may include, but are not limited to, ensure that market leadership is maintained, ensure that expected revenue in immediate financial year is greater than a first threshold, ensure that revenue in future financial years is greater than a second threshold, ensure that investment in configuring the local geographic feature is less than a third threshold, ensure that product maturity level is greater than a fourth threshold, and ensuring that investment in configuring the local geographic feature is less than a fifth threshold in a saturated market. As an example, to mitigate the risk of a “drop in sales rate,” a risk mitigating treatment may ensure that the sales rate is not compromised in the short and/or long term. A more intricate example may involve the risk of “loss in customer trust” and “loss in revenue in immediate financial year” and the risk mitigating treatment may be to ensure that the product maintains market leadership through customer trust through some level of localization (e.g., translation of user interface and user support) while also ensuring that revenue is not compromised in the immediate financial year (e.g., product documentation is not translated).
The mapping of priorities to risks and risks to treatments may be done based on input/feedback from enterprise localization teams and business experts. The mappings may be stored in the DSS Localization Strategy Advisory data processing system 105. When a user inputs technical and/or market priorities into the DSS Localization Strategy Advisory data processing system 105, the associated risks and treatments may be proposed to the user based on the mappings. The user can accept, change, and/or propose new mappings between the priorities, risks, and treatments. Repeated use of the DSS Localization Strategy Advisory data processing system 105 may enable it to learn about previous mappings via automatic learning mechanisms from heuristic data. This may improve risk-treatment mapping for inexperienced users. The DSS Localization Strategy Advisory data processing system 105 may also supply a framework for automatic development of risk-treatment mapping.
The MCDM engine module 335 may be configured to generate, for each of the products in the product portfolio, a plurality of product localization scores corresponding to the plurality of geographic configurations, respectively. Each of the product localization scores is indicative of a relative amount of risk mitigated by a risk mitigating treatment when the local geographic feature has a particular geographic configuration. Global localization scores may be generated based on the product localization scores corresponding to the products having various combinations of the geographic configurations. The product localization scores and global localization scores may be generated using various techniques based on the enterprise data/information along with the mapping between priorities, risks, and treatments. Examples of the MCDM methodology may include, but are not limited to, the Analytical Hierarchy Process as described in “Group Decision Making: Drawing out and Reconciling Differences,” by Saaty et al. and/or the Preference Ranking Organization Method for Enrichment Evaluation as described in “A preference ranking organization method: The PROMETHEE method for MCDM,” by Brans et al.
An embodiment of the MCDM methodology may be illustrated by way of example. A user may specify on a scale of 0 to 10 a risk acceptability threshold for each product in each local geographic configuration under consideration (e.g., each language under consideration Spanish, Japanese, etc.). For each risk, the user may specify the likelihood of the risk occurring and the consequence resulting from the risk occurring on a scale of 1 to 5 each. The product of the likelihood and the consequence of a risk may be indicative of the relative importance of the risk and how important it is to mitigate the risk. This product may be normalized to a scale of 1 to 10 from a scale of 1-25 and may be termed an importance of the risk threshold. When the importance of the risk threshold is less than the risk acceptability threshold, then the risk does not require mitigation. Otherwise, one or more treatments may be invoked to mitigate the risk. For each treatment applied to mitigate a risk, different combinations of local geographic configurations may be considered and given a normalized score on a 1-10 scale. For example, if two geographic configurations, Spanish and Japanese are possible for three different local geographic features—user interface, user support, and product documentation—then eight combinations may be considered. The highest revenue combination is assigned a score of 10 and the other combinations are assigned scores relative to the high score. When the score of a particular combination of geographic configurations/features for a risk treatment exceeds the risk acceptability threshold, then the risk may be mitigated by the corresponding treatment. The above-described approach may be repeated for each of the risks and each of the products in the product portfolio to generate product localization scores indicative of a percentage of the total risk mitigated. A global localization score may be an average of the product localization scores for a particular combination of geographic configurations of the products.
The localization strategy module 340 may be configured to determine how to configure the local geographic feature(s) for each of the plurality of products based on the global localization scores generated by the MCDM engine 335. In some embodiments, localization strategy module 340 generates a recommendations list giving the combination geographic configurations for the products along with their product localization scores and global localization score for the entire product portfolio for each combination. The DSS Localization Strategy Advisory data processing system 105 may maintain a history of past priorities, risks, risk mitigation treatments, risk acceptability thresholds, risk likelihoods, risk consequences, and the like to provide inexperienced users with recommendations. This progressive learning property may enable the DSS Localization Strategy Advisory data processing system 105 to evolve and the framework to be self-sustainable.
Although
Computer program code for carrying out operations of data processing systems discussed above with respect to
Moreover, the functionality of the DSS Localization Strategy Advisory data processing system 105, the data processing system 200 of
The data processing apparatus of
The MCDM engine 335 of the DSS Localization Strategy Advisor 105 may generate product localization scores for each of the products at block 420. Referring now to
Some embodiments of the inventive subject matter may provide a DSS that can assist the users in determining how to configure a product or series of products for local service based on multiple criteria as described above. The DSS may allow description of priorities for the product(s) from multiple perspectives of an enterprise, such as financial, legal, and technical. Technical perspectives may include, for example, localization engineers' and linguists' perspectives. The DSS may take into account the joint effect of these priorities using a risk based methodology. The risks involved in a localization strategy may be assessed in light of the demands of the enterprise from multiple perspectives and a strategy for configuring local geographic features of the products may be generated that mitigates identified risks at a desired level. Embodiments of the inventive subject matter may, therefore, simply the complexity of generating and implementing a localization strategy for a product portfolio and ensure that important factors, such as priorities, risks, risk mitigating treatments, and the like are not overlooked in the process. As a result, embodiments of the inventive subject matter may provide a time savings for enterprise management, may ensure that multiple perspectives and voices are allowed to provide input in a localization strategy for a product portfolio, may assist in distributing a budget allocated for localization of products in the enterprise, and may provide an automated system for learning and documenting past decisions, which may be used to improve future localization decisions.
In the above-description of various embodiments of the present disclosure, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or contexts including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product comprising one or more computer readable media having computer readable program code embodied thereon.
Any combination of one or more computer readable media may be used. The computer readable media may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an appropriate optical fiber with a repeater, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS).
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that when executed can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various aspects of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. Like reference numbers signify like elements throughout the description of the figures.
The corresponding structures, materials, acts, and equivalents of any means or step plus function elements in the claims below are intended to include any disclosed structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The aspects of the disclosure herein were chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure with various modifications as are suited to the particular use contemplated.