failure of global software

49
of Enterprise Software in Global Markets

Upload: aeontera-inc

Post on 18-Dec-2014

559 views

Category:

Technology


1 download

DESCRIPTION

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

Page 1: Failure Of Global Software

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.
Page 2: Failure Of Global Software

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.
Page 3: Failure Of Global Software
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.
Page 4: Failure Of Global Software

What are the

RISKS?

Presenter
Presentation Notes
In this talk we’ll show you some of the greatest risks of building global software
Page 5: Failure Of Global Software

How to manage?

What are the

RISKS?

Presenter
Presentation Notes
and how to manage those risks.
Page 6: Failure Of Global Software

Use Cases

Requirements and Implementation

Presenter
Presentation Notes
We’ll talk about risks from bad assumptions on requirements and implementation
Page 7: Failure Of Global Software

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
Page 8: Failure Of Global Software

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.
Page 9: Failure Of Global Software

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.
Page 10: Failure Of Global Software

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.
Page 11: Failure Of Global Software

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.
Page 12: Failure Of Global Software

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.
Page 13: Failure Of Global Software

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.
Page 14: Failure Of Global Software

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.
Page 15: Failure Of Global Software

Requirements Implementation

FAILURE

Presenter
Presentation Notes
Operationally, these assumptions fall into two broad areas: requirements and implementation.
Page 16: Failure Of Global Software

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.
Page 17: Failure Of Global Software
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.
Page 18: Failure Of Global Software
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.
Page 19: Failure Of Global Software
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.
Page 20: Failure Of Global Software

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.
Page 21: Failure Of Global Software

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.
Page 22: Failure Of Global Software

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”.
Page 23: Failure Of Global Software

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.
Page 24: Failure Of Global Software

Business Logic

Presenter
Presentation Notes
Our other set of requirements are internally oriented. Your new locales may require different business logic.
Page 25: Failure Of Global Software

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.
Page 26: Failure Of Global Software

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.
Page 27: Failure Of Global Software

Requirements Implementation

FAILURE

Presenter
Presentation Notes
Another set of issues can come up during implementation.
Page 28: Failure Of Global Software

Core Functions

Presenter
Presentation Notes
Not only must the core functions be made to work in the new locales
Page 29: Failure Of Global Software

Core Functions

Subsystem

ExternalModule

Presenter
Presentation Notes
but external modules and subsystems as well.
Page 30: Failure Of Global Software

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.
Page 31: Failure Of Global Software

Languages

Test

ing

Presenter
Presentation Notes
The number of languages and subsystems multiply the amount of testing required for a quality product.
Page 32: Failure Of Global Software

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.”
Page 33: Failure Of Global Software
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.
Page 34: Failure Of Global Software

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.
Page 35: Failure Of Global Software

Code Content Base Locale

Presenter
Presentation Notes
In a process called direct localization, new locales are added one by one.
Page 36: Failure Of Global Software

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.
Page 37: Failure Of Global Software

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.
Page 38: Failure Of Global Software

Internationalization18

Presenter
Presentation Notes
Let’s contrast this with the process called Internationalization.
Page 39: Failure Of Global Software

I18n

Presenter
Presentation Notes
We’ll abbreviate internationalization as i18n since the word is an ‘i’ followed by 18 characters, then an ‘n’.
Page 40: Failure Of Global Software

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.
Page 41: Failure Of Global Software

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.
Page 42: Failure Of Global Software

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.
Page 43: Failure Of Global Software

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.
Page 44: Failure Of Global Software

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.
Page 45: Failure Of Global Software

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.
Page 46: Failure Of Global Software

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.
Page 47: Failure Of Global Software

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.
Page 48: Failure Of Global Software

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.
Page 49: Failure Of Global Software

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.