|
Software
Engineering as a Social Science
Bogdan Bereza-Jarocinski
Abstract:
The situation today: opinions on methods, their merits and quality
in SW Engineering are based on instinct and seldom backed by any
evidence: "OO makes programming easier", "XP is the solution for
the future", "modelling requirements with Use Cases is easy for
customers", "testing requires discipline and independence", "rigorous
inspections are best method of QA" etc.
It is impossible
to prove the correctness of any method-related claim in SW Engineering
by other means than statistical. Rational reasoning, mathematical
proofs do not apply to human and organisational processes. Experiments
like used in physics or chemistry, that are fully repeatable, do
not apply, as the relationships observed are only statistical, not
permanent.
Therefore, only
experimental and observational methods as used in social sciences
or medicine are applicable.
The requirements
of scientific observation and experimentation - how to apply them
to SW Engineering? Correlational and causal relationships. Operational
definitions of measured variables. Defining dependent and independent
variables. Experimental and control group. Group equivalence. Reactivity.
Techniques for finding representative groups. Statistical significance
and correlation.
Social and
Psychological Aspects of Quality Definitions and Requirements Modelling
Defining
quality goals for products is a social science. Finding utility
functions for different quality attributes. The comparison of utility
functions for different groups of stake holders for SW products.
Modelling and prioritising requirements.
Psychology
and Ethics of Usability
Non-functional
requirements: the growing importance and awareness of usability.
Psychological, ethical and social aspects of usability. Modelling
usability requirements and testing usability require using scientific
observation and experimentation like used in sociology and psychology.
Back
to Accepted Papers
Back to Top
|