What's the usual sequence for the development of a feature ? You work on the feature. You release it, and the feature is done.
There is a hidden step. Not all of the work happens before the feature is released. After the feature is released—meaning, made available in its final form to users in a production environment—some additional work is needed. It is invisible to the end user, and while it may have to be deployed there is nothing left to release.
This invisible work includes:
Monitoring the feature in production to ensure that is stable and scales well, and setting up long-term alerts and checks.
Migrating or cleaning up the database.
Removing any feature flags, detailed logs and other scaffolding set up in order to perform the release.
Removing any code that is no longer necessary (especially code hidden behind removed feature flags).
Removing any traps and landmines left in the code as a consequence of pushing to release the feature early (what could be called short-term technical debt).
Since this work is invisible, it's important to communicate its existence to stakeholders who can only observe that the feature is available in production. This can be hard to convey properly, so don't leave anyone with the wrong ideas ! An imaginary play:
Can't this additional work wait until later? We have other, more urgent features.
This is not additional work. We are finishing the feature.
But the feature was released yesterday, why isn't it finished?
DEVELOPER A feature is not finished when it is released, but when our team is confident that it will keep on working as expected without baby-sitting, and that it will not interfere with the rest of the application.
Are you saying that you released a dangerously unstable feature?
It isn't dangerous if it's only for a short while. We monitor it closely and have the option to roll back.
In that case, could you perhaps keep monitoring it a couple of weeks longer, and focus on the other features instead ?
We did not plan to keep that feature in an unfinished state for so long. But we could certainly roll it back now, and work on the other features instead.
I'll take the risk! Just keep it in production and start working on the other tasks.
Part of my job description is that I'm not allowed to let you take unquantified or poorly understood technology risks.
Consider also this analogy: Alice has developed a new feature to automatically frobnicate foobars. Bob sees that his foobars in production are being properly frobnicated in production, declares that the feature is done, and asks Alice to work on other tasks. But the frobnicator only works on Alice's development machine, pulling foobars from the production database and pushing them back after frobnicating them. Is the feature truly done? Is it acceptable to ask Alice to just leave her development machine open? Only for a short while, until we have to come back and finish the feature...