1. A method for creating, generating and processing a user-defined generic spec comprising the steps of: creating a domain tree by defining a plurality of section nodes and variable nodes; constructing a component tree by selecting one or more of said section nodes from said domain tree; presenting a spec to a user comprising a plurality of spec pages constructed in accordance with said component tree; processing said spec by receiving responses from said user; and storing said user responses in said data store to create a first completed spec.