Runtime - The Software Outsourcing Newsletter
for Executives and Investors
from Accelerance and Steve MezakUse QA As Your First Step To Outsourcing
It is common for Quality Assurance, or QA, to be given short shrift in a software development organization, especially when budgets are tight. When debating the software development budget at one of my startups, the CEO finally asked, "Well, do you want to hire a programmer to add features to the software, or do you want to hire a QA guy?" At the time, I had to hire the programmer because we had a huge list of features to implement. It was a tough choice. But we could not afford to implement a QA process without hiring a significant staff of QA engineers and someone to manage them.
In another example, an Accelerance client had developed their software and was getting ready for a Beta release with their first customers. They too had neglected QA. Although the work of their individual programmers was good, the entire system needed testing after the work of their individual engineers was integrated together.
This client realized that going to market without a comprehensive test of the system would be a major disaster. An obvious indicator of the impending doom was the occasional missing data on different screens of the application whenever the VP of Engineering tried to use the software. Their target market contains ordinary consumers who will not tolerate any missing data, confusing behavior or unexpected error messages.
How could such good engineers create such lousy software!?
It is because QA is the ugly step sister of software development. Your software development team does not want to be bothered with testing the entire application. It is not considered a creative or "fun" part of the process. Consequently, QA is often neglected, causing mediocre software and unhappy users.
Outsourcing is an excellent solution to the problem of nonexistent or incomplete QA. Yet several people I have met recently are surprised to learn QA can even be outsourced. "Yes!" I tell them. And outsourcing your QA is a terrific first step to taking advantage of low-cost offshore outsourcing.
One reason QA is such a good place to start with outsourcing is you do not need to divulge your source code. You can deliver a binary version of your software for installation and testing by your outsourced QA team.
Start by finding a team. You may be lucky and know a team experienced with QA testing tools and in a time zone that you are comfortable working with. Otherwise it can take months to go through a reasonable evaluation process. That can all be avoided by selecting one of the highly qualified and proven Accelerance teams.
The VP of Engineering with the missing data mentioned above was very pleased to use such an Accelerance team. Within a week the team was testing and finding bugs. He was able to meet his originally planned Beta release date after all.
Look for a team with experience performing the type of QA that you need. You can divide QA into 5 different types of testing:
- Requirements Testing - making sure your software does what you designed it to do
- Usability Testing - specialized testing that may require focus groups of target users
- Load or Stress Testing - to ensure your software has the required performance
- Environment Testing - testing your software on different operating systems, browsers, etc.
- Regression Testing - an automated process to repeat tests quickly on each new release of your software
Regression is often used with unit testing. Unit testing is performed during programming and requires access to the source code. Other separate regression tests can exercise the user and programmatic interfaces defined for your software without viewing the source code.
Avoid trying to do too much outsourcing at once. Pick the type of testing that will give you the biggest benefit. For example, Regression Testing may be valuable because you can reuse the tests yourself after they are developed by the outsourced QA team. On the other hand, Environment Testing requires a large number of test cases, and low cost outsourcing is the only way to complete them.
Another way to outsource QA is to do it with the same team you use to outsource the software development. One Accelerance client is in this situation right now. An Accelerance team has developed a fantastic web application for them. The client sells the software to customers for use in their sales departments. Each customer will have thousands of sales people using this software to support their sales activities. Now the focus of our client is shifting from adding new features to making sure the software can support an increasing number of simultaneous users.
The Accelerance team working on this project is expert at QA as well as software development and can support their new testing requirements easily. Whether you outsource your software development or do it internally, you can certainly use outsourcing to add low-cost QA when you need it.
In summary, it is important to recognize the value of QA in the software development process. You may start out with a small development team and be satisfied with the quality of their code. As the complexity of the software grows, you can add QA resources either by outsourcing or hiring your own internal team.
When you undertake the creation of a large and complex software project, it is critical to plan for professional QA as part of the effort. If you don't, you run the risk of making a bad first impression and losing critical early sales, funding for future projects, or worse. Even though outsourcing is criticized for eliminating jobs, outsourced QA may be just the tool you need to help keep yours
Vision Resources
![]()
Are you wondering how you will select an expert offshore team
to develop your software?Use the Accelerance Vision Resources(sm) outsourced vendor
selection service and cut the time of your vendor selection
process by as much as 90%.Vision Resources leverages members of the Accelerance's 17
teams in 14 countries around the world.Click here to learn more about Vision Resources
Accelerance, Inc. delivers impartial & expert strategies and services
for risk-free outsourcing of your software development.
Visit our web site at www.Accelerance.com
Until next time,Steve Mezak
Accelerance, Inc.
Risk-Free Outsourcing
213 Garcia Avenue
Half Moon Bay, CA 94019
1-650-712-8990(c) 2005 Accelerance, Inc. All rights reserved. You are free to use material from the "Runtime" eZine in whole or in part, as long as you include complete attribution, including live web site link. Please also notify me where the material will appear.
The attribution should read:
"By Steve Mezak, CEO of Accelerance, Inc. Please visit the Accelerance web site at http://www.Accelerance.com for more information and resources on outsourcing and creating great software products."