How an independent software testing company can help you improve your quality and
time-to-market while reducing risk and cost
Introduction
Increasingly companies are coming to realize that delivering high-quality software ontime
and on-budget requires that they partner with the best-of-breed vendors for all
aspects of the software development process. These companies want to use more than
one vendor, or multi-source, allowing them to select vendors who are expert in
development, as well as vendors who are expert in software testing.
This paper will explore both the single-source, and the multi-source approach to
application development, highlighting the advantages and disadvantages of each, and
pointing out the distinct advantages that multi-sourcing has over single-sourcing. This
paper will then highlight LogiGear’s strengths, expertise, and thought-leadership as a
preferred multi-source partner for your software testing needs.
Single-Source Application Development
In single source application development, a single vendor is hired to develop an
application or applications, as well as perform all or most of the software testing and
quality assurance (QA) functions. The selection of a single-source vendor may be part of
a larger outsourcing effort or business process outsourcing (BPO) engagement. The goal
in selecting a singe vendor is to achieve the efficiency of only having to deal with a
single vendor, while, of course, driving down costs.
The advantages of having a single source vendor for both software development and
testing are that there is a single point of management, a single service level agreement
(SLA), and a single point of accountability. Many companies incorrectly assume that this
organizational simplicity will further help to drive costs down, while delivering quality
software on-time.
Single source application development is not necessarily the panacea that it would
initially appear to be. There are many trade-offs and potential problems with single
sourcing both application development and software testing. The potential problems with
single sourcing can include:
• Compromising on best-of-breed in testing – When single sourcing, companies
usually focus on selecting a software development partner who also does software
testing. Typically, the primary focus of a vendor is on software development, with
software testing being an additional item for which they can bill. In many
instances, testing is an afterthought, or an adjunct to their primary development
business. It is important to remember that software testing is its own discipline,
with its own methodologies that are separate and distinct from software
development. Treating testing as an afterthought to software development can
potentially lead to quality problems with the resulting software.
• Testing can be in the hands of less-experienced and less-interested engineers -
It is common practice for software development firms to assign their junior staff
to software testing. Testing is often the first step in the career path of new
software engineers who aspire to become software developers. As such, they
typically do not have a testing background, or a good understanding of the
fundamental concepts and practices that make up good software testing, nor do
they want to do testing. Further, they typically do not have, and do not receive,
any formal training in software testing. This can leave one of the most important
parts of the software development process, the testing, in the hands of relative
novices. To make matters worse, these junior testers may be hesitant to point out
problems in the work of their more-experienced co-workers.
• Lack of independence introduces risk into the development process – When
developers and testers are in the same organization, testers can come under
intense pressure to not delay or prevent delivery from occurring. This can be
especially true in an outsourced relationship where meeting or missing delivery
dates may have financial ramifications for the outsourcing vendor. Because of this
dynamic, the customer (outsourcer) may not get true insights into the quality of
the application under development. Even with an SLA, bugs may go unreported
to the customer so that the outsourcing firm can keep its delivery costs down and
meet its delivery commitments.
Multi-Source Application Development
With multi-source application development (multi-sourcing), multiple “best-of-breed”
outsourcing firms are hired, each to perform its own specialized tasks. Using this
approach, a firm would hire both an independent software development company, and an
independent software testing company. Each of these companies would be expert in their
particular discipline.
In such a multi-sourcing arrangement, onshore managers would manage the multiple
vendor relationships and the coordination between the various vendors and themselves. In
many cases, the relationships would be managed at the departmental level with a
company’s development department managing the software development vendor, and the
software testing or quality assurance department managing the testing relationship. Such
a structure would actually create beneficial independence between development and
testing.
There are many advantages in favor of multi-sourcing. These include:
• Companies gain access to best-of-breed firms – By multi-sourcing, a company
can gain access to vendors who are specialized experts in their own discipline, in
this case they would be outsourcing to both a firm expert in development and a
firm expert in software testing.
• Companies gain access to trained testing experts – From the standpoint of
software testing, hiring a dedicated vendor that is strictly focused on software
testing means that a company would be acquiring the services of engineers who
are trained software testing experts. Such engineers understand testing processes,
methodologies, and tools to a high degree of proficiency. This enables them to
perform a more thorough and complete job testing software. In software testing
companies, software testing is not a step towards becoming a developer, but rather
a chosen career path with a clear progression of professional growth.
• Companies lower risk – Risk to the development effort is reduced on many
fronts by multi-sourcing. Companies will be obtaining a high degree of software
testing expertise and professionalism. Companies will also be creating the
necessary and desired independence between the two disciplines, development
and testing, that can contribute to delivering higher quality software. Since the
testing vendor has no “vested interest” in the developed software, they can be
very honest about its quality and readiness for market. Such insight can be
invaluable to company management as they try to weigh quality/time-to-market
trade-offs. Having good information from a testing vendor that you trust can
enable you to make more informed decisions.
• Companies can save money by tapping smaller outsourcing markets –
Breaking up the development process into the components of development and
testing means that a company may be able to tap into smaller outsourcing markets
and vendors, enabling them to lower costs and potentially reducing their exposure
to the engineering turnover (churn) that exists in larger markets and firms.
The main disadvantages of multi-sourcing are that there are multiple vendor
relationships, no single point of contact, and the onshore employees will have to manage
and coordinate the work of multiple companies. This is mitigated by the desired effect of
creating independence between development and testing. Such independence can
inherently contribute to the goal of higher quality software while reducing the risk of
delays, unacceptable post-release support costs, and embarrassing software failures.
These disadvantages can be further minimized or eliminated through the use of effective
testing frameworks that facilitate global teams and good communication. A number of
these tools are commercially available, or they can be developed in-house.
India Equity Research
Monday, August 6, 2007
Subscribe to:
Post Comments (Atom)
2 comments:
Outsourcing software development is one aspect that has been instrumental in catapulting India to the position that it holds today in the field of IT.
http://www.infysolutions.com
Yes I do believe that "Single source application development is not necessarily the panacea that it would
initially appear to be".
Post a Comment