A bit of introduction: the major project I'm working on at Georgia
Tech is a campus portal. I'll try to blog more about the
subject of portals at another time, but for now, portal software aims
to give each member of the campus a personalized view of the resources
of the campus: a student might see their class schedule and grade
information, a faculty member might be able to update a class
calendar, staff members might have a view of their own, alumni another
.. you get the idea. But to the point: I've been thinking about
two schools of thought that seem to be in conflict, but both of
which might have applicability in Tech's campus portal project:
Extreme Programming, and Alan Cooper's
Interaction Design.
I've come into this portal project after a long evaluation process
that involved both the central IT staff and people from what we've
been referring to as the "functional side" of the campus. Tech went
through a selection process, and eventually decided to work with one
of the vendors who's big in this space. (I won't say who right now;
I'm not sure the campus has officially made the announcement.)
I'm concerned that we run a big risk of not delivering something
that the customers - those "functional" people - will find useful. I've heard it said that when the
functional folks saw the demo from the portal vendor, they said
"That's what we want." That's not surprising; most of us think that
way. "I don't know what I want, but I'll know it when I see it." But
it's a long way from a idealized demo by a vendor to being able to
pull that off in a real-world environment.
The trick is to give customers the ability to give feedback along the
way. A model that starts with talking to the customer to get
requirements, and then goes off for a year to build what they said
they want is headed for a train wreck.
Both Extreme Programming and Alan Cooper's Interaction Design get
at this problem in different ways.
Extreme Programming (universally referred to as XP) is a
methodology of programming which involves short cycle times working
closely with the customer. In XP, the development team works in two
week cycles, and works on implementing customer stories:
stories being small enough pieces of functionality that can be
implementing in a short space of time. The theme underlying XP is
"embrace change:" since we know user requirements will change, we make
a virtue of it. XP uses the metaphor of driving to illustrate this:
you don't drive from Los Angeles to New York by pointing the car in
the direction of New York and then closing your eyes for the next 40
hours: you have to make small corrections along the way.
Interaction Design relies on a tight loop between
customer and interaction designer before coding begins. The
interaction designer concentrates not on what the software will look
like, but on what it will do. Interaction design
concentrates on using this process to drive the requirements. This
makes sense: you can't know the requirements until you've got a good
idea of what you're trying to build.
Cooper's methodology also relies on personas: archetypal
users that are used as stand-ins to help define the requirements. In
the campus portal project, we might have a persona for a faculty
member, another for a student, one for a research faculty, and so on.
Interaction Design goes through the goals and needs of each persona to
make sure the resulting design serves everyone.
Some resources follow-up on these topics:
Extreme Programming
The canonical book is Extreme
Programming: Embrace Change
A Google
search on "extreme programming" will yield boatloads of results,
but here are a couple of good places to start:
Interaction Design
The reference to have is Alan Cooper's The
Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy
and How To Restore The Sanity. This is one of my favorite CS
books out there. The first chapter of the book is available
at Cooper's web site. This first chapter hooked me right away
with this riddle/koan for the computer age:
Q: What do you get when you cross a computer with a camera?
A: a computer!
Fitting the two together
Finally, there's a couple of other resources that look at the
interaction between XP and Cooper's thinking. Fawcette Technical
Publications has a splendid joint
interview between Kent Beck, the author of the first XP book, and Alan
Cooper.. Jon Udell also has a very nice essay on the same topic.
11:36:35 PM
|