In this section, the concept of team productivity in software development process is briefly explained. Then, a concise introduction to XP has been provided. Finally, the effective factors addressed in the previous studies, are investigated.
2.1. Software Team Productivity
Productivity is a concept that deals with various issues such as effectiveness, efficiency, generating misunderstandings, and staff turnover (Trendowicz & Münch, 2009; Yilmaz, O’Connor, Colomo-Palacios, & Clarke, 2017). This concept is used in various contexts with different conceptual issues (Tangen, 2005). For example, team productivity in people-centric industries mainly refers to evaluate the results of teamwork. This concept in software engineering emphasizes on the quality of developed software, the ability of team to achieve project goals, achieving expected budget and estimated time, and team members motivation to work together in the future (Petersen, 2011).
As an important issue, there is no general consensus on the definition of software productivity among software experts and researchers and this is more acute in Agile teams. The main reason for this issue is that software development is a people-centric process influenced by various social and technical aspects, so that providing a particular definition of team productivity is difficult (C. D. O. Melo, Cruzes, Kon, & Conradi, 2013). However, definition of productivity greatly depends on the employed development methodology.