The point of RefactorMercilessly is to improve the design of the code you are working with. Design improvement does not always mean refactoring. Sometimes it means convincing people to remove features in the code that are not really needed anymore, or which will never be needed for the current release of the product. In an organization that has a "design owner" for each module, you can't necessarily refactor things when you'd like to. Instead you have to negotiate with the design owner on what the appropriate improvement is. This can be difficult. Keeping the UserStories for the current iteration in focus can help avoid CodeBloat by designers that want to "make it all right now" so "we won't have to rewrite it". -- StanleyKnutson 13-Oct-03