All development processes go through a series of stages that together form the classic “design cycle, ” here related particularly to web site design.
In larger projects the requirements phase may involve formal market and user research, web analytics research, focus groups of current or prospective users, and formal usability testing. In smaller projects the requirements phase often takes the form of team meetings with users, project stakeholders, and project sponsors to develop lists of functional requirements.
Design transforms lists of requirements into concrete form, first as rough layouts and page wireframes, navigation interfaces, and site diagrams. Concentrate on fundamental structure and function, and save detailed graphic design for later.
Development is the actual building of HTML pages and coding of any associated web applications. Even if you use an iterative design process (most web teams do), don’t get too far into development until all major issues of design are settled.
All site designs require both functional testing (link checks, browser compatibility issues, cross-platform issues) and editorial quality control. Too often web teams dominated by technologists short-change the editorial considerations, forgetting that content also requires an extensive quality-assurance process to produce a good product.
Classic linear design projects march through each phase one at a time, completing each before moving on to the next. Linear development works best where tried and true methods exist and where the detailed specifications have been used successfully in the past. In less certain circumstances, linear development can seem brittle and plodding.
Most projects deal with complex sets of unknowns by moving through a series of partial analyze-design or design-build stages, progressively building complexity and design consensus into the developing system, especially in the early planning and design phases of the cycle. The iteration model begins to break down when cycles of design-build-redesign continue too far into the development phase. These development iterations can result in production churning and much wasted time and effort.
Good project management uses the strengths of both iterative and linear models, where many design iterations are encouraged early in the process but are strongly discouraged later in the development and testing phases, when efficient development effort and control of the overall project scope and schedule become paramount.