...''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. -- GarryHamilton ---- See LittleRulesAndPatterns