When should the usability of a software be taken into consideration?

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