4

ISO 9241-11 defines usability as “the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specific context of use”.

Usability is too abstract term to study directly, it is usually divided into the five attributes; Learn ability, Efficiency, User retention over time, Error rate and Satisfaction.

Reference:

Usability Engineering: Usability Basics for Software Developers, http://www.uml.org.cn/jiaohu/pdf/s1022.pdf


In an iterative software development life cycle, you have the following phases:

  • Requirement collection and analysis
  • Requirement engineering (i.e., design)
  • Implementation
  • Testing
  • Deployment
  • Maintenance

Each phase deserves an amount of work and iteration to eventually lead to a good software product to the end user. How can usability be taken into consideration in all these phases. With in this context, I've been told that 4 different tools can be used.

What 4 different tools can be used at each phase to ensure the engineering of high-quality software (considering: usability, efficiency, and/or effectiveness)? [*]

[*] This can also be expressed this way: It is all about producing a software product that has high usability, efficiency, and/or effectiveness to the end user experience.

I read: https://medium.com/swlh/here-is-how-ux-design-integrates-with-agile-and-scrum-4f3cf8c10e24

Tools I looked at:

Tools I heard about:

  • Google Analytics
  • Opentracker
  • IntuitionHQ
  • Inspectlet

Other aspects, understanding user behaviors:

  • Learnability

  • Intuitiveness

  • Efficiency

  • Preciseness

  • Fault Tolerance

  • Memorability

Terms:

  • Requirements collection: To identify the scope of the new system, ensure that the project is feasible, and develop a schedule, resource plan, and budget for the remainder of the project.

  • Analysis: To understand and document in detail the business needs and the processing requirements of the new system.

  • Design: To design the solution system based on the requirements defined and decisions made during analysis.

  • Deployment: To build, test, and install a reliable information system with trained users ready to benefit as expected from use of the system

  • Maintenance: To keep the system running productively initially and during the many years of the system's lifetime

EDIT: This earlier question, seems somewhat related: What is the best time to create Usability Goals (or Criteria) for your application/website and on what basis?, but does NOT mention any tools, except the general Software Development Methodologies.

EDIT 2: I found this tool, https://www.youtube.com/watch?v=gAI84x6mr_o

EDIT 3: Iterative SDLC Phases,

enter image description here

4
  • 2
    Don't forget accessibility.
    – jazZRo
    May 12 '20 at 14:44
  • 1
    @jazZRo, you are probably correct there. May 12 '20 at 14:57
  • If your question is more about tools you might want modify the question slightly for more clarity! Listing few tools that I use for usability testing on my answer
    – Okavango
    May 12 '20 at 16:54
  • 1
    @Okavango, thanks for your reply! If you read through you will notice. I also made a last edit, where I put a link to a Tool which I found via YouTube. The question does not merely concern Tools. It's semi-tool question, but overall concern it the top question, aligned with the details inside. May 12 '20 at 17:00
1

TLDR; Usability should be taken into consideration from the very beginning of software development. The tools to use during the process can vary for every company, team and/or person. It depends on functionality, team size, price, technology etc. A recommendation is hard to give. What is important though is that they enable you to collaborate and share ideas.


So I can't give software recommendations, but will give some insights when to use the ones you mention (and others). Have a look at the quality model and specifically the usability part defined in ISO/IEC 9126.

Usability - "A set of attributes that bear on the effort needed for use, and on > * the individual assessment of such use, by a stated or implied set of users."

  • Understandability
  • Learnability
  • Operability
  • Attractiveness
  • Usability compliance

I'll focus on those aspects and your question about the tools to use in the process.

In an iterative software development life cycle, you have the following phases:

  • Requirement collection and analysis
  • Requirement engineering (i.e., design)
  • Implementation
  • Testing
  • Deployment
  • Maintenance

Collecting the requirements is a matter of knowing what you can and want to deliver and define priorities. Those priorities should be defined by knowing what users would want and need. Therefore at this stage there should be already a great understanding of the (potential) user. The language and terminology to use is part of making software understandable and maybe easier to learn. In terms of tools there should be a form of data collection for user stories, persona's etc. that is accessible for the whole team. Confluence could indeed be a consideration but I think the choice for such collaboration tool is very company specific. Where I work we use a custom made tool for this.

When designing, understandability and learnability are still important, but also attractiveness. Exploring and testing designs in early stage and continue doing this is very important to know how they are received and understood, efficiency and effectiveness will be playing a great part too. The tools you need are not only design tools (Sketch, Adobe XD/Photoshop, whatever the designers prefer) but also tools to get it out and get feedback. Invision is great for that.

While usability is more of a matter for the design team, there are always some usability issues that pop up in the implementation phase. Also in this stage it is important to keep testing early demo's/prototypes. One aspect of usability according ISO/IEC 9126 is operability, which means users can reliably use the product without taking unnecessary precautions themselves. Thinking of safety, security, performance and accessibility can be considered important parts of the implementation. The tools to measure those are very platform dependent. To share technical issues between developers and improve how they collaborate in favor of software quality, consider tools like GitLab.

For test results in general, the main collaboration tool (like confluence) should be the tool to use, since it should be the most accessible way to share knowledge. The tools to use for testing again depend too much on the needs.

For running applications, a bug tracking system like Jira can be used to catch usability issues in the wild (again, where I work we use something custom). Let it be maintained by a support team, don't allow users to access it. Also use tracking software like Google Analytics to see how people use the app, which sections are popular, and which could use some improved findability.

As said, testing should be done in every phase. Even if parts of the app are not efficient or effective that should come up in the design process or otherwise while showing a demo during implementation, or maybe unfortunate enough while it is already in production. What matters is that usability issues don't disappear off the radar and that you use tools that show the right information to the right people who can access this information at any time.

3
0

Short Answer : From start to finish! Usability is a thread that runs across the whole development process. So aim to test before,during and after the redesign.


Slightly longer answer: during early discovery and when gathering requirements one key aspect that needs to be looked into is usability of your current experience or that of your competitors ( when relevant )

This could be done via testing to determine a benchmark against which you can compare success and failure, efficiency and overall satisfaction of your target audience.

During the ideation process that follows your main goal would be to determine reasonable usability goals.

For example;

90 % of users should be able to successfully complete the task assigned to them in under 30 seconds and have System Usability Scale ( SuS) Score of at least 80

I used a range of Remote Usability Testing Tools over the years

Both of these tools will provide a range of metrics to measure effectiveness and efficiency. I would generally use a post test survey to measure satisfaction.

Note: SuS survey is focused on perception of usability and incorporates 2 questions that are focused on Learnability

Once the solution has been developed and deployed, you can test again and repeat the process to get to a an even better solution.

5
  • 1
    Thx for the reponse, Okavango. I know this stuff, this is NOT the answer I am looking for. May 12 '20 at 16:36
  • 1
    I see you tools, which you are sharing. what do you think about the tools under "Tools I heard about" ? Are those worth in Usability Engineering process under SDLC? What would you say about Prototyping tools related to UX engineering. May 12 '20 at 17:16
  • 2
    All the tools you have listed are valuable ..for sure! but deciding which metric to use to demonstrate effectiveness and efficiency is the tricky bit ... tools such as google analytics will help and add more insights but i would start with a list of metrics first. Good thing about remote usability testing tools e.g. intuitionHQ is they are focused on effectiveness and efficiency by default while analytics require a layer of interpretation
    – Okavango
    May 12 '20 at 18:05
  • 1
    Okavango, thx. How would these go in relation with the iterative SDLC, each phase respectively? May 12 '20 at 18:22
  • SDLC phases for a software you are building from scratch basically! May 12 '20 at 18:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.