Feature Graduation System for SaaS Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale software-as-a-service providers face challenges in reducing resource overhead and improving scalability during software feature deployment, as features are often evaluated continuously until an engineer decides to graduate the enabling code stubs, leading to potential customer dissatisfaction and increased processing costs.

Innovation Solution

Implementing a system that evaluates features for readiness to be graduated by determining if they are 100% deployed, not on an exclusion list, and not edited for a configurable period, allowing for the discontinuation of evaluation and safe removal of code stubs to reduce performance costs and prevent premature graduation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If features are continuously evaluated until an engineer decides to graduate the enabling code stubs, then feature reliability is improved, but resource overhead and processing costs increase

Engineering Contradiction:
Improvefeature graduation reliabilityVSAvoidprocessing cost
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary evaluation of feature readiness criteria (deployment completion, exclusion list status, edit timestamp verification) before graduation is attempted. This preliminary check ensures that only features meeting all readiness conditions are graduated, preventing premature graduations while avoiding continuous expensive monitoring of features that are already ready.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system automatically determines feature graduation readiness by evaluating objective criteria (deployment status, exclusion list, edit timestamps) without requiring continuous engineer intervention or monitoring. The feature itself 'services' its own evaluation through automated checks, reducing the need for ongoing resource-intensive manual oversight.

Inventive Principle:
Principle #25Self-service

2Loss of energy

If code stubs are removed after feature deployment, then resource overhead is reduced, but the risk of premature graduation increases

Engineering Contradiction:
Improveresource overheadVSAvoidgraduation timing accuracy
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system checks all graduation criteria (100% deployment completion, not on exclusion list, no recent edits) before removing code stubs. This preliminary verification ensures that stubs are only removed when the feature is truly ready, preventing premature graduation while still achieving resource efficiency through timely removal.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors feature status (deployment progress, exclusion list changes, edit timestamps) and uses this feedback to determine when graduation conditions are met. This feedback mechanism ensures accurate timing for stub removal, balancing resource efficiency with graduation reliability.

Inventive Principle:
Principle #23Feedback

3Reliability

If features are enabled in stages for random sets of deployed code, then customer satisfaction is improved, but device complexity increases

Engineering Contradiction:
Improvecustomer satisfactionVSAvoiddeployment system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the feature rollout process into distinct stages (initial deployment, staged enablement for random subsets, gradual expansion to larger subsets, full deployment). Each stage can be independently controlled and evaluated, allowing customer satisfaction to improve through careful progression while managing complexity through structured phases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the scope of feature enablement across different stages, transitioning from small random subsets to larger subsets and eventually to all customers. This dynamic approach allows the system to balance customer satisfaction (through careful staged rollout) with complexity management (by automating the progression through predefined stages).

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11650805B2Reliable feature graduation
Publication Date: 2023.05.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11650805B2 patent drawing
  • US11650805B2 patent drawing
  • US11650805B2 patent drawing

AI summary

Reliable feature deployment is provided. Features are evaluated for their readiness to be graduated and features that are ready to be graduated are added to a graduation list. When features are added to the graduation list, evaluation of the features is discontinued, thereby reducing the performance and runtime costs associated with deploying features. Furthermore, engineers can consult the graduation list to identify features that are ready for graduation, thereby reducing the risk of premature flight graduation. Data associated with features is analyzed to map the features to corresponding flights. In this way, when an engineer identifies a feature for graduation, the engineer is able to identify the corresponding flight (or flights) from the mapping. Even when a feature is selected for graduation, the present systems provide additional safeguards to ensure that corresponding flights are not improperly or prematurely graduated, thereby preventing a subpar customer experience.