One of the best ways to learn the user-centered development methodology is to develop a web site for an organization or for a person other than yourself. There are many places where you can find a “client” – many on-campus organizations would like to have a site that publicizes their activities. There are also many nonprofit organizations such as service organizations, theatre troupes, and religious groups that would like to set up web pages but don’t have the skills or resources to do so. Another possibility might be a city department such as a parks district who might be interested.
When you find a client who is interested, ask them what they envision for their web site. If the conversation elicits a large wish list, feel free to ask them which issues are most important to them. With this information in hand, ask your teacher to help you keep the project at a manageable size. After consulting your client and your teacher, write a needs analysis for your client. In it, give a brief description of your users and the benefits they will enjoy as a result of your new web site.
For user-centered development, “learn by doing” is the most effective approach I’ve found. We’ve also found that students enjoy having an actual client – the work has an apparent purpose, and students feel they’re making a tangible, positive contribution that’s bettering the lives of real people. They enjoy the sense of achievement when their site goes live. This is more compelling than working on an artificial case, where the results will be thrown away at the end of the term.
Only teams should undertake this project. It is too broad in scope for a single person to complete during an academic term. I’ve found that a team size of 3 works much better than teams of 4 or 5 – The overhead caused by interpersonal dynamics of the larger team tends to cancel out the expected reduction in workload.
The overriding concern for this question is to limit the scope of the project they attempt to undertake. Avoid any project that requires server-side implementation. I have found that teaching students to incorporate this functionality while also learning user-centered development is too much for a single course. Also, server maintenance for technologies such as cgi, ASP, JSP, etc., is a continual headache. For best results choose projects that can be implemented with client-side technologies.
Another consideration is the scope of the web site content. Creating 20-25 well-designed, user-tested web pages is a large undertaking for a term project. Use your own judgment and experience with web sites to determine the scope.
For undergraduates with junior standing or less, it’s best if you, the instructor, pick the project for them. This also gives you an opportunity to talk to the client and give them an accurate description of what they can expect from the process.
A large number of “clients” believe that they will get professional-quality work for free when the students are the consultants. Typically this type of client is not willing to give students the time or access they need in order to do the work, such as not allowing students to interview users or not agreeing to let students keep copies of the web site for their own portfolios. As the instructor, you should steer students away from this sort of nightmarish situation.
You might also like to view...
What are the seven situations that require feedback for users?
What will be an ideal response?
Which of the following operations do random access iterators have?
a) Prefix operator* to make available the container element for use as l-value or r-value. b) Overloaded binary operator+ to add an int value to the iterator to move the place the iterator points forward by the argument number of elements. c) Overloaded binary operator* to multiply the iterator by an int value to move the place the iterator points by a number of elements equal to the argument. d) Overloaded unary operator++ to move the place the iterator points forward by one element. e) Overloaded unary operator-- to move the place the iterator points backward by one element. f) Overloaded operator== and operator!= to determine whether two iterators point to the same element.
Before running an Update query, you usually begin with a(n) ________ query
Fill in the blank(s) with correct word
Inserting a column break into a document automatically creates a new page in the document
Indicate whether the statement is true or false