Evaluation

The British Computer Society define evaluation as:

“An objective review of what has been achieved to establish whether it meets the required criteria. The evaluation might also look at the wider context, the user needs and whether there are any undesirable consequences introduced into the solution.”

Burdett, Arnold. BCS Glossary of Computing (Kindle Locations 999-1001). BCS Learning & Development Limited. Kindle Edition. 

Criteria for Evaluation

There are various criteria that can be used to evaluate a system:

Fitness for Purpose

Fitness for purpose is establishing whether or not your software fulfills all  user and functional requirements detailed in the specification.

Any omissions or issues should be described here. 

For example:

Example of an evaluation of a solution that is fit for purpose (SDD)

During the analysis stage of the development cycle, you  identify the functional requirements when creating the requirements specification. 

The functional requirements are the inputs, processes, and outputs that must be included in the design and implementation of any solution to a problem.

A solution is fit for purpose if (following design, implementation and testing) it meets all the functional requirements

The following examples use functional requirements identified earlier. Both examples assume that a program, website, and database are designed, implemented, and tested.

Following comprehensive testing, the program is fit for purpose.

The solution:

Example of an evaluation of a solution that is NOT fit for purpose

Following comprehensive testing, the database-driven website and its user interface are not fit for purpose.

Although the solution successfully implements all insertions, deletions, and edits of the back-end database table data, it does not:

The solution does successfully:

Robustness

A piece of software is robust if it can deal with exceptional or incorrect data or unusual situations.

Validating in a Software Development Context

In a software development context this should be primarily achieved through the use of validation of user inputs.

Validating in a Database Development Context

Validating in a Web Development Context

Types of Maintenance

When evaluating your software you would need to identify the possibility of any maintenance if there are types of maintenance:

These can be categorised into 3 main types:

Happens in response to requests from the user to add new functionality or improve efficiency. Can you identify any maintenance required from your testing?

Fixing errors in the software.  Usually due to error reports from customers. Again should be identified by testing.

For example adapting older Windows 7 software to run on Windows 10. Or adapting your website to run on mobile devices/different Database servers.

Usability

As part of design and testing you would have conducted some usability testing. This is when an end user will use the product as intended. More about this here.