Interested in collaborating?

CRM For Legal Services: Solution Assessment & Code Review

  • Client – a Norwegian IT-solutions provider
  • Project brief Our client was looking into a custom CRM solution that they felt was a good fit for their business processes. They relied on our experience to understand the potential risks of relying on the product.
  • Result Careful analysis and solution assessment has led to the conclusion that the custom CRM is a viable option that doesn’t just fit the business needs today, but is a scalable technological solution that will be an asset in the long run.

Business challenges

Our client was looking to invest in a custom-built CRM system that they felt was a good fit for their business needs. But, given the solution was being sold “as is” rather than based on an as a service model, the client had a series of detrimental questions.

  • What would happen if the original developers would choose to stop maintaining the software?
  • Will there be a steep learning curve preventing the in-house IT team from understanding the CRM in its entirety?
  • How reliable is the code?
  • Did the developers design and develop the product with scalability and best development principles in mind?
  • How secure and reliable is the solution? 

Given our client did not have the necessary expertise with software development and evaluation they leaned on our coding experience to analyze the code of the CRM.

Catware’s solutions

Aiming to solve the needs of our client, Catware’s solutions architects teamed up with the stakeholders on the client’s side to clarify the business needs to see if this particular CRM is truly the most fitting solution for every possible user story. Then we have developed a plan to analyze the product, its core architecture design, UI/UX, and scalability.

Architecture analysis

We’ve made architecture assessment through next steps: identified logical separation into modules; identified main software architecture patterns that were used in application; verified that architecture corresponds to SOLID principles.

We’ve compared the design patents that have been used to the ones that can potentially be used in order to evaluate which approach is more sustainable in the long run. In addition to that, we have performed Object-Oriented analysis to make sure that the core principles of the source code are firm and solid. Lastly, we’ve split the concerns into separate layers and files to make sure the client’s team has an easy time understanding the overall architecture of the CRM.

Usage of technology

We’ve explored the technologies and third-party integrations as well as their sources to identify if they are, indeed, the best choice to power the functionality. We’ve also made sure that they are relevant enough to be supported and that there is enough of a talent pool to maintain the project over years to come.

Code formatting

We’ve inspected the code formatting tools the original developers were using as well as the way the source itself corresponds to Clean Code Principles such as KISS, DRY, YAGNI, etc.

The learning curve

This step synergizes with the step we took while exploring the technologies original developers were using. Instead of comparing them to the current market of engineers, we’ve checked if the project is actually friendly to new recruits. We’ve dedicated special attention to documentation, comments in the code, its overall readability as well as the documentation of unit tests covering the code.

Solution extensibility

While performing our analysis, Catware’s architects didn’t just look at the product “as is” but we have made the choice to walk the extra mile and explore the system’s ability to extend and the level of effort it would require to grow in functionality over time.

Maintenance risks

Our solution architects have thoroughly explored the project’s version control system. We’ve also kept an eye on the project’s deployment process and the monitoring tools it relies on.

  • Icon Java

Empowering strategic decisions

After we were done with the solution assessment, our client had all the right questions in regards to the potential of the application and the possible implications of its prolonged use. 

  • Modern software architecture principles 
  • Up-to-date technologies
  • Best formatting practices 
  • Absence of a steep learning curve 
  • Good organization and documentation of the source code 
  • 100% code coverage with Unit, Integration, Performance, and UI tests 
  • Ease of use and simplicity of adding new layers functionality
  • Build and deploy process that follow modern CI/CD principles


After a careful analysis and evaluation of the solution our system architects and software analysts have come to the conclusion that the CRM in question is indeed a good fit. We’ve answered all of our client’s questions and provided them with easy to follow adoption and onboarding roadmaps, the CRM was indeed bought and is in active use today, after 1 year from the initial analysis. The client is happy and satisfied with the level of automation and flexibility the solution has brought to the table. 


  • Uncertainty in regards to the overall quality of the application
  • Security risks and concerns
  • Lack of understanding of the product’s learning curve


  • Clear understanding of the product’s design and architecture
  • Understanding of whether the functionality meets intended use cases
  • Confidence in the the security of the system as well as all of the 3-d party products and integrations that were used in development
  • Easy to follow roadmaps for onboarding both the sales and the IT support teams
Catware's proactive approach is what sold me on their services. Their delivery ensured that I made the right call. Catware's services were quick and professional. I can only recommend cooperating with them.
Martin Sundberg
Tech consultant/business development manager
Get in touch

Investing in new high-end software solutions may seem like a risky step, especially for a business that’s not focused around the world of IT. The right partner to walk you and your team through the experience takes away the risks and empowers you to make quick, yet informed and data-driven decisions thus greatly improving successful software adoption rates. Future-proof your business today!

Petro Krasnomovets
Petro Krasnomovets