Are you expanding your technology business geographically? This talk outlines typical ways that technology companies fail to execute on global software projects. Key points of failure are requirements, code base management, and resource allocation.
TRANSCRIPT
of Enterprise Softwarein Global Markets
Presenter
Presentation Notes
Are you expanding your software business into new geographical areas? Making global software can be extremely risky.
of our clients call us only after failing at their own internal
globalization projects
Presenter
Presentation Notes
In fact, 80% of our clients call us only after failing at their own internal globalization projects.
Presenter
Presentation Notes
I’m Kevin Gee, from Aeontera. Our firm takes software designed for only one country and makes it ready to be used around the world.
What are the
RISKS?
Presenter
Presentation Notes
In this talk we’ll show you some of the greatest risks of building global software
How to manage?
What are the
RISKS?
Presenter
Presentation Notes
and how to manage those risks.
Use Cases
Requirements and Implementation
Presenter
Presentation Notes
We’ll talk about risks from bad assumptions on requirements and implementation
Use Cases
Requirements and Implementation
Code Base ManagementCode Content
ContentCode
Locale 2
Content
Locale 5
Content
Locale 4
Content
Locale 3
Content
Presenter
Presentation Notes
issues related to how you manage your code base
Use Cases
Requirements and Implementation
Code Base Management
Low
Western, Eastern, Northern Europe
Medium
Simplified Chinese Korean Middle East Other Asian,
Africa
HighJapanese Traditional Chinese
Risks and Resources
Code Content
ContentCode
Locale 2
Content
Locale 5
Content
Locale 4
Content
Locale 3
Content
Presenter
Presentation Notes
and finally we’ll discuss the risks and resources for different locales.
2.0 N America
Presenter
Presentation Notes
Here is a typical scenario from one of our past projects. This company was dominating the North American market with version 2.0 of their specialized ERP software. They wanted to expand into international markets with their first priority being Japan. They already had a major customer willing to buy as soon as the Japanese version of the application was available.
2.0 Japan
9 months
2.0 N America
Presenter
Presentation Notes
Their local distributor in Japan had a relationship with the customer and had engineers available to localize the software. The decision was made to allow the distributor to perform the localization as a fork of the 2.0 code base.
3.0 International
2.0 Japan
9 months
2.0 N America 2.5
Presenter
Presentation Notes
After finishing a minor release, the core engineering team set to work on re-architecting the main trunk of code. The goal was to support multiple locales out of the box for version 3.0. During development of version 3.0, the team in Japan completed work on the localized version 2.0 application.
3.0 International
2.0 Japan
9 months
2.0 N America 2.5
Presenter
Presentation Notes
They presented the product to their lead customer. The lead customer rejected it. They gave 2 reasons for their decision. First, they found a number of serious defects in the product when they tried it out, and said it wasn’t up to their quality standards. Second, they had heard about the cool features in version 3.0. Version 3.0 was going to be released in only 3 months with Japan support and they were willing to wait that long for the improved version. After the lead customer rejected the localized version of 2.0, the entire Japan project was cancelled and the company consolidated to a single codebase for all locales in version 3.0. The entire investment in the 2.0 fork for Japan was wasted.
Greatest Risk is Schedule Slip
$-
$5
$10
$15
$20
$25
$30
$35
Plan (M)
Presenter
Presentation Notes
Of course, the greatest risk in localizing software is not wasted investment; It is schedule slippage. Let’s say our new locales were projected to have a linear revue ramp up to $30M per quarter.
Greatest Risk is Schedule Slip
$-
$5
$10
$15
$20
$25
$30
$35
Plan (M)Actual (M)
ΔNPV = $66M
Presenter
Presentation Notes
If a failed localization attempt slips the release date by 3 quarters, the change in Net Present Value is about $66M. This destruction of shareholder value due to schedule slip usually dwarfs the localization cost itself. Schedules slip because you have incorrect assumptions going into the project.
Requirements Implementation
FAILURE
Presenter
Presentation Notes
Operationally, these assumptions fall into two broad areas: requirements and implementation.
Requirements Implementation
Marketing
Business
Presenter
Presentation Notes
We can group requirements into two categories. These are marketing requirements and business requirements. Marketing requirements are externally oriented and have to do with how the customer will use the product in the new locales. Business requirements are internally oriented. They cover any business processes that must be supported in the new locales. It is important to realize that for global products these are simply assumptions that must be checked in the course of a careful investigation. If we don’t check our assumptions as we enter the new locales, we open ourselves up to schedule risk and may fail to execute successfully.
Presenter
Presentation Notes
Here is a famous example of a market requirement coming from a new locale. Google has the dominant share of web searches in nearly every locale except for China, where it only has about 30% share. When they launched initially in China, the Google China page looked very similar to the user interface for other countries. What they didn’t realize is that Chinese users cared about a different set of use cases than users in other countries.
Presenter
Presentation Notes
It turns out that one of the most popular use cases in China is searching for mp3 files. The number one search engine in China, Baidu, supported mp3 searches directly on their main page when Google launched in the country.
Presenter
Presentation Notes
Now the Google China start page has a link specifically for mp3 searches. Of course there are many factors driving market share. However, the mp3 search issue has been one that is often cited by analysts trying to understand why Baidu is more popular than Google.
Use Cases
Presenter
Presentation Notes
It is important to keep in mind that the use cases required by the new locale are not necessarily the same as those required in the base locale.
Unviable Product
Presenter
Presentation Notes
In the worst case scenario, simply translating the user interface and documentation could result in the product being unviable in the new locale.
Unviable Product
Minimum Viable Product
Presenter
Presentation Notes
Users in the new locale may require support for additional use cases just to get to a minimum viable product. Of course, no one wants to sell a product that is merely “viable”.
Unviable Product
Minimum Viable Product
Leading Product
Presenter
Presentation Notes
They want a leading product. To deliver a leading product you must support key use cases better than anyone else in the new locale. This can be quite a challenge. When you are planning on entering a new market, you should treat your existing marketing requirements as mere assumptions that must be checked for the new market.
Business Logic
Presenter
Presentation Notes
Our other set of requirements are internally oriented. Your new locales may require different business logic.
Business Logic=
How information is transformed as it flows through a company
Presenter
Presentation Notes
Business logic is the set of rules that defines how information is transformed as it flows through a company. Typical business rules determine how payments are processed, how customer records are kept, and forms are handled in a company.
InconsistentDate/Time
Business Logic
Presenter
Presentation Notes
Here is an example of how business logic can be an issue for a global software company. This firm operates in the US, Japan, Germany, and France. Notice how documents are displayed on the Japanese version of their web site. Press releases are dated by year, month, then day while news and events are dated month, day, then year. For whitepapers and press releases, this is merely an annoyance. However, if the same thing happened with invoices, it could be a major problem.
Requirements Implementation
FAILURE
Presenter
Presentation Notes
Another set of issues can come up during implementation.
Core Functions
Presenter
Presentation Notes
Not only must the core functions be made to work in the new locales
Core Functions
Subsystem
ExternalModule
Presenter
Presentation Notes
but external modules and subsystems as well.
Languages
Test
ing
Presenter
Presentation Notes
Integration issues often come up because most of the work in localizing software is in testing rather than building new functionality.
Languages
Test
ing
Presenter
Presentation Notes
The number of languages and subsystems multiply the amount of testing required for a quality product.
Nearly of international
orders lost
Presenter
Presentation Notes
Let’s say you are running an e-commerce site that accepts orders from multiple countries. You are probably using an 3rd party shopping cart to process orders. “According to a two-year study by Forrester Research, major websites in USA turned away almost half of orders coming from overseas. In three out of four cases, the sites were unable to accurately register international address and/or calculate shipping costs.”
Presenter
Presentation Notes
One of the most popular open source shopping cart applications is Zen Cart. The developers claims international language support. However, if you look in their user forums you can see thousands of issues related to language support. Each locale exercises the code in a new way that may generate unexpected behavior.
Localization
Presenter
Presentation Notes
Now let’s discuss risks associated with how you manage your code base. Making software support a new locale is called Localization.
Code Content Base Locale
Presenter
Presentation Notes
In a process called direct localization, new locales are added one by one.
Code Content Base Locale
Content Locale 2
Content Locale 3
Direct Localization
Presenter
Presentation Notes
This can be done either by sequentially updating the main trunk of code or branching it to different versions for each locale. This can be a lower cost option for a small number of locales but can become very expensive and risky as you add more and more languages.
3.0 International
2.0 Japan
9 months
2.0 N America 2.5
Presenter
Presentation Notes
This is the approach that was taken in our earlier example. The base locale of N America was forked to be directly localized for Japan. As we saw, however, this resulted in dead code and wasted effort because the core software needed be re-architected anyway.
Internationalization18
Presenter
Presentation Notes
Let’s contrast this with the process called Internationalization.
I18n
Presenter
Presentation Notes
We’ll abbreviate internationalization as i18n since the word is an ‘i’ followed by 18 characters, then an ‘n’.
Internationalization
Code Content Base Locale
ContentCode I18n Base
Presenter
Presentation Notes
In the internationalization process, we re-architect the entire code base to support an unlimited number of locales. This converts the base locale into what we call an i18n base. The i18n base can support new locales without redesigning the software architecture.
Internationalization
Code Content Base Locale
ContentCode I18n Base
Locale 2Content
Locale 5Content
Locale 4Content
Locale 3Content
Localization
Presenter
Presentation Notes
This allows new locales to be added quickly and inexpensively. Although it takes more effort to re-architect the base locale during full internationalization, it is usually less expensive than direct localization for more than a handful of locales.
Resources to support high
risk locales can approach levels of core functionality
Presenter
Presentation Notes
When you are estimating resource requirements, you should be aware that the resources needed to support new locales can vary widely. In some cases, the resources required for localization can nearly equal those needed to develop core functionality. In other words, you may need to double the size of your team in order to support many locales.
Low
Medium
HighJapanese Traditional Chinese
Presenter
Presentation Notes
Assuming you are starting with English language software, there are different levels of risk associated with adding additional languages. Japanese and traditional Chinese are particularly challenging because they have very large character sets.
Low
MediumSimplified Chinese Korean Middle East Other Asian,
Africa
HighJapanese Traditional Chinese
Presenter
Presentation Notes
Simplified Chinese, Korean, Middle Eastern languages, as well as other Asian and African languages are moderately risky. These languages have non-Latin character sets and may be read from right to left or vertically.
LowWestern, Eastern, Northern Europe
MediumSimplified Chinese Korean Middle East Other Asian,
Africa
HighJapanese Traditional Chinese
Presenter
Presentation Notes
Adding support for European languages is the least risky because their character sets and input methods are closest to English. Unfortunately, its impossible to determine resource levels required for globalization projects purely based on the languages required. To accurately scope resources for a globalization project you have to perform a detailed analysis of the software, the IT environment, and the current test coverage.
Use Cases
Requirements and Implementation
Presenter
Presentation Notes
So remember these points as you begin your software globalization project: Check all of your assumptions related to requirements and implementation as early as possible.
Use Cases
Requirements and Implementation
Code Base ManagementCode Content
ContentCode
Locale 2
Content
Locale 5
Content
Locale 4
Content
Locale 3
Content
Presenter
Presentation Notes
Understand the tradeoffs between direct localization and re-architecting your code.
Use Cases
Requirements and Implementation
Code Base Management
Low
Western, Eastern, Northern Europe
Medium
Simplified Chinese Korean Middle East Other Asian,
Africa
HighJapanese Traditional Chinese
Risks and Resources
Code Content
ContentCode
Locale 2
Content
Locale 5
Content
Locale 4
Content
Locale 3
Content
Presenter
Presentation Notes
And finally, be aware of the risks and resources required for each of the locales you are targeting.
learn more atwww.aeontera.com/resources
thank you!
Presenter
Presentation Notes
Thanks for listening. If you’d like to learn more, please visit www.aeontera.com where you’ll find more educational resources related to global software.