Automating product deprecation

Systematic Code and Asset Removal Framework (SCARF) is Meta’s unused code and data deletion framework. SCARF guides engineers through deprecating a product safely and efficiently via an inter…

Will Shackleton
12 min readbeginner
--
View Original

Overview

The article discusses Meta's Systematic Code and Asset Removal Framework (SCARF), which automates the process of product deprecation by guiding engineers through the safe removal of unused code and data. It highlights the complexities involved in deprecating products and the significant impact SCARF has had in terms of data and code deletion.

What You'll Learn

1

How to safely deprecate products using SCARF

2

Why understanding dependencies is crucial during product deprecation

3

How to create a deletion roadmap for unused assets

Prerequisites & Requirements

  • Understanding of product lifecycle management and code dependencies
  • Familiarity with internal tools used for code management(optional)

Key Questions Answered

What is the Systematic Code and Asset Removal Framework (SCARF)?
SCARF is Meta's framework designed to automate the safe and efficient deprecation of products by guiding engineers through the process of removing unused code and data. It combines internal tooling with automation to streamline the cleanup process, significantly reducing the workload on engineers.
How has SCARF impacted data management at Meta?
In the last year, SCARF has removed petabytes of unused data across 12.8 million different data types stored in 21 different data systems. Over the past five years, it has deleted over 100 million lines of code, showcasing its effectiveness in managing data and code cleanup.
What are the failure modes in product deprecation?
Failure modes can arise when there is no established guidance for product removal, leading to potential issues such as retaining unused code for too long or accidentally deleting code that is still in use. This can result in poor user experiences and increased maintenance burdens.
How does SCARF create a deletion roadmap?
SCARF analyzes internal and external dependencies to create a deletion roadmap that outlines the correct sequence of steps for safely deleting assets. This roadmap is updated daily to reflect changes in the project scope and dependencies, ensuring a coordinated deprecation process.

Key Statistics & Figures

Data types removed
12.8M
The number of different data types removed by SCARF in the last year.
Lines of code deleted
100M
The total lines of code deleted by SCARF over the past five years.

Technologies & Tools

Framework
Scarf
Used for automating the product deprecation process at Meta.

Key Actionable Insights

1
Utilize SCARF's workflow management tool to streamline product deprecation processes.
By leveraging SCARF, engineers can efficiently manage the complexities of product removal, ensuring that dependencies are properly handled and reducing the risk of impacting other services.
2
Regularly update the deletion roadmap to reflect changes in project scope.
An updated roadmap helps maintain clarity on the sequence of deletions, allowing engineers to avoid mistakes that could arise from outdated information.
3
Engage in continuous analysis of code and data usage to inform deprecation decisions.
Understanding which assets are actively used versus those that can be safely removed is crucial for effective product lifecycle management.

Common Pitfalls

1
Engineers may attempt to delete everything in one go without considering dependencies.
This can lead to issues such as breaking functionality in other products. It is essential to stagger deletions and follow a structured approach to avoid these pitfalls.

Related Concepts

Product Lifecycle Management
Code Dependency Analysis
Automated Data Cleanup