Hi, Pascal! Your post brings up a topic that deserves its own thread, as
I'm sure others have a lot to contribute. I hope you'll forgive me for
reposting a chunk to start the discussion:
Pascal Roy wrote:
> Your best bet to use your usability knowledge to keep your UI usable
> at all times. It's similar to the developpers keeping the code clean
> as the code evolves.
> Of course, that implies tight integration of the usability people
> in the agile team.
> There are a couple of tricky things that IMHO makes this a bit difficult :
> - current UI technologies are pretty hard to test because most of them
> were'nt designed to be tested like we do in agile. [...]
> - current UI design also makes it really harder than it should be to
> have a very thin view layer (model-view-presenter). [...] experiences....
> - UI are currently very difficult to refactor. Although the UI design
> tools should make it easier, anybody who has used VisualStudio or
> Eclipse on more complex UIs knows any little change you make in the
> structure sometimes has weird effects [...]
> - Structural changes of the UI often require major changes in the
> testing code of automated testing tools (selenium, testcomplete....).
> - the worst problem might be this next one: as we add new
> functionnality iteratively, we realize that a new feature simply
> doesn't fit the current structure of our UI design. [...] the problem
> has to do with learnability. If you keep changing significantly the
> structure of the software around, the danger is that people will
> eternally have to relearn important aspects of the software at every
> release, something that is distressing to most people, the more so if
> you release very frequently. [...]
These problems are all familiar ones to me. How much do people here
suffer from them? And what techniques do people use to minimize them?