There are multiple routes that could populate the same essential package structure. For
example, if you have a rich collection of reusable components, a very short delivery
schedule, and flexibility in requirements, you might follow an "assemble" route
|You model the essential problem domain or business to clarify terminology
|You do a very "light" system specification; feasibility based on existing
components will help define what you can actually deliver
|You then work with your component assets and figure out a mapping to the essential
|Use this to estimate the work to be done, and "reverse engineer" the more
detailed requirements you intend implement so the client agrees.
|Build the system.
This "route" would be quite different from one in which you will build from
scratch, or subcontract to multiple vendors who must integrate later; and your
requirements have much less flexibility.