UI logo
The Webzine for Interaction Designers
uidesign.net
 
     
Book reviews
Jul 99 Book Review
The Usability Engineering Lifecycle
Usability Lifecycle
by Deborah Mayhew, Morgan Kaufmann, 1999
ISBN 1-55860-561-4
Methodologies for the millenium - part 1

This is the first of a couple of heavyweight books to appear this year, offering us a methodology which will lead to improved usability in systems, delivering a better user experience. Deborah Mayhew is a hugely respected author of several other books, primarily in the area of cost justifying usability.

A second book in a similar vein from the famous and prolific Larry Constantine with Lucy Lockwood will be reviewed later this year at UIDesign.net

The Usability Engineering Lifecycle

a practitioner's handbook for user interface design

by Deborah J. Mayhew, Morgan Kaufmann, 1999

This has been a good year for exciting new titles in the UI Design field. This is another book which I really really wanted to like. Again it promised a methodology for improved systems design and usability. The sub-title indicating that the book is specifically designed for guys like me, practitioners, who need a methodology in order to make our job more repeatable and predictable. This tomb weighs in at over 500 pages and has taken me a long time to read and absorb, so was the effort worth it?

Usability for the reader

This book creates a great initial impression. On a first flick through, you have already learned something. The book is beautifully laid out and uses several graphic design techniques to improve accessibility. This is a highly usable book. Perhaps one of the first books on Usability, to have had proper usability analysis done on it, itself. Are you listening, other Usability authors?

The overall methodology is presented as a Flow Chart with 24 stages which appears before each chapter. I found this very useful as it clearly marks out the "road map" for the book.

The preface is worth reading. It explains that each chapter is split into 12 sections and these are listed as a Table of Contents at the beginning of each chapter. This makes the book extremely accessible as a reference guide. I found the prospect of two sections particularly interesting: Scheduling and Integration with other tasks; and Web Notes. The former promised to demostrate how to integrate usability engineering with OOSE (the established software development methodology from Ivar Jacobson); the later, was said to provide the hints, tips and alternatives needed in order to adopt the methodology to the web site design. Both of these indicate that this is a very up-to-date book which looks at the real problems which we all face trying to deliver state-of-the-art solutions.

Content

Chapter 1 offers us an overview of the whole book. Its 30 pages of management summary explaining why a methodology for usability is necessary and what can be gained from it, as well as the broad detail on what is required. This would make an ideal quick read for a boss. Consider using it as part of his "education" on building modern IT systems.

The flow chart for the "Usability Engineering Lifecycle" has been laid into three main sections, "Requirements Analysis", "Design/Testing/Development", and "Installation". These represent the big 3 sections of the book. Within each are a number of tasks, for which a chapter is provided. So here they are as a simple list: User Profile, Task Analysis, Platform Capabilities / Constraints, General Design Principles, Usability Goals, Work Re-engineering, Conceptual Model Design, CM Mock-ups, Iterative CM Evaluation, Screen Design Standards, SDS Prototyping, Iterative SDS Evaluation, Detailed User Interface Design, Iterative D UI D Evaluation, User Feedback. There is a fourth section tagged onto the end "Organisational Issues" which has chapters on promoting the methodology and project planning and tracking as well as organisational roles and structures.

So we have a book which seeks to teach us a great deal - Usability, Design, and Process. It would be impossible to review all of this in detail. I am also not best placed to do such a broad evaluation. I make no apology as I am not a Usability expert and have no formal background in HCI. I am a software designer who knows a little about UI Design. I also know a little about development processes. So it is likely that this review is biased from the perspective of a designer not a usability engineer.

Chapter Layout

As I mentioned, each chapter is set out in a number of sections. These are clearly differentiated and some of them, the anecdotal ones are boxed in grey. The sections are Purpose, Description, Scheduling and Integration with other tasks, Roles and Resources, Sample Technique, Level of Effort, Alternative Techniques, Short Cuts, War Story, Web Notes, Sample Work Products and Templates.

There is a great deal of Mayhew's experience delivered with many of these sections. The sample templates are particularly useful for someone wishing to introduce formal process and provide templates for writing things down. These templates have obviously been developed from experience. So why re-invent the wheel? Copy someone else's work instead.

One or two sections have to be questioned, such as the "Level of Effort". The problem is that the numbers are obviously relative but the base line (i.e. the size and spec of a typical project) is never explained. I am not in a position to evaluate sections such as "sample technique" across all 20 or so chapters, so I will concentrate on UI Design. This may or may not be fair.

I felt that the Roles and Responsibilities was a little lightweight as it concentrates on whether the UI Designer or Usability Engineer are leading the team. Once again programmers get a raw deal and there is little appreciation that several flavours of programming talent go into delivering a complex, usable system. This was the first hint that the book is a fine grand scheme but fails to deliver on real practicality.

Finally, you can skim the whole book by reading the page summaries in the side bars. This is a technique admirably employed which has been seen before in books such as David Taylor's "OO: A Manager's Guide".

Requirements Analysis

The introduction makes it plain that Mayhew is firmly in the "Contextual Analysis" camp. She, like me, believes that analysing what is currently done, is the best way to move forward with a design. Don't ask the Users how they would like it to work, just ask them what they do. In other words, leave the designing to the designer. There are references to Beyer and Holzblatt's Contextual Design as well as Mayhew's own approach. Several pages are spent on how to integrate this with OOSE. Mayhew makes some attempt to explain how Contextual Task Analysis can be done using Use Cases. She makes two key observations. Firstly, that Use Cases must be contextual to really work. This I believe is crucial, however, she fails to point out that this is fundamentally different from the Jacobson approach and immediately breaks down because a Contextual Use Case which describes how the Users currently work, cannot be used to describe how the system should work and consequently cannot be used for testing purposes. As this is the foundation of Mayhew's integration with OOSE, there is a fundamental mismatch. I find it extra-ordinary that a pre-release reviewer didn't point this out.

Her second key point is well made. She states that Use Cases should be Goal oriented. This is Alistair Cockburn's approach and its a pity that she didn't reference his work.

Overall I failed to be convinced by this integration of Use Cases and Usability Engineering for Requirements Analysis. The approach described suggesting that Use Cases can be used as the starting point, seemed rather unbelievable (speaking as someone who has tried it before without success).

Use Cases aside, this first section is very convincing and the worked example of a Police Station application, together with the completed requirements paperwork had a very true ring about it. More of those years of experience shining through. Overall I found this first section packed with practical advice and very good templates. Its incredibly thorough without being as heavyweight as the Hackos & Redish book on the topic.

Chapters 5 & 6 on Platform Capabilities and General Design Principles, was for me the start of some frustration with the book. They were really too wordy and though highlighting the importance of the tasks, there was too much reading involved to extract the information. This was to become a recurring theme.

Design, Testing, Development

This section starts with a chapter on Re-engineering i.e. designing out the process problems rather than designing them into the software. This was all very well but the chapter avoided mention of office politics and therefore it isn't really good advice. You cannot tackle re-engineering unless you are a good politician. Again the chapter is wordy and there is surprisingly no suggestion that the system prototyping can be used to facilitate the re-engineering.

Next we move on to the UI Design, starting with Conceptual Level. Mayhew again takes a stab at OOSE/RUP by pointing out that it has traditionally been weak on specifying UI. Quite so.

There are some useful tips in this section, such as using both top down and bottom up design along with developing several alternative designs. This didn't ring quite true with the advice that upto 3 alternatives should be selected for usability testing of a prototype. I have never seen anyone with the budget to develop three prototypes.

Perhaps to avoid an area that Mayhew (or anyone) doesn't fully understand, Use Cases suddenly disappear from the picture. There is no mention of how to use them to move the UI Design forward. We are told at what stage the Conceptual Model should be done and how that fits with OOSE but not the specifics.

I liked the sample technique presented but again would question the level of effort suggested. At only 5 weeks work, I assume we are building quite a small system in the worked example. This highlights a key point. Do we really need such a heavyweight methodology for a small to medium sized system.

I found the sample work templates for the conceptual model rather disappointing. They seek to pigeon-hole the system into a certain type of design. Its far too early for this in my opinion. I also feel that the pigeon holes provided don't lend themselves well to bigger CSCW type systems. However, the principle of what should be written down is sound enough.

Next are the Conceptual Model Mock-ups or prototypes. There isn't much said about this. Like the OVID book, I felt more could be said on building the prototypes and how to select what to build and how to make the decision about whether it is a paper prototype or working program. Sadly not in this book.

The next chapter looks at iterative evaluation of the prototype. This is a long chapter and highlights Mayhew's strengths as a Usability engineering. I found the alternative technique section, the most useful as it talks in some depth about Heuristic evaluation and refers to Nielsen and Mack's book on the topic.

The next chapter moves on to Screen Design Standards and argues the case for these. Good enough advice. This is followed by a discussion of prototyping standards. This is a good observation. For example, when someone first suggested a combobox with "type-ahead" search, it is almost certain that they had to build one to find out if the technique worked. If you are going to introduce new "widgets" into your design, prototyping them first before writing them into the standard is a great idea.

Following the prototypes for new widgets, comes the iterative evaluation. Are you beginning to recognise a pattern here?

Design Roundup

Finally we get to the detailed User Interface Design. Firstly modeling and writing down the specification. The sample work templates for this were frankly a little vague for my liking. Predictably the design is followed by iterative evaluation. This is done on the real code, and the key is to collect timing data. This highlights that the number one aspect of usability is speed. It is also rather poignant that we are 3/4ths through the book and we are measuring the speed but the methodology presented has nothing to address designing in fast reactions, in the first place.

AWOL

All the issues related to coding and plumbing-in that design are not addressed. Also not addressed are real world problems such as transaction scoping and exception handling. There are no UML diagrams in this book which seeks to integrate with real software development and OOSE in particular. The real world problems related to system architecture and design which affect usability are never discussed. The book is rather light on design but thorough on usability. Before we will truly be at a methodology which solves design for usable systems, we must better integrate design and usability with software construction than that presented in this book.

Summary

Despite making a superb initial impression, I was left with a feeling that it slightly misses its mark as a guide for practitioners. Its fine on the grand scale and no-one could argue much with the overall methodology flow chart. However, fine detail and depth are still missing. There is still a gulf between books like this and books such as the Java Look and Feel Guidelines. The book also suffers from being a little too academic and like several other software industry methodologies, it falls into the academic trap of proposing too many models and too many layers of abstraction. My experience in the field, is that regular practitioners don't have time or resources to create and maintain many different levels of abstract models.

That said, this is still an important book, which has obviously taken years of effort to put together. It is beautifully designed and either the author or publisher deserve great praise for the production standard and readability. This is also the first serious attempt (to my knowledge) to merge a software development methodology (OOSE) with a usability or UI Design methodology. Again in the broad sweep of things it does achieve this merge, but it falls down in the detail. Much more can be done here over the coming years.

It is inevitable that I compare this book to Laura Arlov's book reviewed in March. Both books offer advice on end-to-end project development for improved system design and better user interfaces. One has a much more academic approach, the other has a heuristic, experience from the field approach coupled with some great fine detail advice. You will know yourself which you would prefer.

I think in conclusion that this is a good reference book to have on the shelf. Use it to answer questions which come up at different phases in a project, pick from it wisely and compare with others experience. When someone on the project says, "How should we go about interviewing users?", go and pick up this book, use the index and read the relevant material, then go and do the same in several other books.

Recommendation

4/5 - Not a "must have" book except for those who seek to improve the state-of-the-art. For the everyday field practitioner in UI Design, the Arlov "Dummies" book is a better and lighter read.

uidesign.net
hosted by likk.net
           
 
Copyright uidesign.net, 1999 - 2003.
The UI logo device and uidesign.net wordmark are trademarks of uidesign.net