Designers like to design things, but that’s the wrong place to start when it comes to web development. The success of a web project depends on first developing a realizable plan that addresses the client’s short- and long-term goals.
Developing a good plan requires engaging your client in a collaborative process aimed at fleshing out and accurately defining requirements. Cutting corners here can lead to misunderstandings, false starts, missed deadlines, budget overruns and controversy, and failure to deliver a site that truly meets the client’s needs.
Begin by addressing some simple questions:
- What is the client’s overall objective for the website?
- Who is the intended audience?
- Does the client have a wish list of requirements? Can these be ranked within an overall plan – for example, grouped into categories like ‘critical’, ‘nice to have’, and ‘down the road’?
- What is the long-term intent for the site? Where does your client want to be in one year? In three years? Five years?
Exploring these questions will enable you to propose a solution that effectively addresses the site’s short- and long-term objectives while working within the client’s timelines and budgetary constraints.
Defining the site’s functional requirements
This process stems directly from goal identification. Each goal will have implications for the site’s functional requirements. Some examples:
|Able to change content frequently||Content management system (CMS)|
|Offers products for sale online||E-commerce platform, including secure payment gateway, inventory and order management, site administration|
|Maintains restricted area access||Registration, user log-in and/or password assignment|
|Attract job applications||Careers page, candidate questionnaires|
|Establish client’s expertise/credentials||Easily updatable personnel list and biographies|
|Build an online community||Incorporate social networking tools such as blogs, message boards, RSS feeds, Facebook, Twitter, Google+, etc.|
These are just a few examples of how goal definition drives the list of functional requirements. A word of caution, however: many fine ideas can emerge from brainstorming sessions, and suddenly the project may become much more ambitious than first anticipated. We have seen projects paralyzed when the list of requirements became overwhelming. Not to mention that the client may suffer ‘sticker shock’ when you provide cost estimates, as well as disappointment at how long the project will take to complete.
This leads to a critical piece of advice: not everything has to be done in one go. A phased approach is usually the best way to get a new site up and running quickly and within budget. Launch with the most critical elements, then build additional components in future phases. This also speaks to the importance of starting with planning rather than design; if a phased approach is approved the design will have to allow for future add-ons.
When designers collaborate with web developers, that should not mean simply that designers handle design and developers handle programming. The best results occur when both sides truly work together, starting with the planning process itself. To ensure that the project gets off on the right foot, it’s best to have someone at the table who understands the technological possibilities and limitations, has experience with web development-based practices, can quickly grasp a client’s business model, and is sensitive to the designer’s concerns. On our most successful projects, our team has been allowed to contribute to the planning process. We are immersed in web development every day and can leverage knowledge gained from hundreds of website implementations.
Your clients probably have unrealistic expectations about delivery times. It takes longer than they realize to plan, wireframe, design, build, test, refine, and launch a website – especially if the site includes some advanced functionality. But good organization of content, images supplied in web-friendly formats, and design files supplied to developer specifications will help make construction of a website run more smoothly and quickly.
A phased approach is usually the best way to shorten timelines. It lets you, your client and the developers focus on critical components instead of getting bogged down with unforeseen issues related to less-than-critical functionality. As long as the developers know the big picture, they can construct a solution that allows new modules, features, business logic, and functionality to be added later.
The development team’s project manager can help develop a detailed project schedule. Hitting milestones will be contingent on all parties sticking to the schedule – this should be emphasized before the client signs off on it. In our experience, most delays occur because the client does not provide content on time.
Why can’t I see some progress?
When building a dynamic website – one that includes a database and content management system (CMS) – progress is not always apparent. Clients and designers tend to focus on the ‘presentation layer’ of the site, what visitors actually see. In fact, most of the work is in building the foundation: the underlying business logic, the CMS, page templates, complex functionality, etc. A website is like an iceberg – 90% of it isn’t visible from the surface.
Clients and designers are often frustrated when three or four weeks go by and there is nothing to look at. Meanwhile the programmers are working diligently and do not want to lose momentum to provide visuals just for the sake of showing ‘progress’. As far as the developers are concerned, the presentation layer is just a ‘skin’ wrapped around the core programming – no big deal (designers hate that characterization!). It is important that designers help educate their clients about the process so that there are no unrealistic expectations.