Users’ Involvement Helps Respecting Social and Ethical Values and Improving Software Quality

AUTHOR
Barbara Begier

ABSTRACT

Users’ involvement in a software process is recommended to respect ethical and social values and to provide software quality from the user’s point of view. The questionnaire survey is reported ? its aim was to get learn what threats associated with an informatization on a large scale are pointed out by students of an engineering faculty. Many of threats may be eliminated by user’s involvement in a software process. Just agile methodologies help respecting social values and producing software products adapted to users’ expectations. Several additional primary and supporting processes are required in a software life cycle focused on a cooperation with users. Software product assessment ensures an external feedback from users.

There is still a challenge to balance agility and discipline. The dominating process-oriented hard methodologies were born in a military context. Quality is there related to rigorous plans and detailed definitions of processes. But the introduced procedures, including those recommended in the CMMI, do not guarantee quality of the product. Software developers usually act in an isolation from software users. Involved experts try to show their own usefulness and recommend new procedures and metrics. Hard methodologies are reported as successful in armaments production, aircraft industry (Boeing, Lockheed Martin) and in the branch of computing and telecommunication (Motorola), all counted to the military area ? in the conference SEPG (Software Engineering Process Group) in 2005 the armament sector was represented also by: Hewlett-Packard, IBM, Motorola, Siemens. Unfortunately, hard methodologies often fail in software production for social applications.

The reported questionnaire survey shows various threats associated with an informatization on a large scale. The questionnaire items were divided into three groups related to the individual, country-wide, and global threats. The obtained results are presented in three tables attached to the conference paper. In engineering students’ opinions the health condition of individuals spending all day long at the computer screen seems to be the most threatened item in the respondents’ opinion. Lack of privacy including lack of human control concerning data security in information systems holds a leading position among threats on the country-wide and on the global scale.

One of strategies to improve software quality is to provide a continual feedback from users on a software product, especially an expert system and that produced by making use of public funds. The required feedback should not be limited to specify requirements. Users’ involvement is one of principles shared in agile approaches, in response to bureaucratic and unsuccessful methods in software production. Agile methodologies are product-oriented and seem to be the emerging ones. Several methodologies have been developed to encourage software community to customer-developer collaboration, to combine humans and technology, and to prepare participants for collaboration. An assumption underlying any agile methodology concerns granularity of a software product ? it determines small iterations in software development.

The author’s research shows that a cooperation with users may have, at least, the form of a software product assessment by a wide spectrum of its users. An instrument to assess software quality and provide an external loop of the required feedback is a questionnaire survey of at least several dozen of users. Required software improvements are specified on the base of an analysis of the obtained results. Several experiments with software quality assessment by their direct users have been performed and reported. Besides an external loop of the feedback there are also several internal loops provided in each development cycle by an active involvement of users’ representatives in various working teams, meetings, brain storm sessions, test design and supervision, software inspections (where users play roles of coauthors of control lists of software inspections), etc.

Agile methodologies should be promoted among software developers. The main idea emphasized here is to make users the subject of a software process to build high quality software products. A cooperation with users helps to consider ethical and social aspects of software applications and makes possible to learn users’ point of view and to improve a product according to users’ notes and expectations. The objectives of the software process in such approach are listed in the conference paper. The desired user’s high satisfaction from a product means that all realized processes are in fact (not declaratively only) focused on that goal. Conventional phases in software development no longer make sense. Several additional processes and also additional phases in a software life cycle are introduced to provide the required continual feedback from users. Agile methodologies and ethical aspects in computing need a special attention and should be incorporated in an educational process of future software engineers.