At the start of a software development project one of the first and most critical decisions that must be made is which platforms, frameworks, tools and/or languages to develop with. The list of possibilities is continuing to balloon out of control, so many times there are many more options than any one person could even try to wrap their head around. Utilizing a list of evaluation criteria greatly simplifies this process, but how do you decide which criteria to compare for a software product evaluation?

Here at Amadeus Consulting, we do software product evaluations quite frequently for our clients. Though these comparisons tend vary a bit depending on the type of solution, scope or budget of that particular client, we have been able to refine the evaluation process and criteria down into a reusable assessment rubric. This rubric ensures that we are selecting the product, framework or tool that is best tailored to our clients’ unique business needs.

Whether you are comparing only two products or as many as ten, creating a feature matrix using the following categories will help you decide which choice fulfills the most of your development needs.

Open SourceLicense

Licensing is generally the most straightforward selection criteria. Open Source is a licensing and development model that promotes free universal access to a product’s design and distribution. Other licensing models include per developer fees, annual fees, and academic licenses.

Documentation

Available product documentation is often dependent on the licensing model of that particular product. Open Source software generally has a wealth of user generated documentation in the form of community forums. Other companies may provide official documentation to licensed developers, but the quality of such documentation can vary. Do a bit of Internet research to evaluate the quality of supporting documentation. There are quite a few resources and forums out there where users will rate and review different products based on documentation quality and availability.

Learning Curve

Learning Curve DoodleIt is essential to not only evaluate the features of any given framework or product, but also how user friendly it is for developers. Will you have to hire an expert in that particular product, or can your current staff easily adapt and learn to use it? The learning curve can drastically effect your overall investment in any given product.

Flexibility

The amount of flexibility you need in a product is highly dependent on the type of solution you are looking to develop. Does the product lend itself to integration with outside libraries or frameworks? Are there a variety of widgets to choose from and customize? Can you pick and choose different features?

Performance

performanceObviously you want whichever solution you choose to have the highest performance within your budget, but how is performance evaluated? A major aspect of performance is the actual size of the core framework or tool that is in consideration. Be sure to compare the size of all competing products and also consider any supporting hardware or software required to support high performance levels.

Accessibility Support

This term means that the technology in question is designed in a way that user agents including assistive technologies could access all the information they need to present content to the user. Improved accessibility support isn’t only helpful for users with disabilities, but also for power users of the given system. We generally recommend choosing an option that includes accessibility support.

For more information about software evaluation criteria and feature matrices, check out our other blogs on custom software development and mobile application development. Want to speak with a professional? Visit the Amadeus Consulting website or contact one of our technical experts today!