incremental changes

Making increment changes is most successful if you are also able to undo. Once you have made the simplest thing that could possibly work when you want to change it the trick is to make as small a change as you can that still makes the effort of making the change worthwhile. Of course, figuring out if the change actually is worth while is a lot easier if you wrote a test that described what you wanted to happen because of the change.

If the change turns out to not give the results you hoped for, you want to be able to remove the change and not be forced to leave it in place. If you leave it in place it will add to the time and energy it takes to maintain your site and could greatly complicate further changes. In order to do this removal you need to have made the change in a way that does not tangle it up with the existing code and data on your site. Each change needs to be in its own separate packet so it can be lifted back out if it does not “test” to be worthwhile.

There are many ways to insure that you can undo changes: backups, source code control, using prebuilt components, etc…