⇓ More from ICTworks

9 Criteria to Evaluate an Existing Software Code Base

By Siobhan Green on April 7, 2014

code-base

One of the services Sonjara offers is a Technology Evaluation. Usually a client has inherited an existing website or application and they need an independent evaluation of what state it is in and what they should do next.

While we have detailed all of the steps and stages of a full technology evaluation for an existing code base, we thought you’d like to know the criteria we use to specifically measure the quality of a site’s code:

  1. Readability: how easy is the site for another experienced developer to “read” — are functions well named? Is there good use of commenting in the code base? Is the code formatted across different developers?
  2. Adaptability: how easy is it to make minor, common changes to the site? For example, how easy is it to add new fields to the database, add additional content or choices, or change the user interface?
  3. Maintainability: how easy is it to maintain the site on production, without outages, errors or issues requiring the developer to get involved?
  4. Performance: how fast is the application? Does it hang or time-out? Do the pages load in a timely fashion? Does it scale when loads get high or while running CPU intensive functions?
  5. Accuracy: is the site capturing and displaying data accurately? Does the database have data corruption? Are there existing bugs in common features?
  6. Security/Privacy Protection: based on the requirements, what are the security and privacy protections in place against unlawful access? Are there logs, password encryption, SSL certificates, or separation of personally identifiable information? Have common security processes been implemented against common hacking vectors, such as sanitizing your inputs?
  7. Interoperability: if the data in the database either needs to migrate to a new system or be exported/exposed to another system, is the data model structured in a way to make this easy?
  8. Usability: is the site easy to use by core users, including the site administrators? Is the site optimized for the most common users? Are there common data validation tools to avoid bad data entry (such as requiring date formats)? Does the site conform to common standards of user interface design and accessibility? Does it look professional and trustworthy for the audience?
  9. Software Engineering Process: Is it clear that the previous team used standard software engineering processes such as version control, change control procedures, a testing framework for security, load, cross-browser compliance, and 508 compliance? Is the code documented and is it updated? What is the process for database management for the production environment?

Our goal in any technology evaluation is to give our clients information on the best next steps for technology that they have inherited or own. Getting an independent set of eyes can be invaluable to determine where to put your resources.

Filed Under: Software
More About: , , , ,

Written by
Siobhan Green has 20 years of experience managing and developing international development programs as is the co-founder of Sonjara, Inc. is a woman-owned small business
Stay Current with ICTworksGet Regular Updates via Email

Sorry, the comment form is closed at this time.