Requirement process establishment and improvement from the viewpoint of cybernetics

https://doi.org/10.1016/j.jss.2006.03.050Get rights and content

Abstract

As a branch of engineering cybernetics, automatic control theory has been extensively applied to improve products, increase productivity and rationalize management. This paper adapts the principles of automatic control theory to the field of software process improvement. In particular, the work described uses control theory to define a requirement engineering (RE) process control system, its dynamic and steady-state performance, and the steps in designing, analyzing and improving such a system. The work has highlighted the need for process activities relating to measuring elements, including those in feedback compensation and organizational support. The results of this research can be used to guide the establishment and improvement of RE processes, compare different requirement process solutions quantitatively, develop methods for evaluating benefits from process improvements, and structure the application of knowledge about RE.

Introduction

The Requirements Engineering Good Practice Guide (REGPG) (Sawyer et al., 1999, Sommerville and Sawyer, 1997) was the first public-domain software process improvement (SPI) model that explicitly focused on the incremental, systematic improvement of Requirements Engineering (RE) processes. It describes 66 RE good practices organized according to a number of RE process areas, an assessment method and a three-level improvement model.

Since the REGPG’s publication in 1997 it has been subject to an extensive empirical analysis (Sommerville and Ransom, 2005, Kauppinen et al., 2002, Kauppinen and Kujala, 2001) designed to improve its efficacy as an RE process improvement model. It has also been the subject of, or contributed to, several research projects investigating RE process improvement for particular domains, such as packaged software development (Regnell et al., 1998), and organisational contexts, particularly SMEs (Nikula and Sajaniemi, 2002, Nikula, 2003).

These studies, complement the eight years of experience and deployment with the REGPG in many companies world-wide. They have shown that among the REGPG’s most important strengths are that it provides practitioners with an overall view of RE concepts and principles, is effective at raising personnel awareness of RE and motivating them for RE process improvement, is useful in identifying process improvements across a range of different types of companies and includes relevant requirements practices for different kinds of application domains.

However, the REGPG offers only a limited and general set of process improvement guidelines. Moreover it lacks sufficient guidance for selecting a realistic set of practical RE improvement actions to meet specific business goals with available resources.

We have exploited the understanding we have acquired through experience with, and validation of, the REGPG to investigate what insights into RE process improvement might accrue from the application of cybernetics. Our work represents the first attempt to apply classical control theory (Ogata, 1970) to RE process improvement in what we call a Requirements Process Control (RPC) system. We characterize RE problems as deviations from an RE process’s ideal performance. The RPC system’s role is to damp these deviations to a tolerable level thus making the RE processes more repeatable.

In Section 2 we map the REGPG’s 66 good practices to different types of control system components and develop the mechanism of collecting process data for them in Section 3. We define the dynamic and steady-state performance of an RPC system in Section 4 and propose steps in designing and improving an RPC in Section 5. In Section 6 we demonstrate how the framework presented in this paper works in RE process establishment and improvement.

Section snippets

An RPC system

We use (I, O, C, T) to define an RPC system, where:

  • I refers to the input of the RPC system i.e. the stakeholders’ requirements to be implemented;

  • O refers to the object to be controlled i.e. the requirement specification of the application. “Requirements specification” here is a proxy not only for the requirements specification document(s) but for the set of requirements artifacts that have to be managed by an RE process;

  • C refers to the output of the RPC system i.e. the quality of O produced,

Mechanism of process data collection for RPC system components

Based on the work of (Kitchenham et al., 2001), we use a unified data set model {PA, AU, MP, ST} to measure the process and document process activities in an RPC system so as to ensure that the data collected are reliable, consistent, repeatable, comparable and interchangeable, and that the resulting analysis is valid. Here

  • The object to be measured PA = {Per, Act, Prj}, where Per is the person participating in the development of the requirements specification; Act = {Cyc, Pha, Tas, Gra}, a process

Definition of dynamic performance and steady-state error of an RPC system

Assume that there are r1 (r1  1) Acts acting as actuators, series compensators and feedback compensators (but excepting those in the requirements validation area), and r2 (r2  0) Acts acting as measuring elements including the feedback compensators in the requirements validation area.

Assume that the unit-step response c(t) of an RPC system is represented by the curve shown in Fig. 2 in the context of the software development process. Here, the x-axis t represents the working days of Prj, the y

Steps of designing an RPC system

In general, we assume the performance specification of an RPC system is expressed as the cost constraint CG, the given time TG and the required quality QG of the requirements specification together with their lowest and highest acceptable values. We also assume that we have historical measurement values needed to derive possible RPC system components, which have been collected and documented by using the unified process data set model described in Section 3. Through synthesis, simulation, and

The REGPG as an RPC system

From the RPC system component point of view, Fig. 3 shows the 66 RE process activities, the subset of these that the REGPG terms the ‘top 10’ guidelines recommended for any organization commencing basic RE process improvement, and the subset that are specifically recommended for critical systems (Sommerville and Sawyer, 1997). Fig. 4 shows the good practices selected as the RE improvement actions by the four Finnish organizations described in (Kauppinen et al., 2002). The detailed RE process

Related work and conclusions

Recognizing the emerging field of software cybernetics, the first international workshop on software cybernetics, in conjunction with COMPSAC 2004, was held in Hong Kong, China in 2004: “This workshop is motivated by a strong perceived need for formalization in the area of software development process (IWSC, 2004)”. The ideas of software cybernetics, the state-of-the-art, “the on-going work in the area of software cybernetics and the background on which it rests and borrows from”, and the

Acknowledgement

The presented research is partly funded by China Scholarships No. 3006(2003) and No. 3122(2004).

Hong Xu received the MS and BS degrees in Electrical Engineering from BeiHang University. She is an Associate Professor in the School of Computer Science and Engineering at BeiHang University. Her main research interests are centered on software process establishment and improvement, quality management and control, and software cybernetics. She has been a visiting researcher in software engineering in the Computing Department of Lancaster University. She was involved with several national

References (23)

  • Cai, K-Y., Chen, T., 2002. Towards research on software cybernetics, In: Proceedings of the 7th IEEE International...
  • Cai, K-Y., Cangussu, J., DeCarlo, R., Mathur, M., 2003. An overview of software cybernetics, In: Proceedings of the...
  • J. Cangussu et al.

    A formal model of the software test process

    IEEE Transactions on Software Engineering

    (2002)
  • J. Cangussu et al.

    Using sensitivity analysis to validate a state variable model of the software test process

    IEEE Transactions on Software Engineering

    (2003)
  • CMU, 2002. Capability maturity model integration (CMMI). Version 1.1,...
  • FEAST, 2001. Available from:...
  • W. Humphrey

    Introduction to the Team Software Process

    (2000)
  • IWSC, 2004. The first international workshop on software cybernetics. Available from:...
  • Kauppinen, M., Kujala, S., 2001. Assessing requirements practices with the REAIMS model: lessons learned, In:...
  • Kauppinen, M., Aaltio, T., Kujala, S., 2002. Lessons learned from applying the requirements engineering good practice...
  • B. Kitchenham et al.

    Modeling software measurement data

    IEEE Transactions on Software Engineering

    (2001)
  • Cited by (7)

    • Modern software cybernetics: New trends

      2017, Journal of Systems and Software
      Citation Excerpt :

      This research area is to seek practical synergies between the two disciplines of requirements and cybernetics, to explore the possibilities of formulating problems in requirements with concepts and frameworks from cybernetics, and to understand to what extent that known research results from cybernetics can be applied to address requirements problems to guide the corresponding process improvement (Liu et al., 2016b). Xu et al. (2006) applied classical control theory to the requirement process improvement. They proposed a requirement process control (RPC) system, which was a framework for improving the requirement process.

    • Software cybernetics in BPM: Modeling software behavior as feedback for evolution by a novel discovery method based on augmented event logs

      2017, Journal of Systems and Software
      Citation Excerpt :

      So, sub-processes in software process, such as software requirements engineering (Xu et al., 2006; White, 2013) and software testing (Miller et al., 2006), are interpreted from the cybernetics point of view. In (Xu et al., 2006), Requirements Process Control (RPC) is proposed and 66 key practices of Requirements Engineering Good Practice Guide (REGPG) are mapped to different components in the control system. It finds that there are only 5 good RE practices that have been recommended in measuring elements with 18 in actuators and series compensation, 17 in feedback compensation, and 51 in organizational support.

    • The verification of program relationships in the context of software cybernetics

      2017, Journal of Systems and Software
      Citation Excerpt :

      Even if establishing such control system, the quantitative information in it often only includes the objective and non-functional contents. For example, Xu et al. (2006) define a requirements engineering process control system, in which only the objective information, such as cost constraint, time and quality, is quantitative based on statistics of historical measurement values. In Yau et al. (2007), software cybernetics approach is applied to deploy and schedule workflows in service-based system with quantitative timing and resource constraints, which are obtained from system history data.

    • Evaluating the Fitness of Model Deviation Detection Approaches on Self-Adaptive Software Systems

      2022, Jisuanji Yanjiu yu Fazhan/Computer Research and Development
    • Requirement analysis framework for re-defining the process outcome

      2020, Journal of Advanced Research in Dynamical and Control Systems
    View all citing articles on Scopus

    Hong Xu received the MS and BS degrees in Electrical Engineering from BeiHang University. She is an Associate Professor in the School of Computer Science and Engineering at BeiHang University. Her main research interests are centered on software process establishment and improvement, quality management and control, and software cybernetics. She has been a visiting researcher in software engineering in the Computing Department of Lancaster University. She was involved with several national software engineering research projects and international system engineering environment development projects, and awarded prizes for the major contribution towards the progress of science and technology.

    Pete Sawyer is a senior lecturer in the Computing Department at Lancaster University and Associate Dean for Postgraduate Studies in the Faculty of Science and Technology. He received his B.Sc. in 1985 and his Ph.D. in Computer Science from Lancaster University in 1990. His main research interests are in the general area of software systems engineering, particularly requirements engineering, service-centric systems, system dependability and aspect-oriented software development. He is chairman of the Requirements Engineering Specialist Group (RESG) of the British Computer Society (BCS, is a member of the BCS, the IEEE Computer Society and the ACM and is a chartered engineer.

    Ian Sommerville has a B.Sc. in Physics from Strathclyde University, Scotland and an M.Sc. and Ph.D. in Computer Science from St. Andrews University, Scotland. He has held a Chair in Computer Science at Lancaster University since 1986. Sommerville’s principal research interests are in software systems engineering with a particular focus on system dependability, requirements engineering and social informatics. He leads a group of about 25 academics, research staff and students working in these areas at Lancaster. He is currently principal investigator on research projects concerned with system dependability, service-centric systems engineering and social informatics. Sommerville has published around 50 refereed journal papers, more than 70 refereed conference papers and have about 20 invited papers included in journals, books and conference proceedings. He has also published a widely used textbook in Software Engineering which is now in its 7th edition and which is widely adopted worldwide. In addition, he has published (with P. Sawyer) a book on requirements engineering practice, aimed at engineers in industry and (with G. Kotonya) a student textbook on requirements engineering.

    This is an extended version of the paper of the same name presented at the 2nd International Workshop on Software Cybernetics (IWSC’05).

    View full text