What is the "best practice" to remove support for a feature?
<p>I have a library that deals with several message formats. Each of these formats is closely related, they're a common base XML then each has some additional constraints or extra data on top of it.</p>

<p>One of these formats was created just to support a proof-of-concept or pilot effort. The pilot is over, its no longer being used, and it imposed some awkward constraints. I've gotten permission to remove support for it. What is the correct way to do this?</p>

<p>I'm thinking:</p>

<ol>
<li>Open an issue to track/document the changes</li>
<li>Tag the SVN revision, "FEATURE_X removed here"</li>
<li>@Deprecate the specific classes. Cite the issue. Commit.</li>
<li>Watch the warnings and see what the deprecation affects</li>
<li>Let it sit for a bit, give the team a chance to deal with the deprecation</li>
<li>Finally remove the code. Verify that the tests are OK. Commit.</li>
</ol>
