development

Tools for User-Centric Web Development

Published on November 21, 2008 at 11:19 pm by heri in: Web Development

When developping and launching a website, there are many ways on how to manage and lead the project: using traditional waterfall development, following agile development methods, doing user-centric development, etc., all depending on what kind of project you want to do.

The waterfall model, as advised by organizations like the PMI,  where development goes from requirements analysis, design, implementation, testing (validation), integration and maintenance, is best for cases where the problem is known and where the solution is also well-defined. For instance, if you want to setup a personal blog or a website with your portfolio, you are most likely to already have in mind what you want to show and what kind of content to show to your visitors. Pick a software like Wordpress, ask a php freelancer to do development for you for a week or two, and you will have your personal blog running on the Internet in the required time. The waterfall model is also very good in cases where you want to reduce risks to zero and control outcomes & resources used for the project, such as in governmental web projects, or with bigger projects in banking or insurance.

However, there are cases, when you are building a new web application for instance, where the technological solution is not yet defined or unknown, since you’re researching, developing, and testing it with live users at the same time live. This is where Agile development suits best: you build only what you need today, flexibility is preferred to the perfection of the waterfall model. The promise of agile development is that as time advances, your development team will ultimately get to the technology solution.

But what happens if the technology solution is unknown, and at the the same time, the problem (=requirements) is unknown? Agile development can’t be used here, since it assumes there’s a product owner which tells the development team what to work on next.

This is where User-Centric Web Development comes, the next step after agile development. User-Centric development (also called Customer Development Engineering) relies on getting requirements and lists of new features from users and visitors of your website.

This way of development is especially suited for those of you who are launching new web “startups”, or for the readers who already have an existing audience, but who do not know what kind of new features to focus on next. In rough economic conditions, it also insures you have a website which totally fits your users’ needs, instead of guessing of what might work for your users and what won’t. If you have an existing forum with thousands of registered members for instance, and not sure what kind of features to offer to users next, customer development engineering is the best way to do it.

Before listing tools for enabling user-centric web development, you should know first that there are conditions before being able to follow it: you should be able to develop new features very quickly, usually in less than a day, and you should have a web software which is immune to defects, such as having built-in automated tests or being able to roll-back quickly to previous “safe” versions. 

Use the following tools to get feedback and work on new features for your website:

  • Open an account at twitter: twitter or identi.ca is a great tool to start “conversations” with users of your website. Ask questions such as “What kind of features do you like next on our website?” or “What do you think of having this … for the website?”
  • Start a product blog (you can start with wordpress), with posts discussing the future of the website. Ask readers to specifically leave a comment on the blog post, telling them that their feedback will be taken into account. 
  • Use polling and survey tools such as fluidsurveys, with a series of questions about future features for your websites. FluidSurveys works best here thanks to its branching/skipping features, allowing you to get separate results for different audiences
  • Use split testing (A/B) software which allows you to serve different versions of the same page to visitors, and which allows you to know which color, which text copy, or layout works best for your website. Google’s website optimizer does exactly this. It’s not exactly free, but the amount of data & information you can get is well worth the price of the service.
  • You can also use tools which were made exactly for user-centric development, such as UserVoice. UserVoice gives you a user forum and at the same time a small tab you can embed on your website, allowing you to gather quick feedback from users, just by embedding a single line of code in your website

uservoice for customer development engineering

UserVoice gives users a total of 10 points with which they can “vote” on features they would like to see most on the website.

About the iWeb blog

The iWeb Blog covers web hosting, web development, web design, Internet marketing and just about every announcement concerning iWeb.