An approach to an integrated software-releases workflow

Many organizations have their own process to develop and release software, but… how can they include testing and usability techniques in their workflows? Here’s a first approach.

Some time ago I wrote about the similarities and relationships between testing and UX/usability techniques. But there’s another question: how do we integrate them in the software development process? Here’s an approach:

An approach to an integrated software-releases workflow


Software testing and usability: so close, so far

Software testing and usability are usually seen as independent fields, but they seem to have many common aspects. Why not trying to integrate both of them?

In my previous job as an expert in usability and accessibility, I was a member of the Software Quality Area inside my company. There I realized that, although they are closely related, usability and software testing are, in practice, developed as totally independent disciplines, with:Usability and software testing, working together

  • different experts and teams
  • different methodologies and techniques
  • different tools

Couldn’t they be more integrated?


Ship-boarding usability

Applying usability techniques during a development process that is already underway and little known may be really hard. Below I suggest a few techniques so as to “board the boat” in an effective way.

Disponible también en español

Board the ship (detail)

Jakob Nielsen defined guerrilla HCI as a collection of usability techniques that may be performed along development projects in an informal and fast way, requiring few resources, getting acceptable results and avoiding the intimidation barrier of using that kind of techniques.

One advantage of guerrilla HCI is that it can be performed without great involvement of the development team, and consequently, it is useful in traditional website development.

According to their own nature, websites must be self-explanatory and their interface must follow existing standards in order to make possible that anyone can use it without advanced skills neither previous training.

For example, guerrilla HCI could be perfectly applied in the evaluation of an e-commerce website or one belonging to a university since, in principle, they don’t require special knowledge.

Nevertheless, there are cases where it’s not that simple… (more…)

Is there such thing as User Centered Design?

User Centered Design (UCD) is a topic becoming more popular day by day, it’s more a set of good intentions than a well-defined process applicable to any development project.

Este artículo está también disponible en español.


User Centered Design (UCD) seems to be growing in popularity, and it’s not strange. Who could be against the user being the center of the design process? But looking beyond this popularity it turns out that there is not a consensus about what UCD is.

Formal definitions like in Wikipedia or ISO 13407:1999 describe it vaguely using terms as “design philosophies”, “models”, “general guidelines”, “recommendations”, … All those are positive instructions, but they aren’t really useful when you face a real project developing a real interface.

UCD process according to ISO 13407User Centered Design is something as generic as this figure, according to ISO 13407.

What do we actually have?

Actually UCD refers almost always to a set of techniques that may be applied along all the life-cycle of a software application; the only thing those techniques have in common is that users are their main roles (at least theoretically). The number of techniques included may vary from six (like in this Webcredible article) to several tens (like in this interactive table at UsabilityNet). Those techniques may be as different between them as focus groups, user testing and interface prototyping.

Oddly some UCD techniques don’t include real users in their carrying out: for example, heuristic evaluations of usability.