|
The 10 Things to Consider When Choosing an Outsourced
Vendor
Patrick Kelly; June 27, 2005
Choosing an outsourced partner means considering many different
factors. The right outsourced partner will work with your
company’s specific needs and execute your unique solution. The
wrong outsourced vendor will cost you time and money and will
leave you with an inferior solution. The stakes are high, but if
you have the right approach, you can make an informed decision
and cross the finish line successfully.
To assist you, we have compiled the following 10 things to
consider when choosing an outsourced partner. We will list them
once here, and then go into the details of each.
Having reviewed all ten, let us now begin with consideration
one.
Consideration 1: Understanding the
Power of Team
Today’s software projects are far more complex than they have
ever been. Because of this complexity, it is virtually
impossible for a single person to be an expert at all aspects of
the total software solution required.
The first person you’ll need on the team is a Software
Architect.
Temporarily ignoring the complexities of the hardware, fixtures,
instrumentation, and unit under test, let’s just discuss the
many complexities of the software architecture. You first need a
Software Architect to examine issues relating to application
software. For example: when should LabVIEW be used vs. Visual
C++, Visual Basic, Java, a script language, etc.? What data
storage mechanisms should be used? INI files, Excel files, XML,
an Access database, ORACLE, MS SQL Server, mySQL, waveform
files? What frameworks will be appropriate? Test Executive,
Queued State Machine, Event-Driven, ActiveX, .Net framework,
etc.? These are just the beginning of the critical questions
that the Architect will need to discuss with you.
The Software Architect will then work with you on a number of
design documents, including the Requirements Document, the User
Manual, the Risk Assessment, the Software Test Plan, and the
Software Project Plan. These documents (which are generated at
the beginning but constantly evolving) will guide the whole team
from vision to solution.
With the architecture in place, there are four other functional
categories that will need to be resourced. The first category
relates to the Graphical User Interface and the High Level
Application Software. The second category relates to the
instrumentation and sensors. The third category relates to
proprietary algorithms or mathematical models. And the final
category relates to reporting of results and database storage.
While it is possible to find one person who can be the Software
Architect and be an expert in all four categories, it is
exceedingly rare. You are much better off with multiple experts
making up the team. Let’s talk in a little more detail about the
categories.
Category 1: User Interfaces. Once you start to define the
requirements, there will be Graphical User Interface (or GUI)
Design issues to discuss. Every customer wants a slick,
professional GUI which responds to their every need in intuitive
ways. To handle this, you’ll need someone who is an expert at
creating professional GUIs. Since cost is often an issue, you
will also want the expert to guide you in the most
cost-effective way to build your GUI’s key functionality.
Category 2: Instrumentation. When communicating with GPIB-based
instruments or Data Acquisition cards, you will want someone who
is an expert at programming software to work with your set of
equipment and sensors. All of the work done with the hardware
drivers will need to integrate seamlessly with the total
software solution. So, you’ll need an instrumentation software
expert on the team.
Category 3: Mathematical Algorithms. Most projects have
proprietary protocols, custom algorithms, and critical
mathematical models that have to be incorporated in the design.
You’ll want to have a strong mathematical programmer on the team
who can translate your needs into code, and integrate that code
with the rest of the software.
Category 4: Reporting and Databases. For your reporting, people
typically want to have web-based reports, accessible from
anywhere, which are pulling real-time data from an enterprise
database (such as ORACLE, MS SQL Server, mySQL, etc.). Many
customers want reports to contain waveforms of captured data – a
unique requirement which is not common for a standard database
or script developer. So, you’ll probably need a database and
web-based reporting expert on the team.
Whew. So, we’ve just described a summary of the software issues
needed to make a project successful. Hopefully, you will agree
that a team of experts is far superior to a single person. A
team is also valuable if you consider turnover issues. It is
very risky to have all of the development responsibility and
knowledge in the mind of only one developer. Whenever possible,
you should protect yourself against that risk.
So, you may ask, what do we at LabVIEWexpert do about these
issues? As you may have guessed, we have experts in all of the
key software categories described here, and these experts are
used as needed on projects. If a database or web-scripting
expert is needed for only a week, then you’ll get that person
for the week. If an expert at automating spectrum analyzers is
needed for a few weeks, then you’ll have access to that person
for the time needed. Your project gets to benefit from the team
that we have already built. That is the Power of Team.
Next Page
>

Email:
Patrick@LabVIEWexpert.com
Copyright 2005 LabVIEWexpert.com. All rights reserved.
Product and company names listed are trademarks or trade names
of their respective companies. |