Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Now, after sorting out the responses "don't build something from scratch when there are perfectly good working examples you can use", you clarify your question with:
I guess my question isn't as much to do with the specifics of writing a web message board as it has to do with the general process of beginning a project of about that size.

What you are really asking is "How do I design an application?".

Answer: Employ an experienced business analyst.

Writing code is programming. Determining what that code should do and what the underlying business problems that the code will address is analysis. Too many people confuse the two, and think that any old programmer can just whip out a brand new application without any difficulties.

In fact, in any (non-trivial) application, the time spent doing the analysis, design, going over user requirements and so on is anywhere up to ten time the time taken to actually write the code.

There are many steps between "we need a foobar application" and the writing of the first lines of code. To summarise them:

  1. Requirements Analysis. What business problems and processes will this application support. What functions must the application perform to be considered a success?
  2. Logical Design. Process modeling (high level), logical data modeling, initial estimates of transaction volumes, data volumes. Noting any special requirements - security, auditability.
  3. Physical Design. Specification of individual modules / processing actions / physical data model. Development of testing procedures. User interface specification.
  4. Program Development. Now you can write your code.
  5. Testing. Often requires loops back to program development, even changes to the physical design.
  6. Implementation.

Others may have different names for the steps, the "Extreme Programming" advocates will criticise my proposal of outdated development methodologies. But the functions I have listed still need to be done.

Bottom line: If you don't have people with analysis skills and experience, you will most likely repeat many of the mistakes of other failed development projects. An anaylst can determine if an existing product (slash, zope, whatever) meets your company's business needs, and whether the stated requirement of "we have our unique requirements and have to write our own program" is really a furphy, and which of the build / buy (or adapt) alteratives is properly cost justified.

In reply to Re: Writing a web message board from scratch by Maclir
in thread Writing a web message board from scratch by tomazos

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: (8)
    As of 2018-06-18 20:14 GMT
    Find Nodes?
      Voting Booth?
      Should cpanminus be part of the standard Perl release?

      Results (110 votes). Check out past polls.