Due Diligence‎ > ‎

Software Isolation

At various stages in a software project's lifecycle (at major project releases, or when entering into negotiations to acquire a software asset from another company, etc.), it is important to isolate the software project from the larger business. Doing so ensures that an exact known state of the software project can be reproduced at a later time or different location.

However, such isolation is a tricky prospect - software projects grow and change and become a part of their larger organization, much as a tree grows and mingles with the soil and becomes one with its environment. In order for the tree to thrive in a new location (in order for the software project to be reproducible), it is necessary to take enough of the soil the tree is growing in, without taking so much that the entire environment is preserved (it is necessary to store every single required resource and bit of knowledge needed to duplicate the software development environment, while still separating it from the existing business environment and culture).

An expert is needed to separate the software project from the business. However, asking the developers who work with the software project to perform the separation is less than ideal. These developers are very close to the project, and as such tend to take required details about the project for granted. In addition, certain business practices might influence the build procedure in non-obvious ways, and people internal to the company may not realize which business practices are necessary to preserve. This makes it very difficult for businesses to separate themselves from their own projects.

An Expert Gardener
At Portable Knowledge, we are experts in software and technology projects. And, we are not so close to your project as to take key details for granted. As such, we can act as a trusted, expert gardener to prepare your tree for transplanting -- to isolate your complex software project. Our Software Asset Isolation service takes the guesswork out of freezing software and technology projects at a particular point in time. We do this by:

  1. Analyzing the project to determine all necessary resources, personnel private knowledge, configuration settings, and other data needed to correctly build your software project
  2. Duplicating these resources in a virtual machine environment where possible (if specific hardware is required, we can work with you on ensuring physical hardware duplication consistency as well)
  3. Ensuring that the software builds in the new environment
  4. Comparing the software built in the new environment to a known gold standard.
  5. Noting and fixing any inconsistencies
  6. Archiving the new environment for future duplication
In addition, we can work with IP escrow companies to escrow the archived environment if required.