Software process modeling: socio-technical perspectives

In this chapter we describe how the socio-technical systems (STS) approach has been applied to the software process, as well as attempts that have been made to simulate and model the process as a whole. We also outline previous attempts to use socio-technical criteria and guidelines in order to make improvements to the process of constructing software. We first provide a broad outline of the STS approach followed by a number of examples drawn from the areas of COTS-based selection, the People Capability Maturity Model (P-CMM), competency programmes and process simulation. We conclude the chapter with a set of future research issues that are most likely to occupy researchers in the coming years. These issues are drawn partly from the theoretical literature within software engineering, as well as recent developments within industrial practice.

[1]  Thomas K. Landauer,et al.  The trouble with computers , 1995 .

[2]  Jyrki Kontio,et al.  A case study in applying a systematic method for COTS selection , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[3]  Neil A. M. Maiden,et al.  Acquiring COTS Software Selection Requirements , 1998, IEEE Softw..

[4]  Kishore Sengupta,et al.  Software Project Control: An Experimental Investigation of Judgment with Fallible Information , 1993, IEEE Trans. Software Eng..

[5]  Geoff Walsham,et al.  Cross-Cultural Software Production and Use: A Structurational Analysis , 2002, MIS Q..

[6]  Khaled El Emam,et al.  Spice: The Theory and Practice of Software Process Improvement and Capability Determination , 1997 .

[7]  Janice Singer,et al.  How software engineers use documentation: the state of the practice , 2003, IEEE Software.

[8]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[9]  David Raffo,et al.  Software Process Simulation Modelling , 2001, J. Syst. Softw..

[10]  Dietmar Pfahl,et al.  System Dynamics as an Enabling Technology for Learning in Software Organizations , 2001, SEKE.

[11]  Mary Shaw,et al.  Software engineering education: a roadmap , 2000, ICSE '00.

[12]  Makoto Nakayama,et al.  IT skills portfolio research in SIGCPR proceedings: analysis, synthesis and proposals , 2001, SIGCPR '01.

[13]  Egon Berghout,et al.  From process improvement to people improvement: enabling learning in software development , 2000, Inf. Softw. Technol..

[14]  John D. W. Morecroft,et al.  System dynamics and microworlds for policymakers , 1988 .

[15]  Wing Lam,et al.  Evaluating tools to support component based software engineering , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[16]  Chris W. Clegg,et al.  A Sociotechnical Method for Designing Work Systems , 2002, Hum. Factors.

[17]  Mark C. Paulk,et al.  Capability Maturity Model , 1991 .

[18]  Steve Sawyer,et al.  IT skills in the context of BigCo. , 1998, SIGCPR '98.

[19]  Alan M. Christie Simulation: An Enabling Technology in Software Engineering , 1999 .

[20]  Jochen Ludewig,et al.  Quantitative modeling for the interactive simulation of software projects , 1999, J. Syst. Softw..

[21]  Timothy Lethbridge,et al.  The relevance of software documentation, tools and technologies: a survey , 2002, DocEng '02.

[22]  Robert E. Kraut,et al.  Coordination in software development , 1995, CACM.

[23]  Dietmar Pfahl,et al.  IMMoS: a methodology for integrated measurement, modelling and simulation , 2002, Softw. Process. Improv. Pract..

[24]  J.A.M. Vennix Mental models and computer models: design and evaluation of a computer-based learning environment for policy-making , 1990 .

[25]  John D. Sterman,et al.  Learning in and about complex systems , 1994 .

[26]  Hilary Johnson,et al.  Representations and user-developer interaction in cooperative analysis and design , 1999 .

[27]  Patrick Waterson,et al.  Sociotechnical design of work systems , 2005 .

[28]  Jacques Lonchamp,et al.  A structured conceptual and terminological framework for software process engineering , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[29]  Dietmar Pfahl,et al.  A CBT module with integrated simulation component for software project management education and training , 2001, J. Syst. Softw..

[30]  Batya Friedman,et al.  Educating computer scientists: linking the social and the technical , 1994, CACM.

[31]  Dietmar Pfahl,et al.  Integrating Needs Assessment Within Next Generation E-learning Systems , 2003, eTRAIN.

[32]  Dietmar Pfahl,et al.  An Externally Replicated Experiment for Evaluating the Learning Effectiveness of Using Simulations in Software Project Management Education , 2003, Empirical Software Engineering.

[33]  C W Clegg,et al.  Sociotechnical principles for system design. , 2000, Applied ergonomics.

[34]  Robert L. Glass Software Runaways: Monumental Software Disasters , 1997 .

[35]  Morten Kyng,et al.  Designing for cooperation: cooperating in design , 1991, CACM.

[36]  Peter M. Senge,et al.  Bookshelf - High Output Management, Built to Last: Successful Habits of Visionary Companies, The Fifth Discipline: The Art & Practice of the Learning Organization , 2006, IEEE Softw..

[37]  Lionel C. Briand,et al.  Practical guidelines for measurement-based process improvement , 1996, Softw. Process. Improv. Pract..

[38]  William E. Hefley,et al.  The People Capability Maturity Model : guidelines for improving the workforce , 2002 .

[39]  Mark C. Paulk,et al.  Capability Maturity Model for Software , 2001 .

[40]  P. Senge The fifth discipline : the art and practice of the learning organization/ Peter M. Senge , 1991 .

[41]  G. Hofstede Culture′s Consequences: Comparing Values, Behaviors, Institutions and Organizations Across Nations , 2001 .

[42]  Joseph A. Goguen,et al.  Requirements engineering: social and technical issues , 1994 .

[43]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.