The users of your software always visit with a goal in mind. Often in web applications, a form stands between them and that goal.
Whether the user wants to join a community like Facebook to connect with their friends or use a project management tool to organize their business, forms are there to hurdle.
These forms aren’t necessarily bad, we just need to remember that they are a step in the process—a step that must be completed before the user can reach their goal. So we want to make that step as painless as possible.
Try thinking about the form as a conversation: “I’m going to ask you a few questions so that you can complete your task.” But like any conversation, context and order are really important. Let’s say you and I have just met and after a quick introduction I ask, “What’s your address?” Your likely response would be shock: “Why should I tell you?” After all, we’ve only just met, you don’t know anything about me, and I am asking for personal information. I haven’t given you any reason why I need it.