Offshore Game Development Outsourcing

Một phần của tài liệu Secrets fo the game business game development series (Trang 314 - 323)

Overview

Javier F. Otaegui—Sabarasa Entertainment

<javier@sabarasa.com>

The classical definition of outsourcing applies when a company transfers one or more recurring processes to another organization under a contractual agreement. Outsourcing is different from subcontracting and other similar business practices in that it focuses on recurring processes instead of one-time projects [Kelly01].

In the game development community, outsourcing and subcontracting mean the same thing: a game company hiring another company to handle a task such as programming, 2D art, modeling, texturing, audio design, music, scripting, levels, research, testing, or even complete development.

Offshore outsourcing occurs when a company located in another country (usually outside of North America and Western Europe) is hired. The main justification for this growing phenomenon is monetary: offshore game development professionals can be hired for a fractional part of what U.S. or European game developers earn [Yourdon96]. This can imply savings of up to 50% for the entire project budget, a significant and important figure to take into account for your new game development projects.

Why Should You Outsource?

Experts believe that outsourcing is essential to prosper in the twenty-first century. According to [Berger02], companies that outsource are then able to focus on their core competencies. For example, some game development companies could focus on game design and production (their core competency) and outsource the non-core activities of programming, artwork, testing, and so forth.

Beyond this reason, perhaps the most important and decisive factor for many companies is the significant cost reduction that offshore outsourcing implies. Outsourcing to Asian and Eastern European countries for this reason has been a common practice for several years, and recently new countries (e.g., Argentina and Brazil) have entered this worldwide market, due to devaluation processes, with interesting advantages that we will now examine.

Additional Benefits of Offshore Outsourcing

Additional benefits of offshore outsourcing can be summarized as follows:

On-budget delivery. Contracts for outsourcing are commonly milestone driven, with set payments for specific work, so you can rest assured that the project will respect the original budget.

Reduced operating costs. You can hire outsourcing solutions on an as-needed basis, instead of paying full-time staff during downtimes.

Access to specialized skills. You don't need to train your team with a specific technology or methodology;

you can simply hire a specialized team that can do the work.

Access to preexisting code, tools, and libraries. Your development time will be shorter because you will gain access to the contracted developer's in-house tools and libraries, with the additional benefit that the programmers will already be familiar with them.

Myths about Offshore Outsourcing

Deciding to outsource is rarely easy, and it is almost certain that the transition will create uncertainty, controversy, and even active resistance [Kelly01].

The fear of losing control is the most typical objection to outsourcing, commonly reflected in thoughts like "if I want it done right, I'd better do it myself." [Kelly01] points out that in fact, outsourcing increases the ability to manage and control vital business processes. Outsourcing is based on contracts, schedules, and milestones that specify key objectives and guarantee performance.

Another common myth about outsourcing is that people usually think of it as being financially uncertain.

Concerns about upfront costs and ongoing service fees are commonly present; however, with an appropriately written contract, the financial benefits become clear. Structure the contract by milestones and periodical reviews issuing payments on an approval basis. This eliminates all uncertainty about hidden costs.

How to Outsource

There are three defined stages in the game development outsourcing process. The first stage involves the request for proposal and the proposal, with schedule, work planning, and budget. The second stage is

concerned with preparing and signing the contract. The third stage involves the development of the game, and the tracking of milestones and bugs.

The Proposal

The outsourcing process starts when the customer sends the Request For Proposal (RFP), which usually includes the Game Design Document, to the provider for evaluation. This design document should be as complete and accurate as possible, as it will dictate both the estimated schedule and budget. The customer should also indicate if there are strict deadlines, so the provider can assign more people (if possible) to the project. The RFP should also specify the tasks that the provider will assume, whom they will report to, and how the approval process will be structured.

The provider then prepares a proposal for the customer. This proposal must include all the functional requisites of the game, as well as a detailed time schedule for project management. Although this is not compulsory, the provider should also inform the client of how many people will be involved in the game's development, and each individual's specific skills.

The proposal must also include logical divisions of the project in order to specify the milestones. A good rule of thumb is to include a milestone per month. This implies constant supervision and satisfaction from the

customer, as well as monthly payments for the provider.

Milestone definitions contain lists of features and content required for approval. Specifying a process by which items can be exchanged between milestones during development can also help deal with unforeseen events.

This interchangeability will allow the development process to grow more naturally than with imposed artificial schedules.

Finally, the proposal should include a description of how the work will be done: a context diagram of the most important parts of the program, any tools that also need to be developed, and so forth, and a payment structure for the milestones. The final milestone usually has a bigger payment associated with it.

The Contract

Contracts can be signed for a single project or for a set of related projects. [Paul01] recommends not to become entangled in a long-term contract to maintain the flexibility necessary to deal with changing market conditions. This also allows for more dynamic process allocation to different outsourcing groups.

Contracts must clearly depict each party's responsibility. If you are working with separate groups for

programming and artwork, you should clearly specify whose responsibility it is, for example, to convert artwork to final game data files; who is accountable for each component; and how performance will be evaluated.

Although programming and artwork might depend on each other, separate milestone threads should be used for each, especially if they are subcontracted to different companies.

One important issue is code ownership. The customer will demand ownership of the final product, as he is the one who is paying for the work, but the framework and generic game libraries should be of shared ownership.

Finally, the contract should include the proposal as an appendix, to describe the job to be done.

The Development Process

Once the contract is signed, the hard work begins. The developer and the customer now enter into a close

working relationship that will last until the project is delivered. Thus, contracting an outsourcing studio that shares your corporate culture and vision is crucial to successfully develop the product [Jenkins01].

Communications between the provider and the customer are extremely important to the project's success. E- mails, instant messengers, bug trackers, periodical releases, and reviews form the communications spectrum the game designer must implement when hiring an offshore outsourcing development studio. Constant feedback is a must, especially when artwork is being outsourced.

The bug tracker is an important communications channel. The best solution is to use a Web-based system where you and your testers can post details about every issue requiring attention. The bugs should be closed (i.e., officially declared and accepted as fixed) definitively by the customer, once fixed by the developer.

The instant messenger is effective, but only when both parties are located in countries with similar time zones.

A South American team working for a U.S. company will have little trouble coordinating; not so for a team in Russia or Taiwan.

Case Study 4.4.1: The Provider's Side

We asked Sergei Herashenko, from Frogwares (www.frogwares.com), a Ukrainian company specializing in game development outsourcing services, to describe their experience in offshore outsourcing.

Q: Can you tell us what makes your company successful?

Q: How do you manage to make it work despite distance and language issues?

Answers

A: "We have many clients who are very satisfied with our quality and terms of work, and they are much more than happy when they realize that they pay half of the market price for the work we are doing for them! Key factors of success include quality of work, being serious in every detail (terms, deadlines, etc.), and a personal approach to every client."

A: "Most of our clients come to Ukraine to see our development branch, to meet project managers and other people they are working with distantly. The company was set up to be able to work for clients who speak different languages and with considerable time differences.

"All of our developers and designers speak at least English, and some speak other foreign languages. It is very easy to work with European clients because the time difference is only a few hours. With America, it is more difficult, but we can always find a solution, such as adjusting our work schedule to the client's needs."

Choosing the Appropriate Outsourcing Provider

There really are no sure-fire recipes for successful game development outsourcing, but there are several minimum guidelines that should help you when hiring an outsourcing company to develop your games.

The most basic issue is language. Both you and the development team should be able to write and speak the same language. (It is not necessary that they both share the same mother tongue, as most communication will be written.) Also make sure that the language used in documentation will also be used in the code and in the comments. The usual option is to adopt English.

As the outsourcing relationship is a long-termed one, it is very wise to find a team that matches your own culture. It must understand your business and goals, and it must share the same values and information [Jenkins01].

It is highly recommended that you hire a team with experience in both game development and outsourcing, with at least one contract project completed. Although hiring an inexperienced team might be tempting because of lower prices, it pays to choose a stable and trustworthy partner [Paul01].

Timing

Some Asian companies depict as positive the 12-hour time shift between the client and them, because they can work on the requirements and bugs found in the last 12 hours. If real-time communication is a crucial factor in your case, you should hire an offshore team that shares time zones with your home country. This makes nations such as Argentina and Brazil excellent candidates for clients in the United States and Europe; their recently devaluated economies can lead to savings of up to 50% in development costs.

Case Study 4.4.2: The Client's Side

We asked Tenzing Kernan, game designer and producer at Cardoza Entertainment (www.cardozaent.com), for his comments about the outsourcing economy.

"It is not difficult to find a good developer (and lots of not so good ones) by searching on the Internet. However, working with a foreign development team does pose some additional problems, mainly the language barrier, time zone differences, and communications delays. If the language barrier is too great, you must find a new developer. Daily exchange of ideas and feedback is essential. To make sure that the hurdles can be cleared, you should exchange a few practice e-mails with the key people on the project, before committing to the developer.

"You will almost certainly communicate with the developer (especially an overseas one) mostly via the Internet, using both e-mail and chat. Feedback can be slow with e-mail, and even slower if the time zones are

incompatible. You should set a time period during the day when an online chat session can happen. While chatting, many issues can be talked about and resolved in a short period of time. When sending e-mails, include lots of details, and spell everything out clearly—or a simple 10-minute fix might take two days.

"Finally, while it is tempting to go with the developer with the lowest price, it is absolutely essential to choose a developer who will complete the job. Many things can derail a project before completion. The experience of the team's members is more important than their formal education. The key members of the team must have completed a project of a similar size and complexity, or you are taking a big risk."

Conclusion

Offshore game development outsourcing is an excellent way to reduce the development costs of your game project, sometimes to half the original budget, or to drastically increase your product's quality by hiring more quality people for the same price.

Recent national economy devaluations in Argentina and Brazil provide an excellent scenario for game development outsourcing: lower costs, overlapping time zones with the United States and Europe, and companies with proven track records.

References

[Berger02] Berger, J., "The Value of Outsourcing," DecisionOne, January 2002, available online at www.decisionone.com/d1m/news/white_papers/white_paper_08.shtml

[Jenkins01] Jenkins, D., "The New Standard for IT Outsourcing: Delivering on accountability will drive the future of all relationships," The Outsourcing Institute, 2001, available online at

http://verizonit.com/pdf/oi_brief.pdf

[Kelly01] Kelly, T., "Is Application Outsourcing Right for Your Business?" BlueStar Solutions, December 2001, available online at www.bluestarsolutions.com/industry/Is_Outsourcing_Right_For_You.pdf

[Paul01] Paul, L., "Classic Outsourcing Blunders," Darwin Magazine, August 2001, available online at www.darwinmag.com/read/080101/blunders.html

[Yourdon96] Yourdon, E., et al, "Offshore Outsourcing: The Benefits and Risks," Cutter Consortium Research Reports, November 1996.

Một phần của tài liệu Secrets fo the game business game development series (Trang 314 - 323)

Tải bản đầy đủ (PDF)

(404 trang)