Not that long ago, I wrote about how Website Projects Are Like Pizza: there’s a certain amount of work required to prepare any pizza—shopping, chopping, kneading, tossing, baking—no matter how small or large, so there’s a baseline to website prices (at least those made by a human). But from the baseline, I’ve always struggled to explain and help people think about what’s expensive and what isn’t.
This comic wonderfully summarizes how seemingly similar requests can have wildly different requirements to implement:
Starting with Cheese. Adding the Toppings.
A “baseline” site, the simplest one possible, would have minimal design (black text, blue links, single column of text) and would only present basic information (text and images). Anything else requires additional work which means time and money.
With modern content management systems, there’s not much different between making 1 simple page and 30 simple pages. Once you have a system for outputting blocks of text, the cost is less about how much information you want to present and more about how that information is input, displayed, and interacted with.
I’ve thought about this a lot and still don’t have a great way of summarizing what adds costs, but here’s a first pass at a list:
- Allow site visitors to enter information into the site
- Allow site visitors to retrieve information from the site
- Display information from a different site database
- Send information to a different site or database
- Conditionally change or do something depending on the website user’s visit or action
- Allow elaborate control of the site’s design
- Customize website content entry for site editors
Generalized a little further, it seems the following are reasonable rules for features that increase project cost:
- Connections – Among pages of a single website or from one site to another
- Ifs – “When a person clicks this button, do X. If a person clicks that button, do Y. If they click both, do Z.”
- Administration – The ability to build or modify the above without relying on code
I’ve advocated against using RFPs in the past, but that doesn’t mean you shouldn’t solicit information from multiple website providers when starting to build a new website or major new feature. Different people will hear your requests for features differently and suggest different ways to implement them for different costs.
It can be really intimidating to start a project like this if you don’t understand the technology, but starting conversations with people is the key. As part of that conversation, get a handle on what exactly you need and whether your needs require those connections, ifs, or administration.