Instructions
- Define the problem or opportunity (WHAT).
- Outline the importance of addressing the problem or opportunity (WHY).
What?
Write your problem statement using layperson's terminology.
In one sentence, what is the problem or opportunity?
Netflix Problem Statement Example: Going to the video store requires fighting traffic, wandering the aisles, and waiting in long lines just to get a single movie.
- ApiFeatureUsage is a rarely used feature that requires effort to maintain, especially when Search needs to update ElasticSearch, as we are currently doing.
- related ticket: https://phabricator.wikimedia.org/T301724
What does the future look like if this is achieved?
- The Search team invests a little bit more time up front to sunset this feature, reducing drag in search development and/or software incompatibilities.
- Users must rely on sysadmins to inform them if their bot/framework is using deprecated API queries, rather than being empowered and proactive, slowing down API development, requiring further time spent on maintaining already deprecated features.
What happens if we do nothing?
- Nothing fails.
- Search spends slightly less effort in the short term updating ApiFeatureUsage during our process of updating ElasticSearch to 7.10
- Search continues to spend more effort in the long term continuing to maintain this feature
Why?
Identify the value(s) this problem/opportunity provides. Add links to relevant OKRs.
Rank values in order of importance and be explicit about who this benefits and where the value is.
User Value/Organization Value AND Objective it supports and How
- Improves our code health by removing low/no-use features that cause software incompatibilities and/or development drag (i.e. tech debt)
Why are you bringing this decision to the Technical Forum?
What about the scope of this problem led you and your team to seek input across departments/organizations?
- We are not sure who might be using this feature (internally and externally) currently (there seems to be some small amount of usage), and want to make sure we go through the right channels to make sure everybody is aware of this decision
- There doesn't seem to be a clear process for how to sunset/undeploy features/code -