Improvement of Legal Research:
ArdentCode’s DevOps Transformation for Wolters Kluwer’s VitalLaw
Introduction:
ArdentCode partnered with Wolters Kluwer to upgrade their flagship legal research platform – VitalLaw (former Cheetah™). It was a challenge to introduce DevOps practices to a large-scale, multi-year project. ArdentCode aimed to increase frequency of production deployments and lower the time needed for change implementation.
Focus:
- Development of a comprehensive legal research application covering over 25 tax and law practice areas
- Implementation of modern responsive design and innovative workflow tools
- Integration of Wolters Kluwer’s world-class content into the platform
- Implementation of advanced browsing and searching capabilities, enhancing user experience
- Integration of Business Intelligence (BI) tooling for enhanced analytics
Objective:
Enhance the development process for VitalLaw, while maintaining the highest standards of security.
Needs:
- Increase frequency of production deployments and lower the time needed for changes implementation
- Introduce DevOps practices to VitalLaw – large scale, multi-year project
Approach:
- Continuous Integration: Through DevOps practices, ArdentCode team was able to change production deployment from two months to bi-weekly production releases. This change also gave a possibility for daily deployments.
- International blended team creation: ArdentCode used DevOps tooling and practices across teams in the USA, Europe, and India, facilitating collaboration and efficiency.
- Process improvement: The adoption of the Scaled Agile Framework (SAFe) enabled smoother development processes and enhanced agility. It was conducted in accordance with the client’s internal processes. Needed improvements were also enhanced.
- Testing and verification: There was a need to test the application in a different way – it was a basic need of the project. The goal was to reduce testing time. We changed the scope of testing to automatically test only the areas touched in the code. As a result, instead of testing in a few working days, we were able to deliver some changes in a few hours, with testing taking much less time once the changes were made. The number of e2e tests was reduced to each release, integrating with external applications to support testing.
Key changes:
- Extensive testing: more unit tests, less e2e verification
- DevOps & Tooling – from Request to PROD. Integration with AWS API
- Extended security verification: OWASP, ASVS; integration with a third-party app and performance testing
- Processes improvement: Maturity growth (SAFe)
- Closer cooperation with all teams involved into the project, which created a truly well blended team
Results:
- Accelerated deployment: Deployment frequency increased from 2 months to 2 weeks, with the ability to deploy changes on a daily basis.
- Changes in shortened time: Teams were able to deliver required changes more quickly.
- Agility: Every code change (Pull Request, Merge Request) is a potential release candidate.
- Rollback on demand: Rollback to previous version on demand
- Improved stability: Less number of regression bugs. Higher confidence in the release quality.
- Comprehensive tooling: DevOps tooling and practices were successfully integrated across all collaborating teams, enhancing collaboration and efficiency.
- Security and elevated performance: ArdentCode ensured rigorous security and performance verification, maintaining the highest standards for VitalLaw.
Conclusion: The adoption of comprehensive DevOps practices by ArdentCode resulted in a significant change, thanks to the reduction of deployment timelines from months to weeks, and the introduction of daily deployment capabilities. The operational shift not only accelerated change delivery but also fostered a culture of agility, where every code change became a potential release candidate, enhancing adaptability and responsiveness within the organization. Moreover, the emphasis on rollback capabilities and the observed decrease in regression bugs underscored a commitment to stability and quality assurance, reflecting a pragmatic approach to software development that prioritizes efficiency and reliability.