Offshore software development is the same all over the world, regardless of where it’s done. At Orient Software Development Corporation (OSD), we set the industry standard for offshore development. When you work with our teams, the project manager will communicate with you directly about our progress in every step of the project. This includes the initial project development, a thorough analysis of your needs, documentation of all the requirements, prototype creation, product development and testing, market release, integration with your existing business practices, and ongoing technical support. Even though our work is performed offshore, it will seem as if we are working at your side, thanks to our exceptional communication and the use of the Internet.
Modern businesses are under significant pressure to reduce their expenses, raise productivity, recruit, and retain top talent, gain recognition for their business practices, use diversification to manage risks, and bring new products to the market quickly. Offshore outsourcing is one way that businesses are meeting many of these goals while enjoying four main benefits.
- Reduced costs: Highly educated and experienced information-technology professionals who live overseas earn less than do their counterparts in Europe and North America. The savings on labor costs mean that your business can do more with less.
- Talented workers: There are many professionally qualified professionals in the IT industry in Vietnam, and they have years of experience in the areas your company needs help with. Using their vast knowledge base and raw talent, they can deliver IT services of the highest quality, at a fraction of the price you would pay be doing things in-house, or even using local or national contractors.
- The best in the business: Good offshore development centers are obsessed with continuously improving their processes and offering the highest-quality services. When you choose to use an offshore development center that is reliable, predictable, and efficient, you can minimize the risk of having a project fail or not be delivered on time. Most of the IT vendors in Vietnam are renowned for its culture that constantly strives for perfection.
- 24/7 service: When you choose to use offshore development in Vietnam, you’ll find that the time difference works in your favor. When you’re staff members are getting the rest they need at night, our IT professionals are hard at work, developing customized software solutions for your IT needs and other projects so that you can get your products and services to market faster than you ever thought possible.
Many studies have shown that more than 90% of the Fortune 500 companies use outsourcing to meet at least some of their IT needs. Most of these companies have ongoing budget lines for these outsourced functions year after year because they know that outsourcing yields significant cost-reduction benefits. These companies also know how important it is to select the right vendor, and they tend to prefer using an offshore outsourcing center that has an onshore office that responds promptly to questions or problems that may arise. Finally, these companies fully understand the importance of maintaining good communication with the chosen contractors so that they can monitor the project as it advances and make the most of the business relationship.
Outsourcing can improve the performance and profitability of virtually any company, but some businesses are more prepared to benefit from offshore outsourcing more than others. Consider the statements listed below. If some or all of them apply to your business, then you should seriously consider beginning to outsource some of your work.
- You often wonder whether you’re making optimal use of your existing resources.
- You’d like to find ways for your IT staff to improve the efficiency of your business. * You’re concerned about how your company can keep up with rapidly changing technologies.
- You ask yourself whether your company’s IT department could handle things more quickly and more effectively.
- You’re interested in offshore outsourcing and want to learn more.
- You’re concerned about your employees’ reactions to outsourcing and want to know more about what options they’ll have.
If you’re looking to save money on IT and software development, offshore outsourcing is a great way to take advantage of the best and most innovative solutions available at a low cost. And while you’re cutting costs and getting better services, you’ll find that your company has much more time and resources to dedicate to improving its core functions, building its core competencies and becoming more competitive. Companies in software development and website development are increasingly recognizing the benefits of offshore outsourcing.
Virtually any type of project can be outsourced in theory, but in reality, most companies want to retain in-house administration of their databases and networks. But beyond that, any project that is outside of a company’s core business functions is a candidate for outsourcing to a vendor either overseas or within the country of operations. It is not unusual for companies in website design and/or software design to have long-term business relationship with outsource vendors and send them almost all their projects.
Most managers at software companies plan their outsourcing budgets with the assumption that they’ll be able to reduce costs by at least 30%. If this estimate is expanded to include labor costs for development, training, and implementation, then it may rise to 50% cost reductions for offshore outsourcing. In other words, the anticipated return on investment can be impressive, depending on the specific details of the project that you wish to outsource.
There is no one best way to pick your outsourcing vendor, but there are many tips and guidelines that will help you avoid some of the costliest pitfalls. Selecting the correct offshore service provide is difficult, yet critical to the success of your outsourced project. First, make sure that you develop an adequate, thorough, and accurate RFP (request for proposal) and distribute it far and wide. This will make the vendors compete with one another, so you will be able to get a lower cost and choose among many qualified bidders. Before you begin culling through the bids, have a mental image of the type of vendor you are looking for. As you read the bids, if the vendor does not seem to match your image, eliminate it from the pool of potential vendors. Once you have a shorter list, insist on speaking with at least one former client for each vendor to ask for a professional reference. Be sure to ask that client not only about the quality of the service, but also whether the product was delivered on time and within the original budget. When you are ready to make a final decision, consider a variety of factors and don’t be swayed by superficial attractiveness.
There are many international certifications, such as ISO 9001 and SEI-CMM Levels 3-5, that indicate a high level of technical proficiency. Working with such vendors should make you feel more confident that the final product will meet your specifications and quality standards. However, certified vendors tend to charge more than their non-certified counterparts, so you will need to decide whether the higher quality merits a higher cost, especially if your primary motivation for outsourcing the project is to save money.
When you’re selecting a vendor for outsourcing your software development needs, it is appropriate and necessary to ask for samples of the code that the vendors have developed for other clients, and then send those samples to expert programmers for assessment. Once you have selected a vendor, you must convey your company’s standards for coding, making sure that all the relevant requirements are specified in the contractual agreement. Your agreement should also require that prototypes or at least mock-ups of the software program be shared with you before the final coding begins. Ask the vendor about its policies and procedures for identifying, tracking, fixing, and managing software bugs, and be certain that you will have access to the bug reports during the software development process. If your vendor doesn’t have bug reports, you should provide a template and give it to the vendor with an expectation and/or contractual obligation that the vendor will complete the reports on a timely basis and share them with your onshore team.
By definition, an offshore OSP (outsource service provider) will take at least partial control of your project. You do not want to be involved on a daily basis, so you must be able to trust the vendor’s team to handle the minor, day-to-day decisions and project management. This can be scary, especially if you’re accustomed to tight control of on-site projects but remember that you are seeking the final product. It doesn’t really matter how the vendor develops that product, as long as it meets your specifications on time and within the original budget constraints. However, that doesn’t mean that you should give the vendor free rein. Make sure that your contractual agreement contains enough information about software specs, processes, procedures, deadlines, and milestones so that you can monitor progress and quickly learn of any problems.
Your contract can and should include financial penalties for the vendor should it be unable to meet all of the obligations spelled out in the contract. Unfortunately, the stricter you are in your contract, the more likely the OSP will be to increase its profit margin for greater security, thereby increasing your project costs. Consequently, your contract provisions should be adequate to cover your potential losses, but also flexible and based on compromise. Particularly regarding the timeline, be sure to specify important milestones and critical deadlines, but include any more detailed timeline as an appendix to the agreement.
Project specifications are critical, because they determine what type of final product will be delivered to you by the vendor. The documents should be clear, accurate, and thorough. If they’re anything less, take it as a sign that you’re working with a vendor who doesn’t have a lot of experience drafting documents that meet the standards of your work culture. Specifications should be thorough, but even though they cover complex topics they should not be difficult to understand. This applies to specifications for the final product, processes, and procedures. Be sure to include specific deadlines and milestones, and state how and when the source code for your new software should be transferred to you. Receiving the code as it is developed, rather than waiting until the product is finished, is a good way to mitigate your losses should the vendor suddenly become unable to finish the project. For example, if your vendor can’t meet deadlines, you can take the code that you already have and give it to another OSP as a solid starting point for picking up your project.
Traditionally, software development was done through a waterfall approach, involving rigidly sequenced and structured phases of planning, creating, and testing the software. In contrast, the iterative approach overlaps the different phases of your project. This means that complex projects can be broken into more manageable parts and the teams still produce the same high-quality results. Iterations operate independently, so one group can be working on one part of the project and another can begin a different part without waiting for the first group to finish its job. Given the flexibility of this approach, it becomes easier to make changes in the project specifications, and risks can be identified and dealt with much earlier. In addition, teams tend to reuse and adapt each other’s work because the iterative approach encourages integration and collaboration. But just like the waterfall approach, the iterative approach allows you to receive and pay for specific parts of your project. Because there’s no need to wait until the entire project is finished, you’re able to mitigate the risks of outsourcing.
When you’re outsourcing software development, it’s likely that your company’s intellectual property is involved. Vendors and clients usually do not compensate each other for the exchange of this information, but if another party is involved you must take measures to put the proper licenses and agreements in place. One of the most important things to consider regarding intellectual property rights is who will have ownership of not only the final software product, but also the methodologies, techniques, and properties that were used during the project. If your company wants to be the sole owner, expect to pay more to negotiate these rights. Often it is more advantageous to find a middle ground that is acceptable to both parties.
Inevitably vendors are more interested in the most prestigious and profitable projects. But you can take measures to ensure that your project doesn’t get overlooked or neglected. First and foremost, make sure that your contract includes a detailed timeline with many deadlines and delivery points. The vendor should incur financial penalties if it doesn’t follow your schedule or if it doesn’t meet your specifications. You might want to consider using a system of incentive payments, too, for when the vendor achieves milestones sooner than expected. But the best way to make sure that your project is a priority for the vendor is to work with a vendor whom you trust and develop a professional long-term and high-value relationship.
If your project is relatively small and simple, visiting an offshore vendor may be an unnecessary expense. On the other hand, if your project is expensive and long-lasting, visiting potential vendors before you select them and/or visiting your chosen vendor during the project can be a wise investment. One way to reduce costs is to work with an OSP that has an onshore representative whom you can interact with. Although communication and project monitoring are much easier when there’s an onshore office, the OSP usually charges more for this convenience. If your chosen vendor does not have an onshore presence, it is probably a good idea to visit periodically. Sometimes the OSPs charge clients for these visits, so be sure to ask ahead of time. You need to clearly state your reasons for wanting to visit and make sure that your presence doesn’t create unnecessary distractions, delays, or discomfort.
Communication between organizations is generally difficult, and this is especially so when the vendor is located in another country and you do not have the opportunity to meet in person. Contracting with an OSP who has an office in your country can address this problem, but if that isn’t an option you’ll have to rely on instant messaging, exchanging emails, and using the phone. Unfortunately, given differences in culture and language, there is a high potential for misunderstanding. To minimize these pitfalls, be sure that your chosen vendor has team members with an adequate knowledge of English and prepare your own employees for the challenges of cross-cultural collaboration.
During the project’s implementation, you’ll probably communicate with the OSP’s top manager(s) when you want to discuss high-level concerns. But more mundane day-to-day issues should probably be discussed at lower levels, where people are developing and testing the software. If you’re in upper management, be careful that your questions and comments to the people actually doing the work don’t create confusion and distraction. Your OSP should identify a team leader who is always available to discuss the offshore team’s progress, and this individual is probably your best point of contact.
If your vendor is located on the other side of the globe, you may be in a situation where the vendor’s employees are leaving when your team is just arriving to begin the business day. Obviously, this makes communication more difficult. The best way to work around this is to schedule online meetings at times that are convenient for both your company and the vendor. With a little creativity and flexibility, the difference in time zones can work to your advantage, because you can put onshore and offshore teams in rotating shifts, letting your software development continue virtually without stopping, day and night.
There are three things that can go wrong in any project: the specifications, the timeline, and the budget. Of these, the most common source of problems is the schedule. It may help to reschedule the project, pushing back milestones and deadlines to accommodate delays. However, if work continues to be delivered later than expected, or if you are unsatisfied with the workmanship and/or communication, you should consider terminating the relationship and selecting another vendor.
A consulting firm, Forrester Research, forecasts that 3.3 million jobs and $136 billion in wages in the U.S. service industry will be outsourced to other countries in the next 15 years. According to the Meta Group and IDC, approximately 60% of mid-sized companies currently choose to outsource their HR and IT functions. Some of the countries with growing OSP industries include Vietnam, Russian, India, and China. If you’re interested in outsourcing, you’re in good company.
When you send OSD an email, we respond within a few minutes. If you want even faster communication, we’re available to chat via instant messaging programs, too.
We have developed specialized tools to help us obtain an accurate and thorough understanding of any project’s scope of work, budget, and timeline. Our in-house talent includes experienced project management experts who use analytical tools to create accurate estimates of the time and other resources needed to complete your project. Once we fully understand the resource requirements, we offer your business a comprehensive estimate and schedule, and then Microsoft Project, Dwins Netoffice, and Mantis help us keep our teams on-track and monitor the project as it progresses.
At OSD, we understand that projects sometimes change mid-stream, and we’re experienced in managing those changes and addressing scope creep. For a relatively minor change, your company should speak with the appropriate OSD project manager to implement it as soon as possible. Depending on the size and nature of the change, we may need to submit a revised budget and/or timeline for your company’s approval before we can implement the change.
The OSD team working on your project will include experts in quality assurance who follow time-tested processes for extensively testing any new software system. Our quality-assurance processes have a solid foundation in the industry’s best practices, but they have also been customized to meet the specific needs of offshore development. Here are just a few of the key components of our quality initiatives:
- We perform tests at each phase of the Software Development Life Cycle
- Our project management methodology is closely intertwined with our quality assessment procedures
- Every OSD team includes experts in quality assurance for your software
- We use a software program known as Mantis, which records all types of quality concerns related to our custom software development
Staff inevitably come and go, so it is critical for organization such as OSD to retain their project-specific knowledge over time. To that end, we always make sure to have a “shadow resource” for every 5-6 IT experts who are working on your project. That way, even if those software developers leave, we’ll always have someone on staff who knows the ins and outs of your new software program. We also have high standards for developing and maintaining detailed documentation for each project. In the future, we can always return to those documents as a source of information about your software.
We have software tools that help us identify software bugs, prioritize them, and track our progress in fixing those bugs. Our support teams respond immediately to software bugs that are categorized as being urgent.
Before accepting a project, we must thoroughly understand the scope of work, and that requires working together with our clients to gather all the details. If your company does not have any specs worked out, we’ll ask you to describe the desired system in one or two pages. Based on that document, our team of IT experts will develop the formal, technical requirements of the software program that needs to be created. We pass the document back and forth with our clients for review to make sure that we’re on the same page. Depending on the size of the project, developing a detailed scope of work can take a few days, weeks, or months. Once all the specific requirements (which we refer to as the project’s “Bible”) have been reviewed and approved, we ask the client to sign a document to that effect and then begin developing the custom software.
At OSD, we pride ourselves on our use of project management tools and methodologies that let us deliver new software programs on time and within your budget requirements. When the project begins, we work with our clients to identify appropriate deadlines and milestones, and then we have a sign-off process for each deliverable as the project proceeds.
In an ideal world, the scope of work would never change, but we understand that this simply isn’t realistic for many of our clients. So, our processes rely on “XP” Extreme Programming, which is designed to handle these kinds of changes. Approximately half of our time on any project is spent in design, building the architecture, creating prototypes, and developing documentation. This happens before we begin any of the coding. This maximizes our flexibility in accommodating our clients’ changing needs. Clients can give their screen-by-screen approval of our prototype, and through this process we’re usually able to identify most or all needed changes before the complex coding process begins. Our entire process is designed to accommodate iterative, interactive changes from our clients.
Our HR policies and procedures are designed to recruit and retain the best and brightest minds in IT. We foster a work environment with ongoing professional development opportunities, continuous learning, healthy competition among our staff, and dynamic collaboration. We offer competitive compensation packages for the local economy, as well as performance-based incentives. Consequently, OSD’s attrition rate is low, and this employee retention lets us give your projects the continuity that they need.
Our human resources team includes recruiting experts who know where, when, and how to find the most highly qualified experts in C#, PHP, Java, Oracle, .NET, and related software-development fields. Potential team members are invited to participate in an initial interview. This launches our rigorous selection process, which includes a test of technical knowledge, communication skills, and proficiency in English, as well as a discussion with an OSD group and another interview. Occasionally we invite our clients to interview the job candidates as well.
No matter what size a project is, OSD always assigns one project manager with the responsibility for delivering the final custom software solution that meets all the project specs and is presented to the client on budget and on time. Our clients have regular and direct communication with the project manager, who serves as s single point of contact and provides updates about the project’s progress. The project manager uses Microsoft Project and Dwins Netoffice to assign all internal resources to the project and to assign specific tasks to team members. This simplifies the process of measuring and monitoring the project’s progress.
At OSD, our chosen version control system is Subversion.
We have completed a variety of custom software programs for our clients. The largest involve millions of lines of code, but the smallest may have just a few thousand lines. Many of our complicated projects have teams of 6-10 members developing software for three months or longer. We’re always ready to discuss the complexity of the type of software that will be able to meet your specific business needs.
Per our contracts, the client always has full proprietary ownership of the conceptual ideas, design, documentation, and coding for the software that we develop.
Throughout the software-development process, our clients continuously receive copies of the relevant files to encourage their involvement and interaction in the development process. Documentation, design, and code is regularly exchanged between OSD and the client for review and revision, and sometimes this happens even daily. This high volume of deliverables lets our clients rest assured that their projects are moving forward quickly and smoothly.
OSD team members are experts in many technology platforms. Our knowledge and experience let us create exceptional custom software programs for our clients. Specifically, we have completed offshore software development in the following areas:
- Application packing services
- Client/server applications
- Legacy migration applications
- Web services
- Online applications
Our offshore programmers are all proficient in English and they use the same software tools and programming languages that are used around the world. This means that your code development is in English, as is our project managers’ communication with clients.
OSD has mandatory policies and procedures that require our programmers to adhere to standard coding practices and always document their coding work. This not only helps our clients understand our work, but also allows us to update and maintain the code during the warranty period after delivery of the completed custom software.