Necessary upgrades to meet current code standards and compliance with current Apple/Google OS standards
Viability for extending or modifying functionality of the application
Reasonability for integration with 3rd party systems or IoT devices
Reviewing potential security or reliability risks
Scaling of the software to a broader user base
Ensuring maintainability—the ease, cost and risk associated keeping software up-to-date
What does it include?
The effort includes a review of the application architecture, technology stack and source code. Manual code inspection, exploratory testing and automated static analysis tools are used to evaluate application maturity and suitability for desired enhancements. Findings may include potential issues in the areas of code quality, security, maintainability, scalability and UI/UX design standards.
Key factors considered
We employ Automated Code Smell analysis which tests how well the code conforms to community standards and best practices for syntax. Serious violations generally mean that the violation could potentially cause a crash or bug, or that the code is poorly structured or organized (extremely long lines of code, functions or files). Key factors considered include:
Maintainability and Extensibility
Code maintainability is a qualitative measurement of how easy it is to make changes, and the risks associated with such changes. The central theme of extensible applications is that developers should be able to add new features to code or change existing functionality without it affecting the entire system.
Specific areas we look for are complexity, testability, readability and documentation to answer the question: Is it obvious and safe for a developer to make changes to the code?
Ensuring the code meets current security standards and best practices for authentication, authorization, user roles, data validation, and cryptography. In essence, are there vulnerabilities making it easy for a malicious user to circumvent or break the system?
Here we evaluate the user experience, runtime performance, database query and algorithmic complexity. We look to identify whether there are obvious areas for improving perceived user performance and experience.
What doesn’t it include?
Review of specific application functionality for individual use cases.
What will you get upon completion?
Upon completion, Envative will deliver a comprehensive review of findings to include:
Apparent security concerns including a list of potential vulnerabilities, missing information security best practices and actionable recommendations
Findings of UI/UX comparisons with current mobile design best practices
General recommendations for improvement
Summary of the overall iOS, Android, Hybrid code structure findings (where applicable)
Reasonable options for achieving intended goals
Future design considerations
A code review engagement with Envative will result in an objective and well-informed understanding of a business’s Mobile App(s) code and its positioning for desired enhancements or other future business goals.