COGNITIVE INFLUENCES IN PRIORITIZING SOFTWARE
REQUIREMENTS
Nadina Martínez Carod and Alejandra Cechich
GIISCo Research Group, Computer Science Department, Comahue University, Neuquén, Argentina
Keywords: Requirements Engineering, Cognitive Informatics, Requirements Elicitation, Requirements Prioritization.
Abstract: In software development, the elicitation process and particularly the acquisition of software requirements
are critical success factors. Elicitation is about learning the needs of users, and communicating those needs
to system builders. Prioritizing requirements includes negotiation as an important issue, which becomes
extremely difficult, as clients often do not know exactly what they need. To overcome this situation, aiming
at improving stakeholder’s negotiation, we propose reducing the gap of misunderstanding between them by
the use of cognitive science. Particularly, we suggest using cognitive styles to characterize people from the
way their process information. In this paper, we introduce a case study showing that cognitive profiles may
affect requirement understanding and prioritization. Our controlled experiment shows that considering
cognitive profiles when performing elicitation might increase stakeholders’ satisfaction and prioritization
accuracy.
1 INTRODUCTION
In spite of the highly technical and formal nature of
software, creating it remains a very people-intensive
activity. Regardless of our cultural and educational
backgrounds, most of us have at least an intuitive
understanding that some people are more scientific,
logical, and orderly in their thought processes
whereas others are more artistic, intuitive, and
spontaneous. The system analyst (broadly defined)
also has a dual task: he or she must be a
communicator who can understand and respond to
what is found in observing and talking with those
who are commissioning a new system or who will be
the end-users of it; above all the system analyst must
be able to perceive correctly what is needed. In this
context, elicitation is about learning the needs of
users, and communicating those needs to system
builders (Hickey and Davis, 2003). And although the
literature suggests the elicitation as a simple process,
experience in real projects turns it in rather
complicated as stakeholders have different
viewpoints. As understanding involves aspects of
human processing mechanisms that are analyzed by
the cognitive sciences, we decided to look for
references into the Cognitive Informatics (CI), an
interdisciplinary research area that applies concepts
from psychology and other cognitive sciences to
improve processes in engineering disciplines like
software engineering (Wang, 2002).
Wang defines CI as “a branch of information and
computer science that studies computing by
cognitive methodologies and studies cognitive
science by informatics and computing theories”. CI
analyses how natural intelligence processes
information, using many sciences and engineering
disciplines in this work. CI can be studied from both
artificial intelligence and software engineering
viewpoints. Artificial intelligence studies the
mechanisms of natural intelligence and the
architecture of the brain often ignoring
psychological aspects of intelligence. Software
engineering (Chiew and Wang, 2003) is interested in
explaining the mechanisms and processes of
memory learning and reasoning. We focus on CI as
a software engineering area by considering
stakeholders’ characteristics, based on cognitive
psychology. From this starting point, we have
defined design and cognitive aspects as main
features to characterize different approaches of
elicitation prioritisation, aiming at identifying
possible improvements to the elicitation process
(Martínez Carod and Cechich, 2007). As related
work on the cognitive style direction, we have
already proposed a selection function for
requirements elicitation techniques according to
214
Martínez Carod N. and Cechich A. (2010).
COGNITIVE INFLUENCES IN PRIORITIZING SOFTWARE REQUIREMENTS.
In Proceedings of the 5th International Conference on Software and Data Technologies, pages 214-219
DOI: 10.5220/0003010602140219
Copyright
c
SciTePress
cognitive aspects of most stakeholders in a
distributed group (Aranda et al., 2005).
After analyzing varied psychological issues, we
set our interest in using some techniques called
Learning Style Models (LSMs), which may be
useful to select groupware tools and elicitation
techniques according to the cognitive style of
stakeholders. Few related works use psychological
techniques to solve problems in Software
Engineering. One work on this direction uses
cognitive styles as a mechanism for software
inspection team construction (Miller and Yin, 2004),
which describes an experiment to prove that
heterogeneous software inspection teams have better
performance than homogeneous ones, where the
heterogeneity concept is analyzed according to the
cognitive style of participants. Even when they also
used the concept of cognitive styles to classify
people, our approach is different because our goal is
choosing the best requirements specification to
improve understanding of an already given group of
people.
In this paper, we introduce a process to associate
cognitive profiles to requirements prioritization. The
last sections will present the design and results of an
interesting case study we have carried out, as well as
conclusions and guidelines for future work.
2 RELATING COGNITIVE
PSYCHOLOGY AND
SOFTWARE ENGINEERING
PROCESSES
Part of cognitive psychology theories are cognitive
styles, which classify people’s preferences about
perception, judgment and processing of information
(Miller and Yin, 2004), with the goal of analyzing
and understanding differences in human behaviour.
With the same idea, learning style models (LSMs)
classify people according to a set of behavioural
characteristics that concern the ways people receive
and process information, while their goal is
improving the way people learn a given task.
The model we have chosen as the basis for our
research is called the Felder-Silverman (F-S) Model
(Felder and Silverman, 1998). This model was
selected after studying different LSMs. The analysis
showed that the F-S model is the most complete
because it covers the categories defined by the most
famous LSMs and, additionally, the F-S model has
been widely and successfully used with educational
purposes in engineering fields (Felder and Spurlin,
2005). The F-S Model introduces four categories
(Perception, Input, Processing and Understanding),
each of them further decomposed into two
subcategories (Sensing / Intuitive; Visual / Verbal;
Active / Reflective; Sequential / Global).
Characteristics of each subcategory (Felder and
Silverman, 1998) are:
Sensing people prefer learning facts and solving
problems by well-established methods, while
Intuitive people prefer discovering possibilities
and relationships, and dislike repetition.
Visual people remember best what they see
(such as pictures, diagrams, flow charts, time
lines, films, and demonstrations). On the
contrary, Verbal people get more out of words,
and written and spoken explanations.
Active people tend to retain and understand
information by doing something active with it
(discussing or applying it or explaining it to
others). In contrast, Reflective people prefer to
think about information quietly first.
Sequential people tend to gain understanding in
linear steps, with each step following logically
from the previous one, whereas Global people
tend to work in large jumps, absorbing material
almost randomly without seeing connections,
and then suddenly "getting it".
People are classified into the different categories
by filling a multiple-choice test, available on the
WWW (Soloman and Felder, 2009), which returns a
rank for each subcategory. Depending on the
circumstances, people may fit into one category or
the other, being for instance, sometimes active and
sometimes reflective; so preference for one category
is measured as strong, moderate, or mild.
3 A PROCESS TO ASSOCIATE
COGNITIVE PREFERENCES
TO PRIORITIZATION
Previous to introducing our approach, we briefly
describe the elicitation techniques we have used, as
considered in (Hickey and Davis, 2003):
Interviewing: It is fundamental to gather new
projects’ background information, especially in new
domains. Interviews are widely used, primarily to
surface new information, to uncover conflicts or
politics.
Questionnaires: They depend on both the
analyst’ domain knowledge and the users’ written
expression. It always must be complemented with
COGNITIVE INFLUENCES IN PRIORITIZING SOFTWARE REQUIREMENTS
215
Figure 1: Cognitive-Driven Requirements Prioritization Process Graph.
another technique to obtain more details. Many
times the results are not as good as are expected.
Models: DFD diagrams, UML, state charts, Use
Cases, scenarios, storyboards. Any model specifies
different aspects and some are particular to some
applications.
Our technique complements these strategies by
focusing on the assessment of cognitive profiles,
which would help obtain a set of well-defined
requirements. For instance, starting from a goal-
oriented method (Kaiya, Horai, and Saeki, 2002),
our technique introduced in (Martínez Carod and
Cechich, 2007) extends goal graphs by using
stakeholders' cognitive characteristics.
Our process schema, shown in Figure 1, can be
divided into two sections: α
1
and α
2
. As we said, the
first one, α
1
, is related with preference management;
the other, α
2,
includes specific phases for
requirements prioritization. In this paper, we have
instantiated sections α
1
and α
2
by using two
approaches – a use case-driven modelling with a
graphical notation, and a textual-based notation
following an ad-hoc elicitation.
Section α1. Phase 1 constructs statistical
predominant perceptions based on people’s
preferences about elicitation techniques. In this stage
there must be a great number of system analysts to
be convenient sampled. Each analyst must response
a questionnaire to identify his/her viewpoint about
appropriate and inappropriate elicitation techniques.
Next, these people must be classified according to
the F-S learning model. Thus, the information
gained would be the basis for the relation to each
elicitation technique. In the second phase,
stakeholders’ satisfaction levels are obtained based
on their F-S category detected by a questionnaire on
the Web. Results from this phase define the
cognitive preference profiles.
Section α2. Here, results from both previous phases
must be combined. Firstly, in Phase 3, each
stakeholder assigns an importance value to each
requirement according to his or her viewpoints. A
cognitive weight is attached to each requirement
according to relationships between the cognitive
features of the stakeholder and the elicitation
techniques’ communicational aspects. Then, in
Phase 4, results from the prioritization are analyzed
and cognitive weights and/or some elicitation
techniques might be changed reducing the
preference gap. Depending on the discrepancies, the
analyst may choose to change his/her elicitation
techniques, as it is specified in (Hickey and Davis,
2003).
3.1 Research Hypothesis
Before describing the research, it is important to
recognize that analysts’ satisfaction can be caused
by a variety of conditions from knowledge and
experience on elicitation to how comfortable they
feel with a particular elicitation technique. To
actually see whether there was a relation between
ICSOFT 2010 - 5th International Conference on Software and Data Technologies
216
Table 1: Distribution of Cognitive Preferences.
Act-Ref Sens-Int Vis-Vrb Seq-Glo
Mod- Mod- Mod- Mod- Mod- Mod- Mod- Mod-
Str Str Str Str Str Str Str Str
Act Mild Ref Sens Mild Int Vis Mild Vrb Seq Mild Glo
21,74% 47,83% 30,43% 30,43% 60,87% 8,70% 47,83% 47,83% 4,35% 17,39% 69,57% 13,04%
cognitive profiles, elicitation techniques, and
requirements prioritization, data from a survey and
from a controlled experiment were combined. In
order to do so, we surveyed 24 advanced students of
the University of Comahue, Argentina and asked
them to participate in an elicitation simulation. They
had already attended courses about requirements
engineering and data base definition; and many of
them were employed in industry. So, previous
knowledge about elicitation techniques was ensured.
Then, the following hypothesis had been
formulated for the validation:
H1: Cognitive profiles do not affect the result of the
requirements prioritization.
H2 Cognitive profiles do not affect the
understanding of software requirements.
4 A CASE STUDY
The assessment scheme is organized in three phases,
each one with a well-defined goal. The Preferences
Phase involves the detection of people’s preferences
according to the F-S learning style model as well as
their experience in applying elicitation techniques as
students and as practitioners in real projects. The
second phase (System X) studies their reaction with
a simulated case in a known domain. In this phase
we evaluate students’ satisfaction in prioritizing
requirements from a particular software
specification. Finally, in the third phase (System Y)
the study is replicated in another case, contemplating
opposite preferences. Both Phase 2 and Phase 3
constitute Stage 2.
Stage 1. The preference and knowledge section of
the first stage is made up of individual
questionnaires. To detect the student experience, we
labelled the different levels of experience as
extensive, enough, some, little and none. The results
for real cases showed that nobody had extensive
experience; only 16.66% had enough or some
experience and 83.33% had little or no experience at
all. The participants’ experience with elicitation
techniques was practically limited to interviews,
modelling cases and document analysis. As an
illustration only 4.17 % of students mentioned no
experience in interviews, 8.33 % no experience in
uses case modelling, and everyone had experience in
using models (diagrams, UML, state charts, etc). As
a statement, all of them mentioned preferring
previously known techniques.
In particular, the students were asked about how
they conducted their elicitation activities, about their
qualitative experience with the techniques and on
quantitative data in order to find out whether the
hypotheses held. Most of both questionnaires were
subjective, depending on the subjects and the
viewpoint from which they are taken. In both cases
the students contributed making a sort of judgment.
By classifying the preferences of students as
strong/moderated (values from 5 to 11 in the ILS)
and balanced (values from +3 to -3 in the ILS), we
found out the distribution of preferences shown in
Table 1. It is important to highlight the Visual
preference as the strong and moderate preference
with highest percentage 47.83 %,, in contrast to the
Verbal preference with 4.35%.
Stage 2. The next two phases involved working with
real problem simulation. We worked here with the
specification of two applications in the academic
domain. In this way, we reduced the understanding
gap between domain knowledge and working
scenarios students are familiar with. The main goal
of the first system (X) was to optimize faculty’s
classrooms and material resources. The system
managed not only the courses’ schedules but also
resource assignments. Visual SRSs (X1, Y1) were
made up of a Graphical Functional Diagram
showing system’s functions, UML Class Diagrams,
Use Case Diagrams, and UML Sequence Diagrams.
As opposite, the non-visual SRSs (X2, Y2)
described the same system domain using textual
notation. Both types of SRSs were tested by
software engineering professors to check their
similarity. The main goal of the second system (Y)
was adding new functionalities to the educational
web system support PEDCO
(http://pedco.uncoma.edu.ar); and here, SRS’s
treatments were similar to the case of system X. We
use a cross-validation experiment to obtain reliable
results. The population was divided in two groups: A
COGNITIVE INFLUENCES IN PRIORITIZING SOFTWARE REQUIREMENTS
217
and B. We used a dice to assure randomized
selection, thereby all the subjects had the same
possibility of being assigned to the group A or B.
Independently the group that each student was
assigned to, he/she was asked to accomplish the
activities individually playing the role of system
analyst. To overcome some threats, during the case
study not only data with respect to performance was
collected (time spent in prioritizing), but the student
doing process modelling in the case study was also
asked about his/her experience in the particular
elicitation technique.
Finally, as a first glance, we cannot assume our
sample as representative enough. The number of
students considered is small, and it is not possible to
perform a complex statistical analysis. Therefore, we
based our analysis on the comparison of
percentages. However, looking at the overview of
similar studies given by (Felder and Spurlin, 2005),
our results are mostly in agreement with the results
of these studies. Thus, we can suppose that our
sample is representative enough and can act as basis
for further analysis.
5 RESULTS AND SOME
LESSONS LEARNED
Although understanding was not a problem, we
found some interesting results that motivate us to
continue our research line. For instance, 81.8% of
respondents with strong visual preferences agreed on
feeling more comfortable with visual specifications,
as we expected; but 36.4% of respondents with
strong non-visual preferences felt more comfortable
with visual specifications. Another result showed
that few people had problems to understand
requirements; but 72.7% of the conflicts appeared
when the SRSs were not specified in concordance to
their preferences. Another result showed that a high
percentage (> 68%) of visual students spent more
time understanding non-visual SRSs than
understanding visual ones. This clear relation does
not appear in the other types of preferences (non-
visual). In general, except for an isolate case,
respondents did not spend much time in prioritizing
requirements; however some people were not sure
about how to assign requirements’ priorities. In this
case we could not find a clear relation with their
cognitive preferences.
The last part of stage 2 implied running a post-
experiment questionnaire, which associated
individual feelings about both applications. By
comparing satisfaction (Figure 2), we realized that
all people with strong and moderate visual
preferences felt more comfortable, spent less effort
and better understood specifications aligned to their
profiles.
Better
Less time
Less effort
More comfortable
Non-Visual
50 33 33 50
Visual
67 34 67 78
Better Less time Less effort More comfortable
Figure 2: Comparing satisfaction of visual and non-visual
people with respect to understanding a visual SRS.
More accuracy Be tte r
0
20
40
60
80
100
Non-Visual Visual
Figure 3: Comparing satisfaction of visual and non-visual
people with respect to prioritizing visual SRSs.
On the other hand, as we expected, verbal people
did not feel the same satisfaction with the visual
SRSs. Time showed an interesting result since both
groups felt that there was no difference at dealing
with visual or non-visual SRSs. Although further
research is needed, it seems that using visual
representations might be useful for making
understanding faster independently of the cognitive
profile (but with different effort for each case). It
seems that a better manipulation of specifications
might be related to cognitive profiles. This is clear
from the impact on prioritization (Figure 3). There is
no doubt that visual people perform better with
visual SRSs than non-visual people. Visual people
felt that accuracy of prioritization was higher when
using visual specifications. This fact let us wonder
whether a prioritization process does not reach
commitment because people consider requirements’
value differently, or just because they do not look at
the same features similarly when prioritizing.
More experimentation is needed for mild
preferences. To clarify the point, Figure 4 shows the
ICSOFT 2010 - 5th International Conference on Software and Data Technologies
218
results of prioritizing requirements of the system Y,
given by visual people using the non-visual SRS.
For example the black line represents a moderate
visual student, called MVi5, whose priorities for the
functional requirements (FR1.1 to FR1.14) and non-
functional requirements (NFR1.1 to NFR4.4) were
assigned between 5-9 (on a scale 0-10). Notice that
only 14 scores are below 6 in Figure 4. Similarly,
Figure 5 shows another group of visual people
scoring the same requirements but using the visual
SRS; and here, we found 21 scores below 6.
Considering that we had taking care of side variables
such as people’s background and context
knowledge, we might suppose there is a relation
among cognitive profiles, SRS notation and
prioritization values.
0
2
4
6
8
10
12
FR1.1
FR1,
2
F
R
1
,3
F
R
1
,4
F
R
1
,5
F
R
1
,6
FR1,
7
F
R
1
,8
F
R
1
,9
FR1,10
F
R
1
,11
F
R
1
,12
FR1,13
FR1,14
NFR1,1
N
F
R1,2
N
F
R2,1
N
F
R2,2
N
F
R3,1
NFR3,2
N
F
R3,
3
N
F
R4,1
N
F
R4,2
NFR4,3
NFR4,4
VVi6 MVi7 MVi8 MVi9
Figure 4: Examples of prioritization given by visual
people using the non-visual specification of System Y.
Figure 5: Examples of prioritization given by other visual
people using the visual specification of System Y.
6 CONCLUSIONS
From our research, it can be said that cognitive
profiles might influence some aspects of process
elicitation, as demonstrated in the experiment.
However, controlled experiments have their
limitations as they cannot be generalized to every
situation using that technology or method. Thus,
more case studies would be helpful for the validation
of the approach. In particular, more experience with
the overall method and with concrete techniques
(such as goal-oriented graph prioritization) would be
helpful. Formulating such cases is part of our future
work in the short time.
ACKNOWLEDGEMENTS
We would like to thank the people involved in the
case study. This work is partially supported by the
UNComa project 04/E072.
REFERENCES
Aranda, G. Vizcaíno, A., Cechich, A.and Piattini. 2005. A
Cognitive-Based Approach to Improve Distributed
Requirement Elicitation Processes. Proceedings of the
4th IEEE International Conference on Cognitive
Informatics pp 322-330.
Chiew, V., Wang, Y., 2003. From Cognitive Psychology
to Cognitive Informatics. Proceedings of Second IEEE
International Conference on Cognitive Informatics, pp
114-120.
Felder, R. and Silverman, L., 1998. Learning and
Teaching Styles in Engineering Education.
Engineering Education, 78(7):674-681.
Felder, R. and Spurlin, J., 2005. Applications, Reliability
and Validity of the Index of Learning Styles.
International Journal of Engineering Education,
21(1): 103-112.
Hickey, A. and Davis, A, 2003. Elicitation Technique
Selection: How Do Experts Do It, Proceedings of the
11
th
IEEE International Engineering Conference.
Kaiya H., Horai H., and Saeki M., 2002. AGORA:
Attributed Goal-Oriented Requirements Analysis
Method. Proceedings of the IEEE International
Conference on Requirements Engineering, pp. 13-22.
Martinez Carod N. and Cechich A, 2007. A Cognitive
Psychology Approach for Balancing Elicitation Goals.
Proceedings of the 6th International Conference on
Cognitive Informatics, pp 232-241.
Miller, J. and Yin, Z., 2004. A Cognitive-Based
Mechanism for Constructing Software Inspection
Teams. IEEE Transactions on Software Engineering,
30 (11): 811-825.
Soloman B. Felder R., 2009. Index of Learning Styles
Questionnaire available at: http://www.engr.ncsu.
edu/learningstyles/ilsweb.html
Wang, Y., 2002. On Cognitive Informatics. Proceedings
of First IEEE International Conference on Cognitive
Informatics, pp 34-42.
COGNITIVE INFLUENCES IN PRIORITIZING SOFTWARE REQUIREMENTS
219