(Nobody seems to have explained what CloseTheLoop is supposed to mean. I see only uses, not definitions. Someone?)
Double ah ha! It appears that design activity is occurring top down, but that rethinking the design is actively encouraged in the TestDrivenDevelopment process as you build your way from foundation to superstructure to a fully-formed implementation. -- EricArmstrong?
Ah, but that TopDown is DepthFirst, not BreadthFirst (which is the classical definition of top-down).
[OrthogonalConcepts which are not obviously so]Fascinating! I was totally oblivious to that distinction, until you mentioned it. Oddly enough, that combination of thoughts gives me a real handle on this process.
'Tis but another way to say "SpikeSolution". A "spike" is a vertical probe thru area that will someday be layers. From top to bottom, DepthFirst. When you get to the bottom, go back to the top and CloseTheLoop.
Then, when developing, run around the loop over and over again adding elements. A simple example would be, after you have a Customer record in the database and a Customer name in the GraphicalUserInterface, add the CustomerAddress? fields to the database, then add it to the GUI. Then make sure it saves back to the database. Now do the customerZipCode, customerPhoneNumber, etc. Lather, rinse and repeat. -- PhlIpNow, FeedbackIsControl ("so CloseTheLoop if you need more control") should be relevant, but it isn't. This page references a particular loop in the XP implementation plan. What name might suit it better?CategoryGardeningMetaphor: As you push your lawnmower across the FunctionalityLandscape, you leave a trail of freshly mowed code behind you. Do you mow your lawn in a loop, or with stripes? -- MatthewAstley