Overview
Retire a product feature through a managed transition: identify who still depends on it, decide how their underlying task will be handled, communicate the change, and verify the replacement or exit path before removing access. Hiding the feature from navigation is only one technical step.
A low usage count can make retirement look simple. Yet a feature used by a small group may support an annual report, a contractual deliverable, or an integration that runs without anyone opening the interface. The relevant question is the consequence of removal, not just the frequency of clicks.
GOV.UK's retirement guidance starts with continuing user needs and the transition to whatever comes next. Google's API compatibility guidance adds an important dependency lesson: changes that appear small to a provider can break client behavior. The process below applies those ideas to a commercial product team's decisions.
Explain the reason without disguising the consequence
Write the business reason for retirement: duplicated capability, unsustainable maintenance, a replaced workflow, or evidence that the need has changed. Be specific enough that the team can test whether removal achieves the intended benefit.
Then describe what users lose. If the new feature omits an old export format or collaborative permission, acknowledge that gap. Calling everything an upgrade prevents the team from examining a real tradeoff.
Connect the retirement to the product roadmap. Removing a feature is a product decision with delivery work, risks, and success criteria. It should compete for capacity honestly rather than being treated as an afternoon of cleanup.
Inventory every entry point and dependency
Look beyond the visible menu. Include direct links, saved bookmarks, mobile clients, scheduled jobs, integrations, email links, help articles, onboarding flows, account permissions, and customer support instructions.
Identify where data created by the feature is used elsewhere. A discontinued tagging tool may feed reports or automation rules. Removing the editor while leaving those dependencies unresolved creates a partial retirement with continuing maintenance obligations.
Inspect code and configuration with the technical team, but also ask support and account owners about informal workflows. Customers may use a feature in ways the product analytics plan did not capture.
For each dependency, record an owner and an intended outcome: migrate, preserve read-only access, replace, or end with a clearly communicated consequence. An unowned dependency is a reason to investigate before setting a final cutoff.
Identify affected users by task
Segment affected accounts according to what they do with the feature. Frequent interactive users, occasional users, administrators, and integration owners may need different transition support.
Do not infer that a dormant account has no dependency. Check the relevant observation period and whether the task is seasonal. Conversely, historical access does not always mean a current need.
Use the product feedback loop to distinguish requests from demonstrated tasks. Speak with representative affected users and ask them to show the work they must complete, including the output they give to someone else.
Keep the affected-account list appropriately restricted. The migration team needs actionable contact and status information, not an unnecessary copy of all customer activity.
Define the replacement outcome
A replacement is adequate when users can complete the important task with acceptable consequences. Similar labels or overlapping screenshots do not establish equivalence.
For a reporting feature, test whether the new route includes the required fields, date boundaries, permissions, export behavior, and historical information. If a customer uses the report in a monthly review, inspect that complete workflow.
Some capabilities may deliberately end without a replacement. State that decision plainly and give users a practical exit path where applicable. Do not promise that a generic export reproduces a specialized workflow if the team has not tested it.
Record known differences in a comparison that support staff and customers can understand. The comparison should help people decide what they need to do, not merely promote the new interface.
Separate the timeline into useful dates
One “retirement date” can hide several different events. Define when new adoption stops, when migration becomes available, when editing ends, when old integrations stop working, and when retained data is removed or becomes inaccessible.
Use only the stages the feature needs, but make their meaning clear. A read-only period is different from full access, and removal from the menu is different from ending the API.
Allow for customers' internal change processes. An integration owner may need development, testing, approval, and distribution time. A business user may need an administrator's help.
The appropriate notice period depends on commitments, consequence, and applicable requirements. Review those obligations with the responsible people rather than selecting a convenient engineering date and assuming communication can make it acceptable.
Decide what happens to existing data
Map the feature's data to the migration or retention plan. Which records move, which remain accessible, and which are no longer needed? Who is authorized to make those decisions?
Test exports and imports with representative content, including unusual characters, large records, attachments, and relationships where relevant. A file that downloads successfully may still lose important meaning.
Explain whether identifiers, timestamps, permissions, or history change. Users need that information when their own records or integrations depend on it.
Apply the organization's privacy, security, retention, and contractual rules. Retirement does not remove the duty to protect retained information. Nor does a migration justify copying data into an unrelated destination without the required authority and controls.
Check commercial commitments
Review plan descriptions, sales promises, contracts, renewal materials, and any feature-specific charges. Identify who decides how affected customers will be handled.
The product team should not invent contract interpretations or compensation rules during support conversations. Give customer-facing staff the approved policy and an escalation route for exceptions.
Update acquisition materials before new customers are sold a capability that is already scheduled to disappear. If a transition period remains, describe the available feature and its future accurately.
Also inspect internal revenue and cost forecasts. Retirement may reduce maintenance work while creating temporary migration and support costs. Those costs belong in the decision rather than appearing later as an unexpected burden on another team.
Write notices around the user's next action
A useful notice says what changes, when it changes, who is affected, what action is required, what happens to data, and where to get help. Put the most consequential information early.
Tailor the message to the recipient. An administrator may need to migrate team settings, while an ordinary member only needs to learn a new route. Sending the same technical notice to everyone can leave both groups uncertain.
Use multiple appropriate channels for a consequential change: in-product notices, account communication, documentation, or direct contact through established routes. Do not assume an email delivery proves that the responsible person understood the task.
Show dates consistently and specify the relevant time zone when a cutoff time matters. Avoid “soon,” “next month,” or other wording that becomes ambiguous when a message is forwarded.
Give integrations a distinct transition plan
An API consumer may continue running after the user interface disappears. Identify endpoints, fields, events, authentication scopes, and behavior affected by retirement.
Google's compatibility guidance explains why removing or renaming components and changing semantics can break client code. Have the engineering team document the exact difference and the supported transition.
Provide testable examples or a suitable nonproduction environment where available. Integration owners need to verify the replacement under their own conditions, not just read a conceptual announcement.
Track migration evidence at the client or account level where feasible. A successful request to the new endpoint may be encouraging, but it does not prove that all scheduled jobs or edge cases have moved. Keep unresolved dependencies visible until the owner confirms the relevant work.
Test the migration as a user journey
Start with an account that has realistic old-feature data and permissions. Follow the notice, perform the migration, complete the key task, and inspect the resulting records.
Include a user without administrative rights, an interrupted migration, and a case where the new route cannot support the old configuration. Check that error feedback explains what happened and how to proceed. W3C's notification guidance is useful for this part of the transition.
Connect the replacement to customer onboarding. Existing users should not have to rediscover the product from scratch merely because one feature changed.
Measure successful task completion and unresolved failures. A migration button click is an activity event, not the final outcome.
Use stages when they reduce uncertainty
A staged retirement might stop new adoption first, offer migration to a small representative group, expand after evidence improves, and then make the old feature read-only before final removal.
Each stage should have an exit criterion. For example, proceed when the key tasks work, known migration defects are resolved or contained, support can handle the load, and required communications have reached the relevant owners.
Stages are not always appropriate. Some security or external-dependency conditions can require faster action. In that case, make the constrained choices explicit and prioritize the best available continuity and communication.
Do not let a temporary parallel period become indefinite by default. Maintaining two implementations has a cost and can create inconsistent data. Review that cost alongside the remaining migration need.
Prepare support before the announcement
Give support staff a concise explanation, the affected-user criteria, common differences, known limitations, and a way to escalate unusual dependencies. Let them try the migration themselves.
Estimate likely demand from the affected population and the complexity of the required action. A small number of customers with complex integrations may need more support than many users who only follow a new link.
Record questions that the announcement failed to answer. Update the notice or help content when the same confusion recurs rather than asking each agent to invent an explanation.
Keep customer commitments in the normal account record. An exception granted during migration should not disappear when the retirement project closes.
Make the cutoff a controlled decision
Before the final cutoff, review unresolved accounts, technical dependencies, data handling, communications, and support readiness. Name who can proceed, pause, or narrow the change.
Preserve a recovery option where feasible and appropriate. Understand what it restores: access, configuration, or data. A rollback cannot necessarily reverse external actions or reconstruct information already deleted.
At cutoff, verify the old entry points. They should explain the change or lead to the relevant replacement, rather than produce a confusing blank page. Test bookmarked links and old help references as well as the main navigation.
Inspect the replacement under live operating conditions. A technically successful deployment can still leave users unable to complete an important task.
Finish with evidence of the ongoing outcome
After retirement, review support demand, failed access attempts, migration defects, and whether the expected maintenance savings occurred. Keep ownership for retained data and any remaining historical access.
Archive the decision record, communications, dependency inventory, and evidence of completion under the organization's record policy. Remove obsolete internal instructions so staff do not keep directing customers to the retired feature.
Use the lessons in future product design. Clear ownership, documented integrations, and usable data portability make the next transition easier.
A feature is retired responsibly when the team has dealt with the work people used it to perform, including the users whose needs remain after the button disappears.
References and examples
Primary sources and product examples used to ground this guide. Product links are editorial references, not endorsements.