Identify and reduce risks in your codebase
After agreeing on the specific objectives and scope of the assessment, you benefit of an expert review of the code, design or architecture of an application. The result is a report that contains:
- strong points
- weak points
- risks and issues
- recommendations of technical improvements and technical practices required to avoid risks and to improve on the weak points.
Scope of the assessment
Depending on your needs, we decide together what part of system to assess and what to focus on:
- a module
- a set of files
- a component or
- the entire application.
The focus areas can be, for design:
- readability – how easy it is to understand the code and what will it take to make it easier to understand
- changeability – how easy it is to add new features to the existing code
- testability – how easy it is to write automated tests on the code
- risks – what are the main risks of the current design and how to reduce them
and for architecture:
- cross-functional requirements: how easy it is to scale, improve performance or reliability for the system
- security: what are the security risks identified in the code and how to prevent them
- strategic risks: what system-wide risks are identified that can have important effects on the future months or years of development
Approach / Way of work
In order to review the system during the assignment, we use a combination of:
- Tools: by measuring specific indicators, we pinpoint some of the issues with the codebase
- Interviews: discussions with programmers, QA specialists, project and product managers and architects allow us to verify each piece of information
- Manual reviews: reading the code and building diagrams allows us to verify the information from tools and from interviews in a third way, to ensure its correctness. Manual reviews also allow identification of issues that are not measurable by nature.
In order to assess the code base, we need read-only access to the source control, the code and the architecture and design documents.
Next steps after the assessment
The report contains recommendations for the next steps. The team can choose whether act on the report without help or if they need further help. In the second case, the coach can continue working with the team to:
- prioritize the list of proposed improvements
- teach the team the techniques required to implement the improvements during a workshop
- work hands-on with the team in the beginning and during the implementation
- be available for advice when necessary
Note: some of the activities can be held remotely.
These activities can be placed under the umbrella of a subscription service.