Expert Witness Services for IT

Sometimes you get what you pay for. Sometimes you get much less

Expert Witness - (noun) a witness who has knowledge not normally possessed by the average person concerning the topic that he is to testify about

Request Info

Sometimes companies purchase software with certain expectations about what the software will do for them only to find that they inadvertently purchased the wrong thing. Sometimes this is an honest mistake. Sometimes it is the end result of an overzealous sales person whose vocabulary consists only of the phrase, "sure it can do that".

Here are some simple rules that might help:

If it sounds too good to be true then it is.

Usually shortcuts in software development result in un-optimized, mediocre or poor performing applications. What does this mean? Sometimes generic controls allow a developer to build a really cool feature into their application quickly. Sometimes, although it looks good, it does not perform well.

Applications increase in complexity by orders of magnitude with respect to the amount of end user customizability the software provides. This increased overhead will affect performance as the number of users and the volume of data increases. It also limits the ability to tune for performance.

There are myriad rapid application development (RAD) packages popping up all the time. They boast fast delivery and "no code". Again, there is a legitimate place for these types of products, and it is usually categorized as prototypes. Insist that the provider includes benchmark reports for the performance that you will require.

If a software provider offers a "custom application" and promises a two or three day delivery schedule, then either it is a really simple application, or it is built using a configurable package, or it is built in a RAD tool. There is nothing wrong with such applications, but you should question all claims made by the software provider. These types of systems generally do not work well under heavy load. If your implementation is on a wide area network with many users, then make sure the software provider discloses benchmark reports showing the system's performance under load conditions similar to your load expectations.

If your software provider gives you a two or three page document that describes the system that he/she is selling and refers to this document as a system specification, be leery. That software provider probably has never seen a real system specification, nor has the patience to read one. A well written comprehensive system specification will include a description of the proposed system, a detailed description of the major program components, actual or conceptual screen images, narratives explaining how the screens function, database structure and design, flow charts, data flow diagrams, report definitions, and a series of scope definitions. It should be accompanied by an implementation plan which includes a testing schedule. Such documentation is necessary to protect both parties. It will take real time and effort to produce such documentation. System specifications should not be confused with proposals or system requirements documents. A system requirements document can be written by the software provider or the customer. It outlines what the system needs to do. The specification details how the system will be built to do what the system requirements document outlines.

Sometimes you get what you pay for. Sometimes you get much less

Not all databases are equal. One could argue the merits of one database over another, but in the end, how the database will be used dictates which is right for your application.

File system databases can offer outstanding performance providing the amount of data stored is limited and they are accessed from the machine where they reside. Performance of such systems degrades when deployed on a local area network where the client application is deployed on each network node and the amount of user data increases. Keep in mind that performance issues of such databases are not limited to the database alone. A poorly written application can exhibit unacceptable performance even with the most robust database server installed on state of the art hardware.

Most modern server based databases run as a service on a server and utilize a common query language such as SQL. Using state of the art hardware only guarantees that that the database server will run as fast as it can. Improperly built databases and applications designed without regard for general performance considerations will exhibit unacceptable results. A well tuned file system based database can outperform a poorly designed server based database, though one would really need to know how NOT to design a database to ensure this.

NET: sometimes you get what you pay for, be it good or bad. Sometimes you get much less.

If you believe your software provider has misrepresented a product that was sold to you, see a lawyer that specializes in technology. If your lawyer thinks you have a case, then he/she may use a company like ours for expert testimony to support your case.


Contact Us

Corporate Headquarters

Practical Compliance Solutions
One Orient Way
Suite F156
Rutherford, NJ 07070

40.827731 N 74.101029 W

Connect With Us

© 2002 - 2024 - Copyright Practical Compliance Solutions - All rights reserved