Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: (redmist) Re: Benefits of the Specification

by dws (Chancellor)
on Mar 08, 2001 at 23:56 UTC ( [id://63083]=note: print w/replies, xml ) Need Help??


in reply to (redmist) Re: Benefits of the Specification
in thread Benefits of the Specification

The really Bad Thing about not thinking about the application, is that every time you add something, something else will inevitably break.

Until recently, this has been predominant view: If you don't Plan Ahead, things will break later.

Extreme Programming offers a novel counter proposal: If you only think one step ahead, and at the end of each step you have a well-tested, well-factored system, then the chances of your breaking something on the next, not-yet-thought-of step are reduced to near zero. Well-factored implies good structure, with things done "once and only once". Then means that many decisions are well localized. A well localized decision is much easier to safely change or replace than once that's becomes spread out over time.

  • Comment on Re: (redmist) Re: Benefits of the Specification

Replies are listed 'Best First'.
Re: Re: (redmist) Re: Benefits of the Specification
by redmist (Deacon) on Mar 09, 2001 at 00:04 UTC

    The XP point of view sounds good too, but I don't think that the two philosophies are oppposed to each other. It sounds to me that they both emphasize planning and thinking about the project before something is implemented, and one way that XP differs is that XP will plan in smaller chunks. Correct me if I am wrong.

    redmist
    Silicon Cowboy
    UPDATE Thanks for the clarification dws.
      In both the traditional model and in XP, you might be thinking ahead strategically. They part company when it comes to tactics. The traditional model requires what XP calls Big Design Up Front, which involves planning out design and construction well ahead of time. XP reduces tactical scope by restricting design and implementation to one "feature" (user story) at a time.

      In the traditional model, you (try to) avoid coding conflicts by planning ahead. In XP, you avoid conflicts by taking one step at a time, having a full set of regression tests so that you prove on short notice that your system is in a working state, and refactoring before you're done with the step.

      There's more parallelism in the traditional model, with testing deferred until the system is once again back into a working state. XP tests all the way along, keeping the system in a working state between short steps.

      Clarification: In the traditional model, the phases of development happen in serial, while implementation activities happen in parallel. In XP, phases happen more in parallel, with implementation happening more in serial.

      Thanks to tilly for indirectly pointing the need for a clarification.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://63083]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (8)
As of 2024-04-18 15:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found