A software process engineering approach to improving software team productivity using socioeconomic mechanism design

Software development is a knowledge and human intensive activity. At the social level, the interactions of these participants and their ability to cooperate are important for improving the productivity of teams and organizations. It is therefore not surprising to discover that recent contributions in software development have repeatedly asserted the critical role of people in software development efforts. However, existing approaches to software development fail to fully exploit the importance of social and intellectual capital that has been highlighted in the fields of economics and sociology. We propose that leveraging the existing approaches from economics and sociology and applying to software development can assist software organizations in maximizing their return on investment. For example, by applying one such approach, mechanism design, we can improve and model the organization's total productivity based on social aspects affecting productivity (i.e. social productivity). This paper will discuss the vision and progress for applying the concept of mechanism design for optimizing software development teams.

[1]  Tom DeMarco,et al.  Peopleware: Productive Projects and Teams , 1987 .

[2]  Richard W. Selby Software Engineering: Barry W. Boehm's Lifetime Contributions to Software Development, Management, and Research , 2007 .

[3]  Robert L. Glass Software Engineering: Facts and Fallacies , 2002 .

[4]  Fadi P. Deek,et al.  Strategic Software Engineering: An Interdisciplinary Approach , 2005 .

[5]  Reidar Conradi,et al.  Improving Software Process Improvement , 2002, IEEE Softw..

[6]  James F. Moore The Death of Competition: Leadership and Strategy in the Age of Business Ecosystems , 1996 .

[7]  Nils Brede Moe,et al.  Agile Software Development , 2010 .

[8]  Bhuvan Unhelkar Practical Object Oriented Analysis , 2005 .

[9]  Robert L. Glass,et al.  Facts and fallacies of software engineering , 2002 .

[10]  Stef Tijs,et al.  Models in Cooperative Game Theory , 2008 .

[11]  Silvia T. Acuña,et al.  A Software Process Model Handbook for Incorporating People's Capabilities , 2005 .

[12]  Mark Grechanik,et al.  Analyzing software development as a noncooperative game , 2004, ICSE 2004.

[13]  Sami Zahran Software process improvement - practical guidelines for business success , 1998 .

[14]  Jessica Kuper,et al.  The Social Science Encyclopedia , 1986 .

[15]  M. Sridharan,et al.  ESSENTIALS OF GAME THEORY , 2007 .

[16]  Eve Mitleton-Kelly Complex Systems and Evolutionary Perspectives on Organisations , 2003 .

[17]  Tim Roughgarden,et al.  Algorithmic Game Theory , 2007 .

[18]  Capers Jones,et al.  Software Engineering Best Practices , 2009 .

[19]  Alain Degenne Social capital: a theory of social structure and action , 2004 .

[20]  Vibha Sazawal,et al.  Modeling Software Evolution with Game Theory , 2009, ICSP.

[21]  Tom DeMarco,et al.  Peopleware (2nd ed.): productive projects and teams , 1999 .

[22]  Yvonne Dittrich,et al.  Social Thinking - Software Practice , 2002, Social Thinking - Software Practice.

[23]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[24]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[25]  A. Kuper,et al.  The Social Science Encyclopedia , 1986 .

[26]  Dewayne E. Perry,et al.  Software Evolution and Feedback: Theory and Practice , 2006 .

[27]  Gabriele Bavota,et al.  Playing with refactoring: Identifying extract class opportunities through game theory , 2010, 2010 IEEE International Conference on Software Maintenance.

[28]  Rory V. O'Connor,et al.  Improving Software Development Process through Economic Mechanism Design , 2010, EuroSPI.