Software Audits for Better Decision Making
Every piece of software has a limited lifetime and can’t be determined by any trivial means like counting years from when the first version (or the latest update) was implemented. Some old systems in relative static business environments can operate for several decades (with some artificial respiration) while some new applications with poor implementation can face major rewrite needs after only few years of existence.
Software lifetime is a complex attribute that depends on factors such as its architecture, technologies, user platform, structural quality, used practices, etc. Sometimes the end of lifetime can be caused by external factors.
The evaluation of the state of a software system or application state is best done by an independent external partner; someone competent who is not tied to its current status and therefore having a fresh pair of eyes. Eficode implements software audits for Due Diligence and for other purposes. A software audit is a review audit which focuses on finding the current status of a software system and leads to better decision making when considering the acquisition of a software product/service company or whether or not it is time to start renewing a legacy system.
Software Audit Focus Areas
- System design, architecture, data models, code size, technologies, external libraries;
- Technical quality and complexity;
- Overall usability and quality from a user perspective;
- Security and privacy;
- Internationalization, portability and case-by-case key attributes;
- Licence status;
- EU GDPR compliancy;
- Status of automation (testing & deployment);
- Run-time environment overview;
- Development and support practices;
- In-house knowledge and documentation level;
- Overall estimate of lifetime to detect near future investment expectations.
We tailor our audits based on the auditing target and a customers area of interest. Depending on the situation at hand we can perform audits with different depths, from a time-boxed efficient overview to a full scale extensive code analysis.