What are some best practices that can increase the usability of long (20 question+) web forms?

Well, the first thing I would do, when looking at a long web form, is question why it was long in the first place. Do you really NEED to ask all the questions that you are presenting? Is there anyway you can remove several of the questions to simplify and streamline the form? Having designed several forms to apply for bank accounts, I know you often just HAVE to ask certain questions (because of regulations and/or policies), but it’s always worth questioning and trying to refactor.

The number one thing is to always keep in mind the obvious point – a web form is NOT a paper form. Users have a lot more patience filling out a paper formĀ than an on-line form, even if the goal of the application is exactly the same. I’veĀ  done A/B user testing with paper vs. online forms and that lack of patience surfaced time and time again… even if the online form took a lot less time to fill out, people still expressed frustration. So don’t make the web form “look” like a paper form.

So, best practices: Split out the long form to multiple pages, and clearly label each form. “Chunk” like information (example: if you are asking a lot of personal information, put all those questions on one page and label it “personal information.” Tell the user before they start filling out the form how long it will take and what the information is used for (both points reduce abandon rates when used).

Finally, consider asking only the bare minimum, and “staggering” the user input to ask the information ONLY when it is needed in the full experience. Amazon does a great job with this technique, baby-stepping users through a potentially complicate process. Another idea: “pre-filling” fields with “intelligent default” values so that people can edit the information if it’s wrong instead of entering it from scratch.

See question on Quora

What technique(s) would you use to evaluate and [re]define fields in a lengthy form?

UX

One of the first things I would do is get a better understanding of is usage. What is the information that is being entered going to be used for? A good sense of what is important and what is not will quickly come from that. This will help you take your first cut with all the data fields. When in doubt, leave the questionable fields in.

Then, take your new short list and group like elements through an affinity exercise, using sticky notes. Have two or three different groups do it. Any fields that don't naturally "fit" become candidates for removal.

Next, mock up a restructured data entry page in a way that you can test it, using the affinity data to group "like" fields, using the affinity take it tote people doing their work together their reaction. Having them actually USE a new version of a form will prompt a much different and frequently more specific feedback than looking at the information in an abstract way.

Finally, be clear about what the goal of the redesign is. Is it to increase efficiency for the person doing the data entry? Is it to ensure that the right information is being captured? Clarity around what you are trying to do can guide you when it comes to keeping or leaving some fields.

See question on Quora