|Just another Perl shrine|
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:
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.