...AgileModeling (AM) is a PracticesBasedProcess that describes how to be an effective modeler...
"Simple, clear purpose and principles give rise to complex, intelligent behavior. Complex rules and regulations give rise to simple, stupid behavior." --DeeHock, VISA System (requoted from AlistairCockburn's AgileSoftwareDevelopment)
The practices-based process I use for cleaning my room is:
A place for each thing, each thing in its place
Have what you use, use what you have (i.e. throw out or give away stuff)
Worst mess first
Do big cleanings with other people
When I compared this process to ExtremeProgramming and AgileModeling, I noticed several "types" of rules. Of course, these are not hard and fast catagories, there are more categories, and rules do not always fit nicely in one category...
- Rules defining "what is caught up"
- Rules defining "what is next"
- Rules that act like "tools in a tool box", and are used on an "as needed" basis
Examples
Rules defining "what is caught up"
A place for each thing, each thing in its place
Have what you use, use what you have
OnceAndOnlyOnce
All unit tests run
Rules defining "what is next"
Worst mess first
Worst thing first
Rules used as needed
Do big cleanings with others
Creating several models in parallel
Updating models only when it hurts
Another workable rule is "all that is needed to impose order on a confusion is to stabilize one thing."
When addressing chaos, it doesn't matter which thing you fix first -- just fix one thing. Then you can fix the next thing. As you proceed, priorities can be established, but to get started, just do one thing.
If everything is moving, just get one thing to hold still. Then another.
This assumes that you're not keeping an existing order, but establishing one.