Offshore
software development is the same all over the world, regardless of where
it’s done. At FigCloud Group 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.