Modeling Articulation Work in Software Engineering Processes

Current software process modeling techniques do not generally support articulation work. Articulation work is the diagnosis, recovery and resumption of development activities that unexpectedly fail. It is an integral part of software process enactment since software processes can sometimes fail or breakdown. This paper presents a knowledge-based model of articulation work in software engineering processes. I t uses empirically-grounded heuristics t o address three problems in articulation work: diagnosing failed development activities, determining appropriate recovery, and resuming software processes. We first investigate the role and importance of articulation work with respect t o planned software development activities. We then outline a knowledge-based model of articulation work. The model has been implemented in a knowledgebased software process modeling environment called the Articulator. Combining the available software process modeling techniques and the model of articulation leads to a better foundation in process improvement and evolution.

[1]  Jack C. Wileden,et al.  Foundations for the Arcadia environment architecture , 1989, SDE 3.

[2]  Walt Scacchi,et al.  Models of Software Evolution: Life Cycle and Process , 1987 .

[3]  Bill Curtis,et al.  Communication breakdowns and boundary spanning activities on large programming projects , 1987 .

[4]  Volker Gruhn,et al.  Prism=methodology+process-oriented environment , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[5]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[6]  Bill Curtis,et al.  On building software process models under the lamppost , 1987, ICSE '87.

[7]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[8]  Watts S. Humphrey,et al.  Software process modeling: principles of entity process models , 1989, ICSE '89.

[9]  Gail E. Kaiser,et al.  Rule-based modelling of the software development process , 1988, ISPW '88.

[10]  Lucy A. Suchman,et al.  Office procedure as practical action: models of work and system design , 1983, TOIS.

[11]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[12]  Walt Scacchi,et al.  A Knowledge-Based Environment for Modeling and Simulating Software Engineering Processes , 1990, IEEE Trans. Knowl. Data Eng..

[13]  Joyce J. Elam,et al.  A methodology for studying software design teams: an investigation of conflict behaviors in the requirements definition phase , 1987 .

[14]  Carl Hewitt,et al.  Open Information Systems Semantics for Distributed Artificial Intelligence , 1991, Artif. Intell..

[15]  Bill Curtis,et al.  Breakdowns and processes during the early activities of software design by professionals , 1987 .

[16]  Walt Scacchi,et al.  Process integration in CASE environments , 1992, IEEE Software.

[17]  Elihu M. Gerson,et al.  Analyzing due process in the workplace , 1986, COCS '86.

[18]  Les Gasser,et al.  Social Conceptions of Knowledge and Action: DAI Foundations and Open Systems Semantics , 1991, Artif. Intell..

[19]  Les Gasser,et al.  The integration of computing and routine work , 1986, TOIS.

[20]  B. Warboys,et al.  The IPSE Project Process Modelling as a Basis for a Support Environment , 1989 .

[21]  Walt Scacchi,et al.  Requirements for an extensible object-oriented tree/graph editor , 1990, UIST '90.

[22]  Walt Scacchi,et al.  Work structures and shifts: an empirical analysis of software specification teamwork , 1989, ICSE '89.

[23]  Victor Lesser,et al.  A Plan-Based Intelligent Assistant That Supports the Process of Programming , 1987 .

[24]  A. Strauss THE ARTICULATION OF PROJECT WORK: AN ORGANIZATIONAL PROCESS , 1988 .

[25]  Walt Scacchi,et al.  Understanding Software Maintenance Work , 1987, IEEE Transactions on Software Engineering.