'''Foundational Essay:''' * Resilience vs. Anticipation By Virginia I. Postrel * http://www.forbes.com/asap/97/0825/056.htm * ''The West [Coast] is resilient and can roll with the shocks. The East [Coast] copes through anticipation, the static planning that assumes perfect foresight.'' '''Peon Summary:''' * '''Resilience''' just means go with the flow, man, like, I got a good gig here but if they go under or I wanna move everyone knows it's okay, you know; you just bend with the wind, huh! * '''Anticipation''' means we must catalog our behaviors to predict any potential outcome, and take steps to ensure the undesired ones are dealt with harshly and effectively! '''Hypothesis:''' * While writing ProductionCode, use resilience. * While writing UnitTest code, use anticipation. '''Conclusion:''' I just read Martin Fowler's "Is Design Dead?" [http://www.martinfowler.com/articles/designDead.html] yesterday. He mentions there are two types of design: evolutionary ("code and fix") and planning (BigDesignUpFront). These seem to map very well to resilience and anticipation. So far, evolutionary/resilience has been a lousy way of developing software ("The design ends up being the aggregation of a bunch of ad-hoc tactical decisions, each of which makes the code harder to alter. ... This is the "code and fix" nightmare, where the bugs become exponentially more expensive to fix as the project goes on." [MF]). Obviously to this list's readers, XP is about making evolutionary work. --ChrisMorris ''If "CodeAndFix" has been reserved to mean "UnitTest-free slops", try "minimal, incremental & refactorable" - the good kind.'' I always thought that UnitTest code followed a different style than ProductionCode, but just saying that it does is less useful than declaring the different motivation behind each style. --PhlIp I've never read anything about what tests should really look like [''me neither!''], so I've been kinda winging it - most of mine are along the lines of, encode a message, decode the message, assert that the result is the same as the original message. Don't know if that's typical or not. --BramCohen I propose that all the Language Warriors should debate their favorite dialect by describing how well their language supports OnceAndOnlyOnce and DontRepeatYourself. For example, C++ makes you declare all method signatures twice, as a simple artifact of legacy linkers. ''[Twice times "N" implementations if it's polymorphic (virtual). :-]'' However, each time I get frantic about OAOO between test functions in a test rig, I generate a unique form of spaghetti. In production code, OAOO is a bullet made of mostly silver. --PhlIp ---- From XpMailingListQuotes ---- In terms of getting sustainable employment (can be self employed), the wisdom to strike the balance between ResilienceVsAnticipation is reflected in the SerenityPrayer. I would like to borrow this page to be placed in the CategoryEmployment. ---- This is an interesting topic as it applies to engineering, but - are we actually supposed to believe that people who live in the Northeastern US have fundamental psychological differences from Californians because of the ''weather''? ''Why not? In the Northeast, in the winter, lack of planning can kill you. You could get stuck in a blizzard with no way to keep warm. Those who do not plan ahead and put blankets/food/etc in their car are less likely to survive. In California (near the coast anyway), there is little danger of freezing to death.'' But this is the year 2004. We're not really all that vulnerable to the local environment these days. I live in the Northeast, and I don't know anyone who keeps food and blankets in their car just because it's wintertime. ''My family keeps blankets in the car. Plus there're a whole bunch of other aspects to preparing for winter. Like having a snowblower in the garage, and plenty of shovels, and snowtires/chains (in the days before modern radial tires), and firewood inside before the first snowfall, and flashlights & candles for blackouts, and so on... -- JonathanTang'' A few years ago on a new job I flew into Denver, picked up a rental compact late at night, and headed north to Estes Park, the gateway to the Rockies. After an hour and a half of driving winding roads in blowing snow without seeing anyone, I started to wish I had a sleeping bag in the car with me. Alas the little Geo kept me alive. -- WardCunningham ----- CategorySelfImprovement