The issues of delivering
ICT solutions or software that meet the exact needs of the real user have been a very
persistent and critical one ever since the history of software development. The
gaps between what is finally delivered and what the real user had anticipated
or described in most ICT project kept widening, even in the face of increasing global
drive for improved software quality. This blog is therefore aimed at highlighting
the need to actively involve real-users in every system testing with the aim of
strategically improving the software usability factor and the overall software
quality. It is therefore aimed at motivating ICT solutions providers, people in software development and general ICT
projects will begin to pay more attention to the real users’ precise needs in
the same manners that they listen to the clients that pay the bills.
The concepts of testing in projects:
Generally, the concept of testing centres
on assuring software project’s quality through systematic review of the development
progress to reveal errors, bugs or deviations from the preset goals. According
to Botella P. et al, ISO/IEC 9126 is the “most widespread quality standards”
for software development; it sets clear the structures for internal/external
software quality and quality in use characteristics.
The quality
in use aspect bothers on the degree to which the product satisfies the
real-users’ requirements; this is described as “a broader view of the ergonomic
concept of usability in ISO 9241-11” (Botella P. et al., n.d.).
Software project testing has different approaches and
techniques meant to fit into various levels of the development efforts. While
unit testing and integration testing are usually run at different stages in
between the development efforts; System
testing, acceptance testing and regression testing usually come at the end
though at different stages also. Of importance to the focus of this paper is
the System
Testing which can be the functioning of “the system as a whole, and not just its
components” Laureate Online Education B. V. (2012: 3). Therefore, the significances of the real-users
involvement and comments at the systems’ testing point in any development
project are seen in the need for assuring the functionality and usability component of
the testing requirements which primarily focuses on the meeting of the real
user’s exact needs.
Interestingly, Bevan N.
stated that “User-Centred processes are
implemented and produce results, but
these results do not always give the expected benefits”. Going forward in explaining the place of expected benefits, he zeroed on usability and defined it as the “effectiveness, efficiency and satisfaction
with which a well specified group of users can carry out a known set of tasks
in a given context of use” (Bevan N., 1999: 10). This therefore highlights the importance of
identifying the real users for every project. Projects’ real-users are often
mistaken for the paying clients. Directly, projects’ real-users are those that the project
is actually meant to serve; this is not necessarily those that may have
conceived the project who also may have contracted the solutions /software developer or those who
may be undertaking the project sponsorship. Often attention is focused more on
this last set of stakeholders identified as the ones paying the bills while little or no
attention is paid to the real-users. Imperatively, the real-users should be at
the core of any systems testing, this will assuring the meeting of its usability requirements. The relevance of this factor is seen in the fact that not all users’
requirements can practically be specified in its full details in the projects
requirements documentations from the outset. Some obscured functionality requirements
may be inadvertently omitted for lack of space, time constraints, inadequate attention
to details, language or communication barriers, or limited involvement of the
real users. However, when real-users are fully involved in system testing, it
provides adequate opportunities for thorough hands-on review to see where there are gaps. Besides,
the outcomes in coupling the various modules and integrating various components
of the project may not yield exactly what was originally projected in actual use
and, it is often only the real-user that can quickly detect this and help in
clearly pointing it out for prompt corrections.
Hippel (2001), in his
report on Innovation by User Communities:
Learning from Open-Source Software highlighted very useful values of the
real-user’s roles in driving innovation.
There he cited the outstanding success
recorded by the open-source software community which has used this phenomenon
to produce many complex software products with limited manufacturer’s participation.
A typical example he provided is the McCool Apache server development story
where some eight users put together the entire documentations and all published
bug fixes to produce one strengthened patch that later evolved into Apache. In
the report Hippel concluded that “Extensive user feedback and modification
yielded Apache 1.0, released on Dec. 1, 1995. After four years and many
modifications and improvements contributed by many users. Apache became the
most popular Web server software on the Internet, garnering many industry
awards for excellence” (Hippel, 2001).
The benefits of real users’ views of
the end product:
Apparently, another key benefit of real-user’s active involvement and comments
in system testing is that such can hasten bug detection and also fast-track
innovation beyond the developer’s limitations and imaginations. The
developer can immensely benefit from contribution by certain users of meticulous
nature who may have wonderful innovative ideas that can turn around the fortune
of the product/solution.
Ordinarily, such valuable innovative ideas from users are not
often freely available where the developer may normally come across them during
his/her development process as to freely use them and reap the benefits in improving
his/her product. It may be worthy to note that even with apparent wonderful
ideas on how a product can be fashioned to really suit their needs, most users
are often discouraged from attempting to develop their ideas from scratch
(maybe for the rigors involved) but, they can make wonderful contributions when
the right foundation is laid by presenting them with products that have
achieved certain level of developments for their assessment.
Conclusion:
In conclusion, given
the fact that the end of the development efforts is of necessity marked with a system tests,
coupling this with the real-users’ views will best assure the test result’s dept
and soundness. By this the development of products that meets the exact needs
of the real-user as recommended by the ISO/IEC 9126-1 usability component can
be guaranteed. Therefore, tactical involvement of real-users and paying
good attention to their comments will most often result in a near
perfect product.
References:
Bevan, N (1999), Quality in
Use: Meeting User Needs for Quality; Journal of System and Software, available
at: http://www.usabilitynet.org/papers/qiuse.pdf (accessed 13th March 2012).
Hippel E. (2001), Innovation by User Communities:
Learning from Open-Source Software ( MIT SLOAN MANAGEMENT REVIBA/ SUMMER 2001);
available at: http://www2.sus.edu.cn/SIMBA-course/download/yuedu/Innovation%20by%20user%20community.pdf
(accessed
13th March 2012).
Juan Pablo
Carvallo and Xavier Franch (n.d.), Extending the ISO/IEC 9126-1 Quality Model
with Non-Technical Factors for COTS Components Selection; available at: http://www.irisa.fr/lande/lande/icse-proceedings/wosq/p9.pdf (accessed 13th March 2012).
Laureate Online Education
B.V. (2012), RMT: Research Methods Training; Lecture 6: Conducting and
Presenting the Project.
P. Botella, X.
Burgués, J.P. Carvallo, X. Franch, G. Grau, J. Marco, C. Quer (n.d.), ISO/IEC
9126 in practice: what do we need to know? available at: http://www.essi.upc.edu/~webgessi/publicacions/SMEF'04-ISO-QualityModels.pdf (accessed 13th March 2012)
No comments:
Post a Comment