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

Re: [XP] XP and Big Interaction Design Up Front

Expand Messages
  • Phlip
    [x-posted to agile-usability@yahoogroups.com ] ... You can t refactor users. ... Wrong. It can t be added to a _crappy_ program. If you let a refactorable
    Message 1 of 5 , Aug 31, 2004
    • 0 Attachment
      [x-posted to agile-usability@yahoogroups.com ]

      Paolo Bizzarri wrote:

      > I am reading the otherwise enjoyable book "The
      > Inmates are Running the
      > Asylum", by Alan Cooper.
      >
      > As far as I understand, it is strongly against
      > iteration development for
      > building a coherent approach to interaction among
      > users and programs.

      You can't refactor users.

      > Basically he claims that this kind of iterative
      > approach does a poor job on
      > understanding some basic things about interaction
      > design.
      >
      > He also claim some sort of "Big Interaction Design
      > Up Front".
      >
      > The points he makes are generally good:
      >
      > - good usability cannot be easily added to a
      > product: it has to be designed
      > from scratch;

      Wrong. It can't be added to a _crappy_ program. If you
      let a refactorable program mature, changing the GUI is
      just another change.

      However, if you release that GUI to a significant user
      population, they will bond with its features in ways
      you should not predict or derail.

      I propose (entirely to make everyone need to hire more
      programmers like me) that programs should version with
      skins, so each user population gets the skin they
      like.

      > - good usability has a strong influence over (or
      > even drives) the whole
      > software design processes;

      Unfortunately yes. In theory, program logic
      encapsulates behind a representation layer. In
      practice, the logic layer takes any shortcut the GUI
      provides.

      > - hearing the customers is good, but you should be
      > really aware that he cannot
      > be really able to define a conceptually sound set of
      > requirements.

      That's why usability experts recommend hiring
      usability experts.

      > Now I believe (given personal experience) that:
      >
      > - it is true that programmers use to build the
      > ugliest possible interfaces,
      > and cannot understand why customers do not like
      > them;

      Right, so leverage this effect instead of fight it.

      > - when asked to improve the usability, they normally
      > say: "Oh yes, you mean
      > adding fancy icons and better colours"...;

      That's why usability experts should show, don't tell.
      They should sketch the interface they want, from
      scratch.

      It's also why GUI programmers should instrument their
      GUI tests to record images of GUIs under test, and
      store these in a gallery for easy review.

      > - at the same time, XP provides a conceptual
      > framework for learning from our
      > mistakes and improving our design.

      Sorting features in business priority leads to an
      effect I call "All roads lead to Rome". The usability
      of primary features influences the design of secondary
      features, so they always reinforce the primary ones.

      "All roads lead to Rome" refers to a peasant's
      decision, trundling a cart full of products out from
      their little village. They can take a road away from
      Rome, and towards the barbarians, or they can take it
      towards Rome and towards the tax collectors.

      You get that pattern by starting at Rome when you
      build the roads.

      > For the last point for example, we have discovered
      > in our document management
      > system PAFlow, that a set of concepts that where
      > completely separated could
      > be really unified under a concept called "complex
      > document": basically it is
      > a document with several attachments, and some more
      > properties.
      >
      > All at once we were able to see an enourmous
      > quantity of duplication, as we
      > were doing the same thing on different complex
      > documents in different ways
      > with different pieces of codes. With the next
      > refactoring/iteration we are
      > going to integrate in a single object (from the
      > point of view of developer)
      > and a single concept (from the point of view of the
      > user) several concepts
      > that are currently separated.

      Right. Duplication removal drives both design and
      usability.

      > I think XP, in particular refactoring is not only
      > about refactoring the code,
      > but also about refactoring the domain models and
      > (consequentely) the users
      > interfaces. Learning also has a strong role, as we
      > have to understand how
      > user works and through which concepts.

      Deploying the features of highest business value,
      first, reduces the odds of reworking those features
      later. Except for the first round of re-work, when the
      users discover their optimal workflow and the places
      where usability lapses.


      =====
      Phlip
      http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces



      __________________________________
      Do you Yahoo!?
      Yahoo! Mail - 50x more storage than other providers!
      http://promotions.yahoo.com/new_mail
    • Petteri Hiisilä
      ... It s a lot cheaper and quicker to prototype with a paper or a bitmap. But it takes different a kind of process and viewpoint than what you ve propably used
      Message 2 of 5 , Aug 31, 2004
      • 0 Attachment
        > > - good usability cannot be easily added to a
        > > product: it has to be designed
        > > from scratch;
        >
        > Wrong. It can't be added to a _crappy_ program. If you
        > let a refactorable program mature, changing the GUI is
        > just another change.
        >
        It's a lot cheaper and quicker to prototype with a paper or a bitmap.
        But it takes different a kind of process and viewpoint than what you've
        propably used to.

        I don't mean that the traditional XP refactoring won't work. I'd just
        start the coding a bit later, after the basic human research and at
        least a wireframe interaction design model is done. It saves everybody's
        time, money and nerves. But as with everything else, your mileage may vary.

        > I propose (entirely to make everyone need to hire more
        > programmers like me) that programs should version with
        > skins, so each user population gets the skin they
        > like.

        That was a good one :)

        But seriously, skins are just paint, decoration. Human design starts
        early and goes deep. A lot earlier and deeper than you propably know.
        And it's run by beliefs and desires, knowledge and goals. Not
        specifications and requirements. They come into the picture a bit later.

        I'd recommend these basic articles for starters, in case you're
        interested to know more. And "The Inmates Are Running the Asylum" is
        also a good one.

        1. www.chi-sa.org.za/articles/*goal-directed*.htm (an early article
        about goal-directed design)
        2. media.wiley.com/product_data/ excerpt/13/07645264/0764526413.pdf
        (first chapter of About Face 2.0)
        3. http://www.stanford.edu/~hakuta/Courses/Ed232(Learning)/pinker_s01.htm

        We've done the Cooper way for years. It works. Our developers like it.
        Our customers and management like it. And no, I don't work for or
        receive money from Cooper, and I'm not a consultant :)

        Hope this helps,
        - Petteri

        --
        Petteri Hiisilä
        Palveluarkkitehti / Interaction Designer /
        Alma Media Interactive Oy / NWS /
        +358505050123 / petteri.hiisila@...

        "I know what I believe. I will continue to believe
        what I believe and what I believe - I believe what
        I believe is right."

        - George W. Bush
      • Paolo Bizzarri
        [Crossposting from XP, sorry...] ... I think it is right in general, but it is false for a good XP project. Even in a well refactored code base you could have
        Message 3 of 5 , Aug 31, 2004
        • 0 Attachment
          [Crossposting from XP, sorry...]
          > >
          > > - good usability cannot be easily added to a
          > > product: it has to be designed
          > > from scratch;
          >
          > Wrong. It can't be added to a _crappy_ program. If you
          > let a refactorable program mature, changing the GUI is
          > just another change.

          I think it is right in general, but it is false for a good XP project. Even in
          a well refactored code base you could have a new concept that has been
          ignored/not well understood by developers, that has produced a poor
          interaction. XP allows us to dare to propose a complete refactoring of this
          (as said before, we are really experiencing such a thing...).

          > However, if you release that GUI to a significant user
          > population, they will bond with its features in ways
          > you should not predict or derail.
          >
          > I propose (entirely to make everyone need to hire more
          > programmers like me) that programs should version with
          > skins, so each user population gets the skin they
          > like.
          >
          I think you are right, but Cooper make a strong point that he is not speaking
          about GUIs, but about user interaction. In My Really Limited Experience, the
          second drive the first. If you build a good design interaction, you will end
          with a good interface, even if it is not graphically phancy.

          BTW, I am starting to think that he is really speaking about some kind of
          workflows at the level of the user...

          > > - good usability has a strong influence over (or
          > > even drives) the whole
          > > software design processes;
          >
          > Unfortunately yes. In theory, program logic
          > encapsulates behind a representation layer. In
          > practice, the logic layer takes any shortcut the GUI
          > provides.
          >

          see above. I think the focus is Interaction, not the Interface

          > > - when asked to improve the usability, they normally
          > > say: "Oh yes, you mean
          > > adding fancy icons and better colours"...;
          >
          > That's why usability experts should show, don't tell.
          > They should sketch the interface they want, from
          > scratch.

          This was meant to be ironic. My intention was to say that programmers don't
          understand usability, because they see simply as a problem of putting more
          decorations on a window or on a web page. My understanding is that the real
          problem is the user interaction, not the user interface. The GUI is the way
          the user has to interact with the program, but what makes the user work is
          the interaction, not the GUI per se...

          For example, we have seen an application from a competitor of ours. The web
          interface was generally good. However, there was clearly a big problem in the
          application per se.

          Features were scattered around the program, added on the base of the request
          of the customer. Howver, there was no idea of general interaction among user
          and program. This part was never refactored, even if the forms and the web
          pages where generally well designed.

          Regards

          Paolo

          --
          Paolo Bizzarri - President - Icube S.r.l.
          Address: Via Ridolfi 15 - 56124 Pisa (PI), Italy
          E-mail: p.bizzarri@... Web: http://www.icube.it
          Phone: (+39) 050 97 02 07 Fax: (+39) 050 31 36 588
        • Dave Cronin
          Not that I m speaking for Alan or anything, but since I work here at ... Around here, we generally believe that while iteration development may be a highly
          Message 4 of 5 , Sep 1, 2004
          • 0 Attachment
            Not that I'm speaking for Alan or anything, but since I work here at
            Cooper, I thought I'd just correct one misperception for y'all:

            > Paolo Bizzarri wrote:
            >
            > I am reading the otherwise enjoyable book "The Inmates are Running the

            > Asylum", by Alan Cooper.
            >
            > As far as I understand, it is strongly against iteration development
            > for building a coherent approach to interaction among users and
            > programs.

            Around here, we generally believe that while iteration development may
            be a highly effective way to build software, as well as determine
            low-level requirements and interface designs, there is a better way to
            initially define a product and develop a high-level interaction design
            which involves upfront user, business and technical research, analysis
            and synthesis.

            -dave


            __________


            Cooper | humanizing technology

            David Cronin
            Principal Design Consultant

            main (415) 267 3500
            direct (415) 267 3504
            dave@... | www.cooper.com

            49 Stevenson, #1200
            San Francisco CA 94105

            All information in this message is proprietary & confidential.
            __________
          • William Pietri
            ... Interesting! That s a different impression than I had from, say, reading the interactions between Cooper and Beck. What bad effects have you seen from
            Message 5 of 5 , Sep 1, 2004
            • 0 Attachment
              On Wed, 2004-09-01 at 10:42, Dave Cronin wrote:
              > > As far as I understand, it is strongly against iteration development
              > > for building a coherent approach to interaction among users and
              > > programs.
              >
              > Around here, we generally believe that while iteration development may
              > be a highly effective way to build software, as well as determine
              > low-level requirements and interface designs, there is a better way to
              > initially define a product and develop a high-level interaction design
              > which involves upfront user, business and technical research, analysis
              > and synthesis.

              Interesting! That's a different impression than I had from, say, reading
              the interactions between Cooper and Beck. What bad effects have you seen
              from doing the planning in parallel with an agile development process,
              rather than your preferred sequential approach?

              Thanks,

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