Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
I've done projects with and without prototyping (I'll avoid the term Rapid Prototyping because it's associated with GUI builders, VB, and the like, which I've not bothered with).

One problem is that prototype means different things to different people. I've seen the term applied to:

  • GUI mockups to show the users/marketroids
  • proof-of-concept to try a particular strategy or collect statistics
  • the simplest thing that could possibly work
  • a failed first version of a program
To me, one of the problems with the "build one to throw away" model is that it assumes that one of the following is true:
  • the techniques/tools/languages used to build the prototype are somehow different from the final version
  • it's too hard to convert the prototype into a shippable, high quality product.
This doesn't have to be the case. If you look at the practice of Extreme Programming, the emphasis is on gradually iterating a system design through constant refactoring and testing. So you don't have one to throw away, you just evolve the system until it meets all of its responsibilities.

I think there's a tendency in many organizations to view massive restructuring of code as something that is just not done, rather than as a part of normal development. That's sad, and may have something to do with deficient tools (it's much easier to refactor in Perl or Smalltalk than in C++, and the Refactoring Browser makes it simple and foolproof in Smalltalk).

By minimizing the work done (i.e. not writing anything until it's actually needed), and by testing constantly as new capabilities are added, you always have a working version that will do something. So your system is always its own prototype. This seems more efficient than throwing one away.

In reply to Re: Does Anyone Use Rapid Prototyping? by bikeNomad
in thread Does Anyone Use Rapid Prototyping? by Sherlock

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others avoiding work at the Monastery: (5)
    As of 2018-06-23 01:38 GMT
    Find Nodes?
      Voting Booth?
      Should cpanminus be part of the standard Perl release?

      Results (125 votes). Check out past polls.