Software as a Social Artifact: A Management and Evolution Perspective

For many, software is just code, something intangible best defined in contrast with hardware, but it is not particularly illuminating. Microsoft Word turned 30 last year. During its lifetime it has been the subject of numerous changes, as its requirements, code and documentation have continuously evolved. Still a community of users recognizes it as “the same software product”, a persistent object undergoing several changes through a social process involving owners, developers, salespeople and users, and it is still producing recognizable effects that meet the same core requirements. It is this process that makes software something different than just a piece of code, and justifies its intrinsic nature as a social artifact. Building on Jackson’s and Zave’s seminal work on foundations of requirements engineering, we propose in this paper an ontology of software and related notions that accounts for such intuitions, and adopt it in software configuration management to provide a better understanding and control of software changes.

[1]  Luís Ferreira Pires,et al.  Towards a Commitment-Based Reference Ontology for Services , 2013, 2013 17th IEEE International Enterprise Distributed Object Computing Conference.

[2]  Susan A. Dart,et al.  Concepts in configuration management systems , 1991, SCM '91.

[3]  Peter H. Feiler,et al.  Proceedings of the 3rd international workshop on Software configuration management , 1991 .

[4]  Niklaus Wirth,et al.  Algorithms + Data Structures = Programs , 1976 .

[5]  Gilles Kassel,et al.  An Ontological Investigation in the Field of Computer Programs , 2007, ICSOFT/ENASE.

[6]  Niklaus Wirth,et al.  Algorithms & data structures , 1985 .

[7]  Alain Abran,et al.  Guide to the software engineering body of knowledge : trial version : a project of the software engineering coordinating committee , 2001 .

[8]  Michael Jackson,et al.  A Reference Model for Requirements and Specifications , 2000, IEEE Softw..

[9]  Reidar Conradi,et al.  Impact of software engineering research on the practice of software configuration management , 2005, ACM Trans. Softw. Eng. Methodol..

[10]  Ben Mezrich,et al.  The accidental billionaires : the founding of Facebook : a tale of sex, money, genius, and betrayal , 2009 .

[11]  Pamela Zave,et al.  Deriving Specifications from Requirements: an Example , 1995, 1995 17th International Conference on Software Engineering.

[12]  Dewayne E. Perry,et al.  Proceedings of the 27th international conference on Software engineering , 1995, ICSE 1995.

[13]  Daniel Oberle Semantic Management of Middleware , 2006, Semantic Web and Beyond: Computing for Human Experience.

[14]  Nicola Guarino,et al.  WonderWeb Deliverable D18 Ontology Library , 2003 .

[15]  R. Braham Application software , 1995 .

[16]  Richard E. Fairley,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0 , 2014 .

[17]  Raymond Turner,et al.  Problems in the ontology of computer programs , 2007, Appl. Ontology.

[18]  Lynne Rudder Baker,et al.  The ontology of artifacts , 2004 .

[19]  Mary Beth Chrissis,et al.  CMMI for Development: Guidelines for Process Integration and Product Improvement , 2011 .

[20]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[21]  Markus Helfert,et al.  Software and Data Technologies , 2008 .

[22]  Nurbay Irmak,et al.  Software is an abstract artifact , 2012 .

[23]  Leon J. Osterweil,et al.  What is software? , 2008, Automated Software Engineering.