[Sigia-l] UML - still not fit for the UCD?

infoarchitect at ourbrisbane.com infoarchitect at ourbrisbane.com
Fri Nov 14 00:58:57 EST 2003


Quoting Listera <listera at rcn.com>:
> This is *still* depressingly common in the enterprise world: essentially
> programmers *designing* UIs.  UML is the band-aid that "covers" UCD.

Not that I wish to disagree with the overall sentiment, but UML is merely a way of 
communicating - a language (in fact, the Unified Modelling Language).  As a language, it has 
enough problems. 
 
One problem is that it comes in 'different dialects'.  In the world of Fowler, actors in UML 
can only be human.  In the world of Beck, they can be humans, systems, interfaces, etc.

Another problem is interpretation.  UML can often be interpreted in a number of different 
ways, and so requires a written spec to ensure that everyone gets the 'same message'.  Seems a 
bit redundant, doesn't it?

The UCD/RUP argument is similar to the UCD/XP problem.  There are similarities in terminology 
and sometimes in concept (use cases vs. user stories vs. personas, the idea of iterative 
development, etc), so everyone thinks that they can work together in harmony with no 
modifications necessary.  Unfortunately, this is not the case.  

In fact, in the realm of eXtreme Programming and UCD, they are the anti-thesis of each other.  
XP is known as a lightweight methodology, because the projects gather requirements during 
development (this was necessitated by poor requirements gathering techniques leading to 
requirements being discovered half way through a project), and 're-factor' the code every once 
in a while i.e. requirements gathering is minimal.  This is an iterative methodology - 
concentrating on iterations of the code to account for what would otherwise be 'spaghetti 
code'.

On the other side of the fence is UCD, which (in the Agile camp), is referred to as "BUFD", or 
Big Up Front Design.  This approach encourages effective requirements gathering and analysis, 
so designs are fleshed out and code is properly architected before any code is written.  It is 
also an iterative methodology, but concentrates on iterating designs.

I have some references down the bottom of the page (in 'discussions') on 
http://www.humanfactors.com.au/

I COULD go on about this, but it's Friday, and I have a plane to catch back to Canberra.

Have a great weekend everyone!

Best regards,

Ash Donaldson
User Experience Designer



More information about the Sigia-l mailing list