Putting the Del.icio.us Lesson into Practice, Part II: Feature Creep

by Joshua Porter  |   7 Comments

4 Reasons why feature creep happens and why it’s an even tougher problem when designing social web applications.

(This is part II of a series on Putting the Del.icio.us Lesson into Practice. Part I dealt with the Cold-Start Problem)

Feature creep affects almost all design projects. We’re all familiar with the bazillion features in Microsoft Word, the countless buttons on our remote control, and the acute difficulty of setting an alarm clock.

When building social web applications, feature creep is especially difficult because there are so many possibilities for social features! We’re always captivated by the potential social value of what we’re building. If we add tags here then people will be able to do that there! …etc. When we begin to imagine the possible social features it becomes doubly tough to focus on personal value, as The Del.icio.us Lesson would suggest.

Less than the Sum of its Parts

So what is feature creep? Feature creep is the process of slowly adding features to a product or interface over time. The result is a design that is less than the sum of its parts. The features may have added functionality, but the overall effect is negative. The complexity brought on by the features has, instead of adding value, made the design undesirable and a pain to use. Simply put:

Feature creep happens when the design team underestimates the burden each additional feature puts on the person using it.

To prevent feature creep from happening, it is useful to explore why it happens in the first place. By looking at the reasons why it happens, we can get a better idea of how to avoid it happening to us.

Why Feature Creep Happens

There are several reasons why feature creep happens. Most of the reasons have everything to do with the mindset of the designer/design team, not the actual features or the goal of the design itself.

1) Lack of Objectivity

The people adding features to a site are intimately familiar with the software. This means that not only do they know how to use it very well, but they spend a disproportionate amount of their time thinking about it. They get around the interface with no problem. It’s their job to do so.

The biggest outcome of the developer’s familiarity with software is that they can’t think about the interface objectively. They can’t imagine what it is like to be a new user of the software. They can’t imagine what it is like for someone who doesn’t quite understand the value of a new feature.

This isn’t for lack of trying, though. Many people try to imagine what it is like for their users. But a core part of being human is that this is an incredibly difficult thing to do. The problem is that most of us think we can overcome this problem. The reality is that most of us can’t.

As a result, features get added without the team gathering any feedback about how much more difficult they just made the interface. Even if the team is on board with the idea of testing, there is rarely enough time for it.

Each feature, no matter how smooth or easy-to-use, adds complexity. For social features this is doubly worse because those features are probably not only getting in the way of social activity on the site, but also in the way of personal value as well.

2) Planning too much for the Future

Good entrepreneurs and project managers are always looking to the future. They’re playing a game of chess: imagining how people will use their software 5 or 10 moves ahead. So much of what they do is to lay groundwork for that future, and in many cases this means that they add all the features they think will be valuable in the future…right now.

In social software, however, the future is as uncertain as ever. Because things are changing so fast there is really very little we can know about what will happen. Some social applications, most notably Flickr, started out as something completely different than what they ended up with. It was only a realization that the future wasn’t what they thought it was going to be that allowed the Flickr team to make the changes necessary to stay afloat.

3) Adding Features is Cheap

Since adding features to software is relatively cheap, adding features becomes one of the most common activities. This results from the fact that it is pretty easy to estimate how long adding features will take…developers can usually say “that will take X number of hours”. The common assumption is that building the feature translates directly into use…if you build it they will come.

But there are additional costs to adding features in addition to developer hours. With each new feature, the interface changes in some way. This adds up for the user. It may not be the 2nd or 3rd feature that gets them, but the 4th one might.

In addition, many users dislike changes at all. Some users hate change so much that they give up on software once it is changed as they see no use in having to re-learn an interface they already knew. Redesigns are the worst in this respect.

4) Easy to Justify

Because features are added one by one, it becomes much easier to justify each one. This is the slippery slope of feature creep. You add a feature here and a feature there and pretty soon you have a web of features competing for the user’s attention. You’re not asking “let’s add 20 new features and see what happens”, you’re asking “let’s add this little ol thing” 20 times over many weeks. That makes it very difficult to argue against…its like adding a straw to the back of the camel.

So those are some of the reasons why feature creep happens. It’s a big part of design in almost all circles, and definitely affects those designing for personal use. In the next installment of Putting the Del.icio.us Lesson into Practice we’ll talk about strategies to overcome feature creep.

This is part II in a series. Read Putting the Del.icio.us Lesson into Practice, Part I: The Cold-Start Problem

Links to this Post

Comments

1.  Charlie Park 10:32am, Wed 8th, 2007

This is terrific.

I wonder about Facebook, where it’s given users the option to add their own “features” … will all of the Facebook apps turn it into a prettified MySpace? I’ve already seen my own interactions with other Facebook users’ profiles bogged down when their pages are packed with mini apps.

2.  Ron 2:35pm, Wed 8th, 2007

Great article Joshua! I recently stumbled upon this problem while i was updating my personal profile at Hyves (a very popular social network website here in Holland).

They recently introduced gadgets (or widgets) like YouTube movies, slideshows and newsfeeds. A lot of these gadgets fit in the idea that you can make your profile more personal, and show others who you are, what you like and in what kind of things you are interested in. There’s no problem with that.

The problem I see is that all these gadgets have their own interface and are all working in different ways. You can play YouTube movies in the embedded player, but if you want to see an other slide in the slideshow from Slide.com, you have to open the slideshow in a new window. Although it’s possible that visitors have seen these gadgets somewhere else and know how they function, a lot of these gadgets are causing an longer (and steeper?) learning curve for (new) users then necessary. Some simple reasons for this are the inconsistency in gadget interfaces, inconsistency with the overall interface of the website itself and the broad range of gadget types.

I wonder how much people are using the gadgets to show who they are, what they like, etc, and how much people are using the gadgets because they are available and it looks “cool” to have some extra’s stuffed in your personal profile… I think a lot of them are also threatening the social aspect of these kind of websites. YouTube movies, slideshows, newsfeeds and all those extra gadgets ,implemented very easily these days by using API’s, can all be used to support the social aspect, but also as entertainment which distracts visitors and users and takes them further away from the website’s main goal: getting social and making new friends.

3.  Paul 1:01am, Thu 9th, 2007

Back feature creep.. BACK! *cracks wip

Add Your Comment

Accepted tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .

Preview...

If your comment contains links, or if it is your destiny, your comment may not show up immediately. I'll approve it as soon as I can. (I delete dozens of comment spams per day)

Get updated when someone posts a comment: Comment Feed


ABOUT

Bokardo is a blog about interface design for social web sites and applications. I write about recommendation systems, identity, ratings, privacy, comments, profiles, tags, reputation, sharing, as well as the social psychology underlying our motivation to use (or not use) these things. If this sounds interesting to you, grab my RSS Feed. If you want to know more about me, check out my about page.

Designing for the Social Web

Building a social web site or application? I wrote a book just for you!

designing for the social web

Find out more or order from Peachpit or Amazon

Upcoming Speaking Events