Ancestry
How DeepSource improved the efficiency of Ancestry's software development.
Ancestry needed a code health solution that was more hands off, reported less false positives, supported all of their language choices, and gave their teams more time to work on what mattered.
About Ancestry
Ancestry®, the global leader in family history, empowers journeys of personal discovery to enrich lives. With their unparalleled collection of more than 40 billion records, over 3 million subscribers and over 23 million people in our growing DNA network, customers can discover their family story and gain a new level of understanding about their lives. Over the past 40 years, Ancestry® has built trusted relationships with millions of people who have chosen the platform for discovering, preserving and sharing the most important information about themselves and their families.
The Challenges
Ancestry's previous code health tooling presented opportunities for improvement in terms of streamlining processes and improving efficiency. This involved addressing certain areas that required room for improvement:
- Streamlining maintenance and reducing developer workload: Ancestry's previous code health tooling relied on manual efforts, which created challenges in terms of maintenance and increased workload for the developers.
- Improving issue prioritization and management: The high false positive rate of their previous tool made it difficult to effectively manage and prioritize flagged issues.
- Expanding language support and compatibility: The limited language support of the previous tool resulted in compatibility problems, particularly when it came to project upgrades.
The Solution
With a focus on minimizing maintenance efforts and providing seamless integrations with existing software development workflows, DeepSource offered a standardized and developer-friendly approach. Ancestry's migration efforts were simplified with DeepSource's ability to streamline pull request checks without requiring additional steps. Furthermore, DeepSource's commitment to addressing false positives impressed Ancestry, as users were not only able to report such issues but also influence the ongoing improvement of the platform.
Native integration with pull request workflows
With DeepSource's pull request analysis workflow, everything is integrated — right at the point of merge, and this has been a game changer for us.
DeepSource was developed with the aim of minimizing administration and maintenance efforts for uninterrupted product operation. Everything is integrated at the point of merge and it's made sure that the native integration with GitHub is seamless and provided out of the box. This made things much easier for Ancestry as they didn't need to create unnecessary steps themselves to setup checks on a pull request. And, given Ancestry's transition to a new CI Platform, DeepSource emerged as the obvious choice, providing a standardized solution that effectively supported their developers.
False positives and platform integrity
The way DeepSource goes about handling false positives is great. We now have the ability to triage those positives and report them.
DeepSource lets users report false positives directly from the dashboard which are periodically triaged by the in-house Language Engineering team. After false positives are evaluated and addressed by our Language Engineering team, they promptly notify the developer through our dedicated support channels. This ensures that developers receive timely and personalized feedback regarding their reported false positives. This feedback loop improves the quality and accuracy of the analyzers continuously. We believe the ability for developers to report false positives is an important piece in making a code health platform that's highly accurate and less noisy.
Zero setup for language versions and dependencies
Having support for lots of different language versions without having to upgrade our instance was the main reason we went with DeepSource.
DeepSource provides seamless compatibility with a variety of languages and their legacy versions, eliminating the need for Java runtime dependencies and allowing Ancestry's teams to freely use the desired Java versions without any constraints.
Genuine customer support
I feel like DeepSource is genuinely happy to engage with us, and that sense of engagement is evident not only in their support model but also in their product.
DeepSource actively engages with Ancestry's developers and engineering leadership, collaborating closely to understand their unique needs and challenges. While DeepSource acknowledges certain limitations and constraints, they prioritize finding solutions that work best for them.
DeepSource's impact on Ancestry
With an engineering team of over 600 developers, Ancestry has witnessed remarkable advancements in ensuring code health across the organizaion, using DeepSource. In addition to an overall improvement in code quality and security, Ancestry was able to improve their test suite with DeepSource's Code Coverage feature, which provides comprehensive metrics for assessing the extent of their source code testing. This visibility into code health simplifies informed decision-making, ensuring that Ancestry's software is robust, reliable, and of the highest quality.