Custom Solutions

Even though ESMS is enormously capable and adaptable by configuration parameters alone, we know that it will have to be modified from time to time to support specific customer requirements.  We will provide those services for customers who need them. 

What Are Types Of Customization

Customization is distinguished from configuration because it involves the production of new capabilities through the creation of software to implement the new capability.  Configuration is usually the establishment of proper data values to cause existing ESMS software to perform in a desired way.  Sometimes, configuration will include small software revisions.

Customization typically includes:

Integrating a new field device:  This is a frequent requirement where ICS creates software to allow ESMS to interact with a new or new version of a field device or edge component. 

Interfacing a new third party application: This is a frequent requirement where ICS creates software to allow ESMS to communicate with an application developed by others so that the two systems may share information.

Creating a new capability to serve a specific need: Although projects like this are less frequent they are essential as enterprises adapt software to meet all of their needs and as they evolve.  Customization is available at any point in the system’s evolution so long as the software is kept up to date with upgrades.  We see this type of project when enterprises start projects to gather and use real-time business intelligence.

Adding new data elements to existing system objects:  This is a frequent activity especially in data intensive solutions.

Creating completely new applications:  Creating new applications is also a less frequent project.  But, ESMS has proven over the years to be enormously capable of adapting to brand new requirements and to be extensible enough to make such advancements relatively easy.

The above descriptions serve as examples of things we have done for prior customers.  These descriptions are only illustrative and not limiting.

The Customization Process


Our customization services are based on a project methodology outlined below.   The purpose of this methodology is to ensure that as the project proceeds unwarranted “scope creep” is prevented while still permitting the ongoing problem solving and modifications to the definition of the work necessary to produce a final working system.  Since this approach involves well defined testing, the primary beneficiary of the approach is the customer.  This methodology controls the process to ensure that the definition of the SOW will not be subject to either material increases or decreases without the Owner’s approval.  Since the acceptance testing is developed at the same time, customers can be assured they will get what they want at the end of the project.

Project Phases & Objectives

The list below is a general overview of our approach.  This general approach is always followed but may be extended or abbreviated depending on the complexity of the project. 

      Phase   Phase Objective  

Requirements Definition

Determination and explicit documentation of the requirements that must be achieved as a part of the project.  A variety of methodologies will be applied depending on the work.
  This phase includes development of a requirements traceability matrix and test plan. An initial draft of acceptance testing procedures, which will evolve with the project.  At each subsequent phase these procedures are updated and mutually agreed upon changes are incorporated. 
  Specification of additional services and materials needed to complete the project.  Typically this includes any costs to create a testing environment that will fully exercise the new capabilities.    
  Detailed specifications of software to be developed to meet the requirements.
  Detailed specification of test procedures to verify software meets the design. 
    Design Phase    
  Technical Design of any custom software specified in the preceding phase. 
  Detailed specification of test procedures to verify software meets the design.
    Development Phase    
  Development of any custom software defined in the preceding phase. 
  The actual assembly of the essential system computer components and the full system software including the newly developed components.
  Conduct of the Factory Acceptance Test including regression testing.  This task includes customer acceptance of the deliverables.
  Technical support provided to the various vendors whose services responsible for deployment.  We fully participate in deployment when required.
  Initial training is conducted during this phase.
  A deployment test or field verification test may be conducted.
  Actual activation of the system and placing it into full operation.
  Full system testing as prescribed including system performance testing and system availability testing.
  Continuing Support including Software Enhancement Services and Technical Support Services as purchased.