For example, let's say I've had a big party and the kitchen is a mess. Step one might be to put the trash can in the center of the room and dispose of all visible debris. Step two might be to move all remaining small objects to one side of the room to improve visibility, then repeat the trash pass. Step three might then be to wipe down the counters, which are now clear of objects. Etc.
I tend to work in a similarly incremental way on programming tasks. Do you have a more "touch-once" approach there?
Contrast that with a transaction-based approach to cleaning where an individual item is moved to it's destination place/state, then you move on to the next item. No middle state where things are worse, and you can stop at any time yet still have gained the benefit of any work completed to that point.
However, with the second approach it's key that everything has a suitable destination 'home' to be moved to. Often, that 'home' is the trash can :)
It was my method first.
She must have stolen it from me. ;)
In extreme cases, it doesn't work because you don't actually know where things are going to go, in which case a two-round approach is good: everything gets pulled out and sorted in round one, and things go to their destinations in round two.