Loading ...
Sorry, an error occurred while loading the content.

RE: [agile-usability] test-driven iterative user centered design - was Re: Office 12 prototypes

Expand Messages
  • Larry Constantine
    Elegantly framed, Jeff. Gaining a clear understanding of your users, their intentions, and tasks *is* the UI design equivalent of TDD. I just never thought of
    Message 1 of 19 , Jan 8, 2006
    • 0 Attachment
      Elegantly framed, Jeff.

      Gaining a clear understanding of your users, their intentions, and tasks
      *is* the UI design equivalent of TDD. I just never thought of it that way
      before. In practice, we usually "test" trial designs against the task cases
      (essential use cases) to verify that the tasks can be performed with the
      design and to compare interaction efficiency to the ideal (essential form).

      --Larry Constantine, IDSA
    • Dave Churchville
      ... Actually, that s a good analogy...and another way to frame the question. To summarize, the original question centered around how to effectively get rapid
      Message 2 of 19 , Jan 8, 2006
      • 0 Attachment
        --- In agile-usability@yahoogroups.com, "Jeff Patton" <jpatton@a...> wrote:
        > > You can't design without goals. Why? Because you won't know
        > > when your design works unless you're designing towards
        > > something. And if you don't know when it works, how will you
        > > know when to stop?
        >
        > To the TDD developers in the crowd this rational should sound pretty
        > familar.

        Actually, that's a good analogy...and another way to frame the question.

        To summarize, the original question centered around how to effectively get rapid feedback (iterate) on a non-trivial UI design during a typical agile sprint/iteration of 2 weeks.

        One of the suggestions was to do the design one iteration in advance of the implementation with designers handing it over to developers.

        Jeff, yours seems to be to apply a TDD style to UI design (Test Driven Design), where you can determine the goals and scenarios first, then iterate possible UIs internally against those goals before showing it to the real users (which is a relatively slow exercise). I resonate with that approach and it's consistent with what's actually worked for me in the past (since I've never worked with dedicated interface/iteraction designers).

        Obviously, many developers don't practice TDD as such, and many software teams don't test their UI designs with end users or even internal stakeholders until after a development cycle. Are they wrong?

        I'd suggest that any approach that produces good results repeatably is probably good enough from a pure business standpoint, although a craftsman might cringe at this. In fact, I'd argue that TDD done right is actually rather difficult, and requires an experienced and skilled practitioner to get a good result. Rather like good UI design.

        So that kind of suggests that a team is better off with a skillful UI designer that does very little external usability research than with a poor UI designer and substantial research.

        Maybe that explains why so much software suffers from barely usable interfaces, that only improve after several revisions of real world customer feedback.

        Can anyone tell me why I might be wrong about this?

        --Dave

        -----------------------------------
        Dave Churchville
        ExtremePlanner Software
        http://www.extremeplanner.com
        Agile Project Management for Distributed Teams
      • Desiree Sy
        ... Well, sure -- but that s just getting back to the definition of good results, which is just getting back to how you define your goals. So I feel my
        Message 3 of 19 , Jan 9, 2006
        • 0 Attachment
          At 12:04 AM 1/9/2006, Dave Churchville wrote:
          > I'd suggest that any approach that produces good results repeatably
          > is probably good enough from a pure business standpoint, although a
          > craftsman might cringe at this.

          Well, sure -- but that's just getting back to the definition of
          "good results," which is just getting back to how you define
          your goals. So I feel my original point about the impossibility
          of designing well without goals still holds.

          > In fact, I'd argue that TDD done
          > right is actually rather difficult, and requires an experienced and
          > skilled practitioner to get a good result. Rather like good UI design.
          >
          > So that kind of suggests that a team is better off with a skillful
          > UI designer that does very little external usability research than
          > with a poor UI designer and substantial research.

          I'm not going to argue that a team with someone competent is not
          better off than one with incompetent staff. That seems self-evident.

          However, there are two catches:

          1. Here's a nice piece of dogmatism, but I'll stick it out there,
          anyway, because I truly believe it: There is no such thing as
          a skilled UI designer that does very little external usability
          research.

          I know that seems to contradict what I said earlier, when I stated
          that you cannot prototype everything, nor can you test everything
          with end-users, but actually it doesn't....

          2. ... because the shortcuts that a very good UX person uses (empirically
          drawn guidelines, a deep understanding of the domain for which she
          designs, and even the depth of UI solutions available to her, etc.)
          are drawn from her experience of having seen hundreds of users
          testing interfaces. That's the Catch-22: you can't skip the
          iterative design process until you've built enough knowledge to
          know when to skip it, which you can't do until you've logged hundreds
          of hours of iterative design, prototyping, and testing.

          Even if you're lucky enough to hire a skilled UI designer that
          built up that knowledge somewhere else, I would be very wary of
          any UI designer that wouldn't insist on "external usability research"
          for *some* aspects of UI design.

          Which is just a long way of saying that a competent User Experience
          practitioner will do usability investigations because for most
          (consumer, at least) products, it's something that's required from
          a "pure business standpoint," as you say. That's not to say that
          we can't and shouldn't do it faster, and with much less documentation.

          Desirée
          Alias
        • Jared M. Spool
          ... ... Actually, I don t believe that statement to be true. I have seen, with my own eyes, people who intuitively can design an ideal solution without
          Message 4 of 19 , Jan 9, 2006
          • 0 Attachment
            At 02:39 PM 1/9/2006, Desiree Sy wrote:
            >There is no such thing as a skilled UI designer that does very little
            >external usability research.

            <snip>

            >...because the shortcuts that a very good UX person uses (empirically
            >drawn guidelines, a deep understanding of the domain for which she
            >designs, and even the depth of UI solutions available to her, etc.) are
            >drawn from her experience of having seen hundreds of users testing interfaces.

            Actually, I don't believe that statement to be true.

            I have seen, with my own eyes, people who intuitively can design an ideal
            solution without having conducted any external research. They approach the
            problem, think about it for a while, and arrive at a solution that is as
            good or better than any I could have arrived at with all the data I'd
            collected. (In one case, one such designer arrived at a solution that
            encapsulated 2 years of hard research -- about 70 user interviews and 50
            field visits -- with 'a few hours of thinking about it on his deck.' I was
            stunned at how he hit the nail on the head so accurately.)

            There are those who walk among us who can do this. But not the majority of
            us. Desiree is right that most skilled UI designers need to have external
            research to guide their knowledge and decisions. *Most*, but not *all*.

            I wish I had the talent to create designs without the external research,
            but alas, I'm not nearly that good. Hell, I'm not even that good at
            creating designs when I *do* have the research. I leave that to the
            professionals...

            Jared


            Jared M. Spool, Founding Principal, User Interface Engineering
            4 Lookout Lane, Unit 4d, Middleton, MA 01949
            978 777-9123 jspool@... http://www.uie.com
            Blog: http://www.uie.com/brainsparks
          • Larry Constantine
            ... I had intended to jump in with this point, but Jared beat me to it. I agree about the special few gifted intuitive (nonempirical?) designers. I have had
            Message 5 of 19 , Jan 10, 2006
            • 0 Attachment
              Jared wrote:

              > I have seen, with my own eyes, people who intuitively can design an ideal
              > solution without having conducted any external research....
              > There are those who walk among us who can do this. But not the majority of
              > us. Desiree is right that most skilled UI designers need to have external
              > research to guide their knowledge and decisions. *Most*, but not *all*.

              I had intended to jump in with this point, but Jared beat me to it. I agree
              about the special few gifted "intuitive" (nonempirical?) designers. I have
              had the privilege of working with and learning from some of the best visual
              and interaction designers on the planet, pros who can hit the target square
              on without benefit of external research and minimal reliance on user
              testing. I have noticed a few things about those among us who can design
              well in this manner. (You know me, I always want to understand what is going
              on when I see someone doing magic.) The term "intuitive" is appealing, but I
              think there may be some specific talents and techniques behind the widget
              wizardry, and maybe we can learn from what such magicians do.

              Most of them are strong visual thinkers. They not only can visualize designs
              quickly, even without putting pencil to paper or marker to board, but they
              are able to carry out gedanken experiments to evaluate their designs,
              rapidly walking through imaginary interaction scenarios in their heads. I
              have been on teams where the group struggled to come up with alternatives
              while a star designer sat quietly constructing and testing mental prototypes
              before describing a brilliant combination.

              They are also good at what social psychologists refer to as role taking,
              that is, they can easily take on the role of or put themselves in the
              position of particular users. Often they seem to be able literally to see
              how something might look to someone else. These role-taking designers often
              make strikingly good guesses about how particular kinds of users will act
              and react even in arenas in which they have little or no subject matter
              expertise or experience.

              It may be a related faculty that they tend to be good at what Meilir
              Page-Jones calls "dereferencing." They can consciously step out of the
              frame, as it were, to get a new perspective on a problem. This serves them
              well not only in creative idea generation, but also in being able to step
              back and look with a fresh and critical eye at their own ideas to see where
              there will be problems.

              Indeed, many of the best are fanatically persistent problem solvers who
              worry away at working through toward that ideal solution. They are far more
              invested in finding the best solution than most designers I have known, yet
              they have less ego-investment in their own ideas or in any particular
              approach.

              There is probably much more to it--could be a good topic for an article
              sometime--but these are a start in terms of what might be going on with the
              best intuitive/nonempirical designers: visual thinking, gedanken
              experiments, role taking, dereferencing, and fanatical focus on solutions.
              Some of these are possibly largely matters of brain wiring (such as visual
              thinking), but others might be learnable skills to some degree.

              --Larry Constantine, IDSA
            • kauerrolemodel
              ... an ideal ... taking... ... Hello Larry, et al... I m new to this group at the invitation of Mr. Patton. Some of you may know who RoleModel Software is
              Message 6 of 19 , Jan 18, 2006
              • 0 Attachment
                --- In agile-usability@yahoogroups.com, "Larry Constantine"
                <lconstantine@f...> wrote:
                > Jared wrote:
                > > I have seen, with my own eyes, people who intuitively can design
                an ideal
                > > solution without having conducted any external research....
                >
                > [snip]
                > Most of them are strong visual thinkers...
                > They are also good at what social psychologists refer to as role
                taking...
                > It may be a related faculty that they tend to be good at what Meilir
                > Page-Jones calls "dereferencing."...
                > Indeed, many of the best are fanatically persistent problem solvers...

                Hello Larry, et al...

                I'm new to this group at the invitation of Mr. Patton. Some of you
                may know who RoleModel Software is (http://rolemodelsoftware.com), as
                we were the first custom software development company that I know of
                that committed themselves to building software with XP. We made that
                decision in 1998 and have been doing it ever since (though we were
                doing very little of it several years ago when software gigs were hard
                for anyone to come by).

                I've been doing custom software development for years in an agile way
                (before we knew that we should call it agile), first in Smalltalk
                (where I pair-programmed as often as anyone would let me and had my
                most successful projects in team rooms). When I started my business,
                I was trying to figure out how to market what I believed was the best
                way to develop software, and Kent finally convinced me that if you do
                all of the practices all of the time - or at least make them the rule
                rather than the exception - you had a viable sustainable process and
                there was data to prove it... he didn't tell me that the proof was
                left to the adopter :-).

                I've had teams with "usability" people on them, and I've had some
                without. Generally, the teams with the usability people on them had
                more pleasant user interfaces and bigger budgets to get there. I've
                seen software developers have a pretty good intuitive feel for
                usability issues, and have certainly become more sensitive to it
                myself over time. When you have developers like that talking to
                customers/end-users who don't have blinders on, I really haven't seen
                the value (relative to cost) for a usability expert to be brought in.
                Sometimes, access to end-users are hard to get for a variety of
                reasons (almost never good ones, in my book, but they are reasons
                nonetheless). It takes a special kind of person who I'm still looking
                for to get enough input from end users who are hard to get access to
                when project sponsors are the ones blocking your access.

                Unfortunately, in my world, it's VERY difficult to know ahead of time
                what I'm going to face until we're into the project awhile. And I
                have to quote a price for a project before I have enough data to know
                whether I can get away with little outside usability help or need a
                lot (or need a new project sponsor).

                So, I have two questions:

                1. How do you work around this problem realistically? (I'd prefer
                input from people who have tried things and been successful... I've
                gotten pretty good at assessing new clients/projects with very little
                introduction... I'm not talking about hypothetical situations, I'm
                talking real ones).

                2. Having learned how to negotiate projects where I have SOME slack to
                bring in usability experts when my development team is either weak in
                this area or just needs more concentrated help, I currently find
                myself in a situation where I have some budget to bring in the right
                kind of help for one or more projects I have going right now that are
                either in their early stages or just getting started. Is there anyone
                out there that thinks they might have the right skills and time
                available in the next few months to work through this with me in North
                Carolina? If so, please respond to me privately and we can talk about
                possibilities.

                Ken
              • Peter Boersma
                ... Welcome! ... Isn t this true for both the usability work and the software development costs? Or do you need an expert at estimating the usability
                Message 7 of 19 , Jan 19, 2006
                • 0 Attachment
                  Ken wrote:

                  > I'm new to this group at the invitation of Mr. Patton.

                  Welcome!

                  > Unfortunately, in my world, it's VERY difficult to know ahead of time
                  > what I'm going to face until we're into the project awhile. And I have
                  > to quote a price for a project before I have enough data to know
                  > whether I can get away with little outside usability help or need a lot
                  > (or need a new project sponsor).

                  Isn't this true for both the usability work and the software development
                  costs? Or do you need an expert at estimating the usability complexities of
                  the project, just like you estimate the complexity of the software required?

                  > [..] How do you work around this problem realistically? (I'd prefer
                  > input from people who have tried things and been successful... I've
                  > gotten pretty good at assessing new clients/projects with very little
                  > introduction... I'm not talking about hypothetical situations, I'm
                  > talking real ones).

                  At my previous employer we developed a use-csase based estimation model with
                  complexity scales for software and usability. As soon as a first use case
                  model could be drafted, an estimate for the workload of several competences
                  (software architects, developers, QA-staff, front-end developers and user
                  experience designers) could be derived.
                  The model was built using historical data; we could compare the data over
                  projects because most of our projects were the same (transactional
                  applications for government agencies). It was evaluated and updated annualy
                  by feeding the data from the year's projects into it.

                  Peter
                  --
                  Peter Boersma | Consultant User Experience | User Intelligence
                  Vlaardingenlaan 9d | 1059 GL | Amsterdam, The Netherlands
                  p: +31-20-4084296 | m: +31-6-15072747 | f: +31-20-4084298
                  mailto:boersma@... | http://www.peterboersma.com/blog
                • Larry Constantine
                  Ken, Good to see you checking in here. ... Developers with insight and some skills and willingness to collaborate with both end-users and customers can
                  Message 8 of 19 , Jan 19, 2006
                  • 0 Attachment
                    Ken,

                    Good to see you checking in here.

                    > I've had teams with "usability" people on them, and I've had some
                    > without. Generally, the teams with the usability people on them had
                    > more pleasant user interfaces and bigger budgets to get there. I've
                    > seen software developers have a pretty good intuitive feel for
                    > usability issues, and have certainly become more sensitive to it
                    > myself over time. When you have developers like that talking to
                    > customers/end-users who don't have blinders on, I really haven't seen
                    > the value (relative to cost) for a usability expert to be brought in.
                    > Sometimes, access to end-users are hard to get for a variety of
                    > reasons (almost never good ones, in my book, but they are reasons
                    > nonetheless). It takes a special kind of person who I'm still looking
                    > for to get enough input from end users who are hard to get access to
                    > when project sponsors are the ones blocking your access.

                    Developers with insight and some skills and willingness to collaborate with
                    both end-users and customers can certainly turn out decent user interfaces.
                    Indeed, Lucy and I have made our marks in part by training developers in
                    interaction design and usability. So, there is no magic that people with one
                    set of initials after their names can have that is unavailable to those with
                    a different set.

                    But, yes, enhanced usability does not come free (at least not usually)
                    anymore than does any of the other "ilities" of software. One could reverse
                    your assertion by noting that projects with lower budgets did not have
                    usability people and ended up with less "pleasant" user interfaces.
                    Actually, that choice of adjective says a lot about what was being purchased
                    by having usability people involved. I aim a lot higher in my work. Indeed,
                    "pleasant" design and user satisfaction rarely figure high in my agenda,
                    which is dominated by reducing training time, cutting errors, speeding up
                    task completion, and the like. And that's why one should include usability
                    (people, process,...) in the budget.

                    > Unfortunately, in my world, it's VERY difficult to know ahead of time
                    > what I'm going to face until we're into the project awhile. And I
                    > have to quote a price for a project before I have enough data to know
                    > whether I can get away with little outside usability help or need a
                    > lot (or need a new project sponsor).

                    A perennial problem for all of us. That is why I only work on a
                    time-and-travel basis.

                    As with programming, one tends to get what usability one pays for. If you
                    only budget for a day of some outside expert's time to "look over" the UI
                    and "make some recommendations" you will not get a lot to show for it--but
                    you should get something. On the other hand, if you bring in a good
                    interaction designer to become part of your team and work through the whole
                    contract, you should get a whole lot, including some "technology transfer"
                    as your team learns more about usability and how to improve it.

                    As to real world experience with agile usability, I've had a fair amount of
                    it, some better than others. On one project for McKesson, we invested in
                    heavy BDUF, then went into a classic XP iterative development. That project
                    went swimmingly well and has been written up in two papers at foUSE 2002 and
                    forUse 2003. (I'll send .PDFs to anyone who asks for them.) But it doesn't
                    address your dilemma, as UI was a major budget item because the whole name
                    of the game was cutting training for nurses, reducing medical mistakes, and
                    speeding up patient management.

                    Larry Constantine, IDSA
                  • Jeff Patton
                    ... Let me see if I can connect Larry s comments above and yours. Ken you mentioned a sensitivity to usability issues, and I m not sure I ve seen it as that -
                    Message 9 of 19 , Jan 20, 2006
                    • 0 Attachment
                      --- In agile-usability@yahoogroups.com, "kauerrolemodel"
                      <kenauer@r...> wrote:
                      >
                      > --- In agile-usability@yahoogroups.com, "Larry Constantine"
                      > <lconstantine@f...> wrote:
                      > > Jared wrote:
                      > > > I have seen, with my own eyes, people who intuitively can design
                      > an ideal
                      > > > solution without having conducted any external research....
                      > >
                      > > [snip]
                      > > Most of them are strong visual thinkers...
                      > > They are also good at what social psychologists refer to as role
                      > taking...
                      > > It may be a related faculty that they tend to be good at what Meilir
                      > > Page-Jones calls "dereferencing."...
                      > > Indeed, many of the best are fanatically persistent problem solvers...
                      >
                      > I've had teams with "usability" people on them, and I've had some
                      > without. Generally, the teams with the usability people on them had
                      > more pleasant user interfaces and bigger budgets to get there. I've
                      > seen software developers have a pretty good intuitive feel for
                      > usability issues, and have certainly become more sensitive to it
                      > myself over time. When you have developers like that talking to
                      > customers/end-users who don't have blinders on, I really haven't seen
                      > the value (relative to cost) for a usability expert to be brought in.

                      Let me see if I can connect Larry's comments above and yours. Ken you
                      mentioned a sensitivity to usability issues, and I'm not sure I've
                      seen it as that - not exactly. I find myself fairly insensitive to
                      usability issues at times. In my current role I've been dubbed the
                      "human factors person" which means developers and business analysts
                      come up to me a dozen times a day and ask me how something should
                      look, or "is this better that that?" I find I can't really answer
                      their questions - I just don't know. But, I then begin to ask them a
                      bit about the person using the software. "Who are they? what do they
                      know? What are they trying to accmplish when they'd see this on the
                      screen?" As soon as I can build a mental model in my head of the
                      person, then I can answer the questions. I've never seen it as being
                      good at usability so much as being good at empathy. Larry's comments
                      about role taking and de-referencing hit home there.

                      I believe the ability to do that comes naturally to some people. This
                      may be the type of developer you're describing Ken. Of course there's
                      also the visual thinking thing, and bit of visual design aptitude
                      doesn't hurt either. But the role-taking thing I think is essential.

                      [I've got prior rants on self-centered design vs. user centered design
                      - basically people with design opinions that can't or won't role take
                      are self-centered designers since all design decisions they make are
                      made from their own perspective.]

                      While the ability to role-take may come naturally to some, it doesn't
                      mean that if you don't have it you're out of luck. Asking questions
                      about users, observing them, talking with them - all of this is user
                      research. If you write all that stuff down, represent it some way,
                      you've built a model that represents your understanding of the user.
                      If, as you make evaluations about good and bad UI, you try to make
                      them from the perspective of what you know about that user, you're
                      starting to do that role taking.

                      Building these types of models repeatedly strengthens your role-taking
                      muscles. My assertion here is that if you don't naturally have
                      strong role-taking muscles, you can exercise to strenthen them. If
                      you're already strong at it, exercising makes you even stronger.

                      Pretend for a moment you had a couch to move up a flight of stairs and
                      you just didn't have the strength to do it. I'd go find a big strong
                      person to move it. Pretend you moved couches for a living, and you
                      didn't have the strength to do it. You can't have a big strong guy
                      follow you around, so you'll have to do a bit of weight lifting to get
                      that strength.

                      If you're in the business of building software, building up that
                      end-user empathy helps you make the dozens of day to day decisions
                      that affect the product features it has, and how it looks and works.
                      You can hire a person already strong at it - a usability expert - a
                      strong couch-mover. Or you could give everyone on the team a bit of
                      understanding on how user centered design works, and some exercises to
                      help them do a little usability strength training. You may not need a
                      heavyweight usability person if a few of your people can double up on
                      problems and work together.

                      Ken I'm hearing that you've observed that when you have developers
                      with those skills, you don't need the expert. I'll second Larry's
                      suggestion that training rank and file developers is a good way to go.
                      I'm a victim of that strategy. Five years ago now Larry & Lucy
                      trained this rank and file developer.

                      > Sometimes, access to end-users are hard to get for a variety of
                      > reasons (almost never good ones, in my book, but they are reasons
                      > nonetheless). It takes a special kind of person who I'm still looking
                      > for to get enough input from end users who are hard to get access to
                      > when project sponsors are the ones blocking your access.

                      Strong couch movers can get that sofa up the stairs fast. Weeklings
                      can't. You've got to make the most of yout time with user. Those
                      experienced with doing UCD stuff have a few more tools in their
                      toolbelt to make the best use of that time. If they're good they can
                      come away from a little user exposure with understanding and models
                      that help the rest of the team empathize or role-take.

                      One final note on end users: I very often see users as self-centered
                      designers [reference the comment above]. By that I mean they make
                      decisions purely from their own perspecive. This can be dangerous if
                      you're asking one type of user to speak, give information, or make
                      decisions on behalf of another type of user. What you're really doing
                      is asking them to role-take. And, I suspect they're no better at it
                      than the average developer is.

                      Being able to understand and assume the role of a user of the software
                      and make judgments on their behalf seems like a cornerstone of user
                      centered design approaches - at least some of them. For me, it's the
                      only thing that allows me to make the day to day decisions I need to
                      about the look, feel, and behavior of the software.

                      Thanks for posting Ken.

                      -Jeff
                    Your message has been successfully submitted and would be delivered to recipients shortly.