Many sites are implemented with a subset of the features that the client initially wanted that have been pushed to a later stage. Also, over time, new features or changes to features are required. Doing this with a working system will require regression testing and careful management of the deployment of these features into the production system.
An enhancement should be treated like a mini project, the work clearly scoped, specified, and agreed to before development starts. For small enhancements, this can be a much quicker process that the initial scope and specification but it's still important that you follow the same steps; anything missed increases the risks of problems arising down the track.
In terms of implementation, the approach is similar to the upgrade process. Start with making sure your development environment is identical to the production environment. Depending on how long it will take to add the enhancement, you may be able to organize a content freeze; if not...