Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

comment on

( [id://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

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2024-04-19 17:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found