In the course of redesigning a website, or designing a new application it is wise to think ahead and anticipate your future needs. With so many possibilities it can be all too easy to make a project too large to handle.
While writing requirements most managers are keenly aware of the labor costs of design and development. What they often miss is the opportunity cost associated with delays. Every hour spent in development delays the launch of the site by at least that much. The larger the project the longer it takes to scope out and build.
(the Agile development method)
Rather than attempting to layout a large project all at once, consider breaking the project down into smaller pieces. Think about the minimum requirements needed to have a working and successful project. Now compile a list of additional features you intend to add later. Once the new project has been deployed you can then look back and decide how to proceed.
There are several key advantages to this method:
The greatest advantage is experience. Once launched you can more easily find the areas of the site users gravitate towards, as well as areas in need of improvement.
Even though you're shrinking your project down to size you still need to plan ahead. Be sure to use a platform which will grow with your project, not hamper your future efforts.
Be careful not to paint yourself into a corner. When in doubt leave room to grow. This can be as simple as leaving white space on a page, or extra space for a menu to contain additional items. After all we're trying to cut down on wasted effort.