What is this?
"How much will it cost to make this application work globally?" This is a question often asked
and not easily answered. There are simply too many factors that need to be considered before a
meaningful answer can be provided. And therein lies the Catch-22. Management does not want to
commit any money to globalizing an application without at least a reasonably good estimate of
the cost, but such an estimate requires a significant investment in time and effort.
This page is an attempt to provide a ballpark estimate with a minimal amount of analysis.
How does it work?
This estimator starts with assumptions distilled from many years of globalization experience,
factors in Heisenberg's Uncertainty Principle, refines using the I-Ching, and filters through the
Roumlan's cloaking device, and finally extracts the results from the Pensieve at Hogwarts.
How can I use this?
This page is an attempt to provide a ballpark estimate with a minimal amount of analysis. It
assumes that for an application created using basic software principles, the number of modules
(which can be a subroutine or an object class) that need to be changed will be comparatively small.
These modules generally will perform one or more of the following 5 functions:
- User Output (UO) - formatting output to send to a user, either on screen or in a printed report
- User Input (UI) - accepting and processing input from a user
- Text Manipulation (TM) - parsing, splitting, concatenation, etc of text strings
- Database I/O (DBIO) - updating or accessing a database
- Program I/O (PIO) - communicating with an external program, either on the same computer or
across a network
For example, if a module takes a name entered from a web browser, parses it into first name and last
name, stores it in a database, and sends a message back to the user acknowledging successful
processing of the name, it is considered to be performing 4 of the 5 functions (UO, UI, TM, and DBIO).
Different programming languages provide different facilities for handling globalization requirements.
So when counting the number of modules performing the different functions, it is necessary to count
them by programming language.
One more factor is whether the application is user oriented (interacting with a human user) or data
oriented (number-crunching). Globalizing user oriented applications usually will require more work.
To use this estimator, enter the information in the second tab. In addition to the five functions,
it also asks for the total number of modules and the number of modules that do not perform any of the
five functions. While most of the modules will not need to be modified, it is only prudent to
include some time to perform a minimal review on them.
The data entered in the second tab is sufficient to estimate the amount of effort required to
perform the analysis, coding, and unit test on the affected modules. But additional tests will
be needed. One is to run through the application with various language and cultural data to make
sure that they work correctly, a process often called Globalization Verification Test. This
test may have to be performed multiple times during the development cycle. Another is testing
the result of any translated materials, including user interface, help file, or report.
The information needed to estimate the additional testing effort will be collected at tab 3.
The "Get Estimate" button under tab 3 will send the data to be calculated. The results will
appear in tab 4.
| Disclaimer : The computed results are for information only. No guarantee of the accuracy
or applicability of the results, explicit or implied, are provided. If you really believe
in the results, please contact me using the last tab and I will show you some ocean front
properties in Nepal that will make great investments for you. |