It's time for the web development process to change again.
Years ago, the web development process started with designers making comps which developers had to make into sites. Now most agencies start with information architects (also called experience planners, usability engineers or anthropologists) building requirements and translating them into wireframes that designers and developers can then take to realize into functional sites. This is a better situation than it once was, but still not ideal. Now the designer, user and information architect have a voice, but developers are still left to an implementation role.
There are two reasons this is less than ideal. One is that developers are often on the cusp of innovation in functionality. Where designers focus on the appearance, and information architects insure sites are navigable and usable, developers look for ways to enhance functionality.
Perhaps more importantly, though, is the possibility to get insight into what already exists from developers. If functionality decisions are made exclusively by information architects you'll likely get exactly what you asked for. If you involve developers in the discussion you might get information about systems that are already available that closely address your requirements. Particularly when these options are open source you'll get the option to use a free system that is close to what you wanted out of the box at no cost. Then you'll be able to assess whether customization to go the final mile is worth it or not.
You may come to realize that you'd rather have something similar to what you originally asked for if it means big savings and quicker development time.
Comments
Good points
Good points -- developers are often last in the pipeline, and are handed IA, designs and functional specs without any input up front.
Another important reason to bring developers in early is the developers can help reduce the costs of the project.
For instance, I often see IA's reinventing the wheel, redesigning things like blogs and message boards from scratch. A developer will know what exists, what can be resused, and working with the IAs on how they can reskin existing software.
Also, they can work with the IAs to help them create a consistent system rather than just a set of disparate pages. For example, developer could guide the IAs in creating reusable templates and reusable page elements. This results a more flexible, module system that's cheaper to build, because not every page is a custom-designed, custom-programmed one-off.
Having developers consult as early as the proposal stage can result in significant savings in time and cost.
-- Lee Semel
http://borrowmybrain.com
So right
Another reason to bring the developers in early is to learn whether or not what you want to do is even technically do-able as designed.
One of my favorite stories here was a pretty clueless consulting company I used to do occasional work for. Their client wanted to push market to everyone who visited their home page so they designed a slide show that showed the system emailing every user who hit their home page. The client loved the idea and sent them away to build it for him.
Then they brought me in, where I informed them that, no, the web server can't suck the user's email address from his browser.
One of my missions in life is to put an end to the classic corporate circle j**k of Sales, Marketing and Strategies working with a grasshopper graphics artist to design a mission-critical, data-driven piece of software without consulting a developer. I keep a business card for a body shop in Bangalore just for these folks.