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:
- Confluence (https://www.atlassian.com/software/confluence), Online tool used for capturing and sharing information.
- Jira (https://www.atlassian.com/software/jira), Online Bug/Issue/Task/Project Tracking system
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,