The Project Plan: Define the purpose of the project, what the expected end result will be, statements of ownership, acceptance criteria, installation
process, warrantee, support agreements, the projected project schedule and cost, and a list of what will be delivered to you
(such as hardware, software, source code, documentation, and detailed design documents). There should also be a clear understanding
of the impact of the work on any warranties of underlying components. For example, if you are adding software functions to
a LIMS or instrument control system, will that void the manufacturer's license, warranty, or support agreements. In addition,
there should be an understanding of what will happen if the underlying software is upgraded, if the added functionality breaks
or is incompatible with features of the upgraded software, or if changes are required to the installation.
Functional Specification: Describe all functions of the software components, commands, screens, etc. This should be complete so that you can get a feel
for how the system will work. You may want to have the users review it to see if there are any process issues.
Design Documentation: A breakdown of the system (hardware/software), how it will function, equipment required, software required for changes (e.g.,
operating system, compliers, editors), and design revision history. Be sure that the new system is easy enough for engineers
to understand and even modify.
Also, the outsourced company should provide a fully documented source code listing and a user manual that describes how to
use the software. This is a lot of documentation and will increase the price of the outsourced project, but its purpose is
to make sure that everyone understands the new system and to protect your laboratory in case the current developers are no
longer available to you.
Ensure upfront that all documents and machine readable code, for example, CD-ROM or DVD, are put in an escrow account to be
released to you if the outsourcing provider company stops supporting the product, goes out of business, or does not meet its
support obligations. This will also protect you if the software firm is acquired by another company.
Outsourcing projects—from testing, to method and systems development—can be an effective way of extending your laboratory's
capabilities. Care should be taken to ensure that the results of these projects can be integrated with the rest of your laboratory's
work and, in the case of development programs, be supported and meet regulatory requirements.
Project management will be a mix of managerial and technical issues that can be made simpler by establishing a firm foundation
of policies and practices that cover both in-house work as well as contracted programs.
Joe Liscouski is the vice president of technology development at Delphinus, Inc., Groton, MA, 978.448.2836, firstname.lastname@example.org