2
Here's how I do it, but it is only my way of doing things.
Any programming:
1/ functional requirements spec (what it does, not how it does it)
2/ data model required to support the functional requirements
3/ input and output requirements
4/ processing model (how it acheives what it wants.)
5/ object model to support all above
Xoops:
6/ Create list of user side page requirements
7/ create list of admin side page requirements
8/ create module framework (I use my own XBS ModGen module generator for this,) using information collected above
9/ create the object model code
10/ create each page and output to basic page templates
11/ test functionality against 1/ above
12/ refine page templates and re-write, creating supporting css as required
13/ test, test and test again