The benefits to the programmer working on this project include
1) Opportunity to collaboratively define and identify requirements
2) Utilize creative design and programming skills
3) Solve an extremely interesting problem in industry that has plagued your peers
Please see detailed document that accompanies this RFP.
HIGH LEVEL DESCRIPTION
Many companies "copy-paste-and-modify" code in their software development work. They qualitatively realize that they have a great deal of redundancy in their software, but do not have the means of quantifying this redundancy. What would be useful then is a tool which can detect redundancies (and therefore potential reusable software) within a company's inventories.
Similar tools currently exist in industry. Examples include:
1) UNIX diff and cmp commands;
2) Clone detector software: [url removed, login to view];
3) Duplicate code detection module: [url removed, login to view])
The remote feature capability for the tool is now *required*. Please take that feature into account in your bids.
“Lite” (demo) version of tool - We need to have a "lite" (demo) version of the tool created in addition to the “full” version. Please take this into account in your bid price and time estimate. A potential client company should be able to use the "lite" version to scan its software inventory. The output of the "lite" version, however, would only indicate to the potential client company the number of "duplicates" found from scanning its inventory and perhaps show one or two "duplicates" in detail.
Shown below is the business process flow by which the "lite" and "full" versions of the tool will be used:
· 1) Apply full version of tool to potential client company’s website
· 2) Identify email address of contact person at potential client company
· 3) Email introduction to contact person that consists of results of tool (full version) analysis on their company website (at no charge); a “lite” (demo) version of the tool; service and seminar descriptions; and an offer to remotely apply the full version of the tool on the potential client company’s software inventory. (The potential client company should also be able download the “lite” version of the tool from our company website).
· 4) If contact person accepts, remotely apply the full version of the tool to the potential client company’s inventory of software (at no charge)
· 5) Present the results of the full version tool scan on potential client company’s software inventory at their location (or to their representative if he/she attends one of our seminars.)
· 5) If there is substantial duplicate software, offer to help establish an internal software reuse program
· 6) If potential client company sees the value, establish internal software reuse program for them
· 7) Apply the tool (full version) at certain intervals during the software reuse program to determine whether the amount of duplicate software is being reduced.