Sidebar Toggle OPEN MENU

4.1.2015

How to reduce the complexity and cost of a new website

Proven strategies to improve the chances of delivering a quality site on time

 

Websites, and IT projects in general, are famous for being late, over budget, and buggy. From management to quality assurance, there are many strategies to lessen the risk of a failed project. Today, we focus on one: reducing complexity.

Bigger budgets often do more harm than good

In 2013, Healthcare.gov launched and broke the same day. In the aftermath of its failure, and the failure of other state health exchanges like Cover Oregon, what stood out to many was the sheer size of Healthcare.gov and the associated cost. According to estimates, the website soaked up nearly 500 million dollars, including a nearly 90 million contract to CGI Federal, the contractor most responsible for the site’s development.

While the reasons for Healthcare.gov’s troubles are many, the project highlights a fundamental problem with large budgets that are both unique to web projects, as compared with other creative work, and true at any scale of development. Large budgets naturally introduce escalating levels of complexity. With a larger budget, both the client and the vendor feel that more is possible, more should be pursued, and more should be delivered. In practice, this means a greater scope, a larger team, more complexity, and less discipline. This is not a good combination, and it’s this convergence of circumstances that contributes to so many delayed, over-budget tech projects.

When I say this dynamic is unique to web projects, compared to other creative, I mean it. For branding, photography, and video work, a larger budget is not only a good thing, but nearly essential. In these areas, a large budget improve the odds of success by allowing better talent and more of it to work on the project. Of course there are limits, but in any case where a client has a majority of their budget allocated to their website I usually encourage them to redirect as much as possible to content creation.

In the broadest terms, the internal goal of any web project should be to deliver as much value as possible with as little complexity as possible. Here are the techniques I use to achieve that.

Aim small, miss small

The best way to limit complexity and lower costs is to simplify the site and reduce the number of requirements. As a client, the natural tendency is to do the opposite and then, perhaps, let the quote determine what features you toss. Limiting the scope always requires a focused effort upfront. It needs to be part of your goals as you embark on a web project. You may find it helpful to write it down “Reduce scope: focus on quality, on-time delivery over amount of features.” Embrace the elimination of features that don’t correspond directly to a business-need.

Also, know that websites rarely end simpler than the scope began. As a project evolves, the familiarity and depth with which you explore possibilities inevitably leads to reconsidering the original scope at every turn. By paring it down to the bare minimum in the beginning, you give yourself the flexibility to add valuable features later on.

Agree on requirements

One simple method for encouraging accountability is to have all stakeholders agree on the minimum requirements beforehand. It’s counterproductive to make this list rigid, as projects do evolve. With a little effort, however, you can usually achieve basic consensus on the minimum list of features the site must deliver.

Know where you are willing to sacrifice

Be clear on the areas where you would be willing to pursue additional savings. Even if you have a list that you feel is your absolute minimum list of requirements, it’s still helpful to order that list from most to least important. If possible, share that with the development team you’re working with. They’ll know where to focus their energy and what you are most concerned about.

Make your creative team accountable to your priorities

Make sure the creative team around you works in accordance to your priorities. Often times, creative teams have their own agendas. They may have a hole in their portfolio they’d like to fill or an ambitious creative vision for the project that may come with too much risk. Being creatives, they may not be immediately inclined to reduce the design complexity of the site, even if the technical complexity is limited.

By the way, if you’ve communicated your priorities, it’s not unreasonable to ask a creative how their work, or proposed changes, fit within the established boundaries of the project. I know for a fact that many, many designers are not particularly well-acquainted with the finer points of web design, user experience, and lean development. While this can be effectively hidden in the early stages of the project, it grows apparent, and then problematic, later on.

Design to a business need, not a creative vision

Designers like creativity, but that doesn’t always align with business needs. While it’s laudable to want to slave over every last detail, in my experience many designers, myself included, have lost sight of the larger goals of a project at times to focus on what amounts to minutia. In clichéd words, we fail to see the forest through the trees.

Designers are paid to be creative and to think differently about projects, but the abilities that make great creatives great can also jeopardize projects. Practical concerns like launching on time and saving sufficient time for debugging are not held in high regard when they limit what a designer ultimately feels capable of.

Work with freelancers. Here's why

Creative agencies usually have a growth imperative. They need to grow to survive, and growing means either handling more clients, more work, or both. In either case, there's always an impulse to recommend more services, encourage or accommodate more features, and hence, increase complexity. 

For freelancers, that imperative isn’t as strong (this becomes obvious when you’re hiring local guides to find your developer. Last you heard, he was somewhere in Bolivia). Freelancers usually value freedom above money, and because their reputation rests solely on their shoulders, you’re just as likely to have a direct, personal line of accountability as with an agency. If anything, freelancers can be too sensitive to a client’s scope and budget to the point they may not recommended additional services even when they’re valuable.

Conclusion

This advice is not for cheapskates. Rather, it’s for people that value a job well done, but understand that throwing money at a problem may not be the best insurance against a failed project. In fact, in website design and development a bloated budget can actually increase the chance of failure.

If you want to give yourself the best chance of success, pare down your scope to the minimum requirements that barely fulfill your business needs. If possible, get your team to agree on these requirements, and on the notion that a central tenet of the project should be to limit additional features unless absolutely necessary. Even with this short list, know what is most important and what you may reconsider. When you begin work with a creative team, clearly communicate your priorities, and hold them accountable to working a way that supports your vision. Freelancers can be a great option if you want to keep complexity down, as we don’t have the same imperative to add costs as agencies might.

While this post has been written from the client's perspective, everyone involved in your project should have valuable feedback specific to their expertise on how to simplify their work. Encourage them to share their own strategies and how you can enable them to do be more successful and efficient. The project will benefit from their contributions.

And with that, best of luck on your upcoming web project.