It's a good question ... and I'm not sure I know a book that really helps you with this stage of your professional development.
A junior programmer can write one module to specifications, a software architect can design a whole large application, but this is intermediate: the design stage of a medium-sized project.
One way to look at this is, how do you know when you are ready to start actually coding. I think a complete project plan should
1) list milestones
2) Describe them in enough details that you can make a time estimate for each, to within a factor of two
3) identify the major risks for the project ... normally you perform firs the task that is most likely to fail.
By coincidence, I've just written a message board. (Like you, I had good reasons for not using something off the shelf.) I'd be happy to send you a copy of my project plan - email me at chrishmorris at uk2 dot net.
in reply to Re: Writing a web message board from scratch
in thread Writing a web message board from scratch