You are on page 1of 11

Serbian Journal of Management 7 (1) (2012) 65 - 75

Serbian
Journal
of
Management

www.sjm06.com

MEASURING PRODUCTIVITY OF
SOFTWARE DEVELOPMENT TEAMS
Goparaju Purna Sudhakara*, Ayesha Farooqband Sanghamitra Patnaikc
aEngineering Staff College of India, Gachibowli, Hyderabad, A.P., India, 500034
bAligarh Muslim University, Aligarh, U.P., India
cAdvanced Centre for American Studies (ACAS), Osmania University Centre for
International Programmes (OUCIP), Osmania University, Hyderabad, A.P., India
(Received 20 November 2010; accepted 26 September 2011)

Abstract
This paper gives an exhaustive literature review of the techniques and models available to
measure the productivity of software development teams. Definition of productivity, measuring
individual programmer’s productivity, and measuring software development team productivity are
discussed. Based on the literature review it was found that software productivity measurement can
be done using SLOC (Source Lines of Code), function points, use case points, object points, and
feature points. Secondary research findings indicate that the team size, response time, task
complexity, team climate and team cohesion have an impact on software development team
productivity. List of factors affecting the software development team productivity are studied and
reviewed.
Keywords: Software Productivity, Team Productivity, Productivity Factors, Software Teams,
Managing Information Systems Projects

reduce response time of the customer,
achieve consistency, reliability and accuracy
The objective of IT function for any in customer transactions so that customer
organization is to achieve operational satisfaction can be improved. In achieving
efficiency, reduce costs on repetitive tasks, this, the organization forms project teams,
1. INTRODUCTION

* Corresponding author: purna24@hotmail.com

DOI: 10.5937/sjm1201065S

NASA. and self managed teams are some of the terminology we hear in software industry in current days. to Wagner and Ruhe (2008a). Onsite. includes complexities of both software and people. Earlier researchers like Albrecht (1979) have developed Function Points at IBM and Jones (1986) has studied the productivity and quality of the software projects. ITT. Banker. Study of software development team productivity involves disciplines such as Software Engineering. The definition of productivity follows.66 G. offshore teams. . 1995). bank. Productivity is defined as the ratio of outputs produced to the resources consumed. According to Card (2006). software productivity definition development costs (Scacchi. According to him. Previous software team the top performers to reward and identify the productivity studies were conducted in bottom performers to provide the training. With the advent of process maturity models such as CMMI and PCMM. 2001. According to reduce the software development costs. and The major productivity improvements can HP. Sudhakar / SJM 7 (1) (2012) 65 . Management and Organizational Psychology. Datar and Femerer (1991) have studied the 2. high performance teams. DEFINITION OF PRODUCTIVITY variables impacting the productivity of software maintenance projects with the help Traditionally Productivity can be defined of an empirical study of 65 software as a ratio of output units produced to the maintenance projects of a large commercial input units of effort (Scacchi. P. 2008a). The objective of any software business organization is to achieve maximum team productivity to reduce costs and to increase profitability. Jones (1986) work on productivity is published in his popular book Programming Productivity. Nwelih & Amadin. Output units can be the number of lines of source code and 3. 2008a. Researcher Lakhanpal (1993) has studied the characteristics of groups and their impact on productivity (Wagner & Ruhe. Particularly software development is done by teams in organizations. the software by the developer is used as a measure of productivity is to be measured to recognize productivity. According to Nwelih and Amadin result into substantial amount of savings in (2008). PRODUCTIVITY? Traditionally the lines of code (LOC) or the Function Points are used for measurement of According to Scacchi (1995). virtual teams. software services organizations in Asian countries are even thriving for continuous improvement. 2008).75 cross functional teams to meet the organizational objectives. WHY MEASURE TEAM input units can be the person months of time. organizations such as IBM. 2008a). the number of improve the quality of deliverables. According to them software productivity can be calculated by dividing software size with cost of development. Wagner & Ruhe. 1995. Software productivity in software development team productivity is to be measured to (Wagner & Ruhe. More than 70% of the Fortune 500 organizations have teams in their organizations. and to lines of code written or the number of increase the rate at which software is to be function points implemented per man hour developed. Maxwell. globally distributed teams.

corporate environment and programming methodology (Vyhmeister. usage of tools and software process factors. and analyst capability. 1996). Pinkowska. financial constraints. The factors identified by Barry Boehm and team which affect software productivity and cost include programmer capability. People related issues are the critical factors of individual programmer’s productivity. MEASURING INDIVIDUAL PROGRAMMER’S PRODUCTIVITY According to Wagner and Ruhe (2008). P. product size. which includes both development and maintenance costs and drivers of software team productivity and quality such as personnel capability. According to Chiang and Mookerjee (2004). Pinkowska’s Research). Teams with high cohesiveness exhibit lower tension and anxiety. software specifications. Individual programmer’s productivity can vary between 1 to 10 times in the same experience level programmers and team productivity can have variations of a factor of 5 (White. Productivity = (Size of Application Developed) / (Labor consumed during development) (1) 4. platform experience. improving software development productivity depends on people. team productivity is dependent on individual team member’s productivity and the team member’s experience of success impacts his or her motivation. team cohesiveness and work atmosphere. The constraints which control the programmer productivity are the time constraints. The study of software productivity is important because higher productivity leads to lower costs (Bouchaib & Charboneau. Function Points (FPs). software applications experience. programmer’s programming languages and tools experience. experience low personnel turnover.G. According to M. less variations of productivity. improved team communication. Krishnan. Sudhakar / SJM 7 (1) (2012) 65 . 2008). 2005). 2008). software productivity can be measured traditionally using the lines of code or function points and the productivity is the LOC or FP produced per hour by the programmer. 1999). . Kekre and Mukhopadhyay (1999) have studied the software life cycle productivity. According to Banker and Kauffman (1991). Kriebel. improved team member satisfaction. team 67 cohesion. giving periodic feedback on his or her performance improves the individual productivity of programmer (Wagner & Ruhe. technology and process. software productivity can be found from the following formula. The productivity and cost estimation model COCOMO developed by Boehm (1981) also considers the individual programmer’s productivity as a decisive role. Setting goals to the programmer. Team members in cohesive teams enjoy team membership. and they are very productive (M. According to Vyhmeister (1996). and commitment. Bouchaib and Charboneau (2005) have studied the comparison of productivity of in-house developed projects and productivity of outsourced projects to third party with a sample of 1085 projects developed worldwide. one can use Lines of code (LOC). providing training.75 Measuring productivity helps in identifying under utilized resources (Nwelih & Amadin. and Object points (OPs) to measure the productivity of software programmer.

Input Measure = Total Labor hours 3. LOC. Kriebel. Front variables such as personnel Kekre End Resources) capability. 6. Lapre and Effort in Man months factors such as Experience of Van Project (2002) Manager. which supports correlated (1999) and Vouk team behavior. Product Size in LOC. quality. Techniques/Models for measuring Software Development Team Productivity Sl. Berzins Luqi. Wassenhove . requirements volatility and Nogueira. Measurement model Analysis/Design Activity Output measure = This model considers Function Points Function Coding/Testing Activity Output measure = environmental variables. Technique/Model Formula/Description High Lights Reference Team Productivity (P) P = Kilo Lines of Code/ Person months of effort Further given the needed Tausworthe (1982) No: 1. Usage of Tools. and Life Cycle Productivity = Product size in LOC / Total cost incurred in Product development and support. 5. ambiguity. stable standards.75 68 Table 1. Personnel Capability. PROCESS. SLOC. and Nada (2000) complexity. 4. etc. 7. Sudhakar / SJM 7 (1) (2012) 65 . Productivity Model Productivity = Number of Function Points / This model considers the Blackburn. Model of Life Cycle Quality = f1(Personnel Capability. software Mukhopadhyay (1999) Life Cycle Productivity = f2(Conformance process. requirements size. Front End Resources PROCESS) and Usage of tools. Productive Ratio (Į) Į = % of Direct Development time / % of Idle The time considered model suggested productivity. Model of Correlated Team Behavior Software Team productivity = KLOC per Provides a simulation model Potok Calendar month. Productivity Model and Mathematical Models Cost Model This Model explains the Tockey (1996) impact of interaction of team members and team size on team productivity and project cost. P. and Source Lines of Code any deviations from the Points. Datar and Kemerer (1991) project. model considers Krishnan.G. user requirements. product size in Quality. staff size as “person months of effort divided by project time duration in months” 2. complexity. usage of tools. Banker. Usage of This Productivity and Quality Tools.

Functional Productivity = Number of Function Requirements. Lapre and Wassenhove (2002). Productivity = This model considers factors Nwelih and Amadin model which includes n like (2008) Software Reuse ™ (ri + fi + li + ci) / ™I length. Economic Productivity = Value / Cost Where Value = f (Price.4280 x I(OO) – 0. Time. Normalized Productivity log (PDR) = 2. P. Process or Card (2006) Sub-process. Sudhakar / SJM 7 (1) (2012) 65 .0506 x Development Platform. functionality and Where ri = Reuse fi = Functionality li = Length ci = Complexity ™I = Effort (Source: Author Compiled. while measuring productivity labor related to engineering.4189 x I(Multi) – and PDR and six categorical 0. I(Business:Regression) Development Techniques.1.G. Functionality) 9. management. testing and support needs to be taken into consideration. like continuous Jiang and Comstock (2007) Language Case Tool Used. I(Business) – 0. and How Methodology Acquired. Simple Model of Productivity 69 Physical Productivity = Number of LOC / man This model considers the hours or days or months entities such as Product. Software Productivity reuse.3225 x variables Average Team Size I(ApG) – 0.7513 x I(OO:Event) – 0. 2010) According to Blackburn.6872 x I(3GL) .3659 x log(TeamSize)- It uses two Delivery Rate (PDR) 0. According to Card (2006). the measure of productivity using number of function points divided by man months of effort is applicable irrespective of the programming language in which the project is being implemented. Value.75 8. Quality. the productivity of large teams is lower than the productivity of small teams. complexity. According to him. Development Type. Cost. . Normalized PDR = (Normalized Work Effort) / (Adjusted Function Points) 10.2588 x Type. i=1 effort.1627 x I(MR) – 0.0805 x I(Regression) + 1.3201 x I (PC) – 0.2962 x I(4GL) – 1.8400+0. Points / Man hours or days or months and Effort.2812 x I variables (Event) + 0.

and team communication affect the software team productivity. some of the factors facilitate high software team productivity include substantial computing infrastructure. Large team size reduces the software development productivity (Blackburn. 1995). programming language used (3GL or 4GL).75 According to the research done by Banker. development platform and development techniques have impact on software team productivity (Jiang & Comstock. Datar and Femerer (1987). FACTORS AFFECTING PRODUCTIVITY THE Major changes to technologies of the project product lead to minimal productivity improvements (Scacchi. 5. User participation. strong teams have high productivity over all the assigned tasks where as weak teams have low productivity over all assigned tasks. soft factors such as team culture. support for innovation. Sudhakar / SJM 7 (1) (2012) 65 . experience of the programmer with the programming language and program design constraints are the factors affecting the software productivity (Wagner & Ruhe. Average team size. 1996). They have studied 117 software projects provided by the Software Technology Transfer Finland. and configuration management systems. Software reuse can be used to improve the software team productivity (Nwelih & Amadin. 1995). experienced programmers. Lapre & Wassenhove. 1999). experience of the programmer has impact on the productivity of software maintenance projects. According to Blackburn. software testing tools. 2008). 2002). According to Scacchi (1995). Currently Function points and Lines of Code are measures of software productivity (Maxwell & Forselius. 2008a). project complexity increases the team size and team size decreases the team productivity significantly. According to Potok and Vouk (1999). It was also proven by Vijayashree and Jagdischchandra (2011) and by Kuye and Sulaimon (2011). software engineering tools and techniques such as rapid prototyping tools. According to Potok and Vouk (1999). team cohesion. process and production setting characteristics affect the software productivity of individual programmer as well as software development team (Scacchi. According to Wagner and Ruhe (2008a). Lapre and Wassenhove (2002). The attributes such as well organized project teams. weak team’s productivity is less than the productivity of teams that behave randomly and the better way to handle the weak team performance is to shuffle the team members randomly. According to the research done by Blackburn.70 G. 2007). turnover. e-mail. The teams that behave in correlated fashion perform better than the teams that behave randomly (Potok & Vouk. document management systems. team identity. . Lapre and Wassenhove (2002). 2000). The product. 1999). Software team performance is dependent on the human characteristics of the team (Potok & Vouk. P. experience of the project manager and project size increases the team productivity. high project quality need not necessarily reduce the software maintenance team productivity. Team size has impact on team productivity and project costs (Tockey. object oriented programming languages. and different team work structures facilitate the high software team productivity. According to Banker and Kauffman (1991).

Within the same company different business sectors can have different productivity levels and productivity is also dependent on year and hardware. According the M. Datar and Femerer (1991) have examined the effects of project team member ability. team cohesiveness has impact on software team productivity. Naude and Comstock (2007). . They are team identity. team cohesion. According to Jiang. Covi. According to their research team collocation increases the software team productivity. 1999). Jiang and Naude (2007).75 According to them. According to Agrell and Gustafson (1994). clear goals and support for innovation. team orientation. hardware and methodological tools on software maintenance team productivity. Krishnan. Wagner and Ruhe (2008) have derived some soft factors which affect the software development team’s productivity. This is because if the system construction time is less. participative safety. 1996). and technology have impact in the software development time and product outcome (White. Organizational structure. people. software team productivity variations are because of average team size and the unbalanced usage of programming languages (3GLs or 4GLs). process. The factors affecting the software development team productivity are the system construction time and coordination efforts (Chiang & Mookerjee. According to Teasley. team communication. According to Banker and Kauffman (1991). internal politics. productivity varies from company to company and business sector to business sector. interaction with customer. teams in warrooms give double the productivity than the normal teams. personnel turnover. skills of project team. According to them personnel variables critically impact the productivity of software project teams. personnel. and Olson (2000). application experience. According to Comstock. According to Banker. Datar and Femerer (1987). According to Premraj. Kitchenham and Forselius (2005) have identified the factors such as task difficulty. and non functional requirements such as performance and dependability impact the software team 71 productivity. reuse is the major factor affecting the software development productivity. team morale. People factors affecting the software development team productivity are the staffing. Banker. change in user requirements and usage of tools significantly decreases the software development team productivity. Product characteristics. Shepperd. They have used Team Climate Inventory (TCI) developed by the Anderson and West for finding the team climate and productivity of Swedish work-groups. and support for excellence have impact on team productivity.G. Sudhakar / SJM 7 (1) (2012) 65 . organization size. team size increases and if team size increases productivity per programmer reduces. the environmental variables affecting the software team productivity are project management. P. Pinkowska’s research. Premraj. system quality. Support for innovation as a factor affecting the team productivity has been proved by the study of Agrell and Gustafson (1994) on Swedish work teams. Shepperd. and physical facilities have impact on the software team productivity (Vyhmeister. motivation and work environment. fourth generation programming languages give more productivity than third generation programming languages. user and technical environment. Kitchenham and Forselius (2005) research. team climate consists of vision. 2004).

& Gustafson. A. R. The productivity improvement is part of team development. Other productivity measures such as Use Case points. New Jersey. January 1991... Journal of Occupational and Organizational Psychology.J. Vanderbilt University Working paper 2002-85.. (2002) Brooks’ Law Revisited: Improving Software Productivity by Managing Complexity. Sudhakar / SJM 7 (1) (2012) 65 . Hence. 7. P.72 6. M. Banker. extendibility and reusability in finding the software team productivity. R. Proceedings of the Joint SHARE/GUIDE/IBM Application Development Symposium. (1981). B. D. Datar. Further research can be done on finding the soft factors affecting the software development team productivity. An organization working on the factors affecting the software development team’s productivity can improve the overall organizational productivity. K. J. D. 67:143-151. feature points are mentioned. Communications of the ACM.. 83-92. Other measures such as use case points. Datar. The factors affecting the software development team productivity are explained. Thus improving software development team’s productivity results into improved organizational productivity. (1979) Measuring Development Productivity. & Charboneau. D. S. September 1991. December 1989. & Kauffman. December 1987. (1991) A Model to Evaluate Variables Impacting the Productivity of Software Maintenance Projects. Blackburn. References Abdel-Hamid. C... T. Software Engineering Economics. Proceedings of the International Conference on Information Systems. object points and feature points are also used in some of the IT organizations. The productivity measures such as SLOC. 37(1). & Kemerer. M. R. object points. C. Organizational productivity is dependent on individual and team productivity. F. one should try to increase the productivity of software development teams resulting into the better organizational productivity and performance. 32(12). Lapre. USA: Prentice Hall. (1989) Lessons Learned from Modeling the Dynamics of Software Development.75 PRODUCTIVITY Traditionally SLOC and Function points are used as units of software team productivity. OTHER MEASUREMENTS G. Englewood Cliffs. B. 14(3):374-401. & Kemerer.. F. (1991) Reuse and Productivity in Integrated Computer-Aided Software Engineering: An Empirical Study. & Madnick. E. Bouchaib. pp. J. These new measures kept in mind the object orientation. Banker. The models and techniques related to software development team productivity are tabulated. R. The productivity measured can be improved. KLOC and Function points are discussed. S. Management Science. Boehm. M. CONCLUSION The definition of productivity and why to measure software productivity have been explained. (1987) Factors Affecting Software Maintenance Productivity: An Exporatory Study. & Van Wassenhove.. Banker. L. A. (2005) An Evaluation of Productivity . R. R. S. Agrell. A... D. (1994) The Team Climate Inventory (TCI) and group innovation: a psychometric test on a Swedish sample of work groups. MIS Quarterly. N. Albrecht.

Проучена је листа фактора који утичу на продуктивност тимова за развој софтвера. India. Jones. OR. A. Sanghamitra Patnaikc aEngineering Staff College of India. Improving Software Team Productivity. S. 2007. Engineering and (2007) Strategic Software Development: Technology. The Card. Секундарни резултати истраживања индицирају да су величина тима. Portland. Kekre.. . комплексност задатака. Volume 27. Jiang.. Italy. Дискутовани су дефиниција продуктивности. Month: Essays on Software Engineering Second Edition. (1986). Hyderabad. SMEF 2005.75 73 МЕРЕЊЕ ПРОИЗВОДНОСТИ ТИМОВА ЗА РАЗВОЈ СОФТВЕРА Goparaju Purna Sudhakara*. P.. Z. P. Engineering and Technology. Chiang. McGraw-Hill. Ayesha Farooqb. I. May Development Productivity 1995-2005. C. Hyderabad. 2005.. & Mookerjee. U. 47(5).P.. World Academy of Krishnan.P. & Comstock. 500034 bAligarh Muslim University. World Academy of Science. Development Programs. C. India Извод Овај рад даје исцрпни литературни преглед техника и модела доступних за мерење продуктивности тимова за развој софтвера. Osmania University. D. објектних тачака. N. Naude. Addison-Wesley. S. (2007). Jiang.P. January 1986. мерење индивидуалне продуктивности програмера и мерење продуктивности тимова за развој софтвера.. Engineering and Technology. July 1995. Conference. A. Aligarh.G. време одговора. India cAdvanced Centre for American Studies (ACAS). 2006.H. и особинских тачака. Sudhakar / SJM 7 (1) (2012) 65 . Volume 34. P. Пројекти за менаџмент информатичких тимова Measurements of Outsourced Software Science. Gachibowli. V.. March 16-18. (2006). Z. & Naude. (2004) January 2007. 2004. Kључне речи: Продуктивност софтвера. P. C.. The Variation of Software Communications of the ACM. Тимови за развој софтвера. R. World Academy of Science. Засновано на литературном прегледу утврђено је да мерење продуктивности тимова за развој софтвера може да се учини употребом SLOC (Source Lines of Code). & Comstock. Fredrick. Фактори продуктивности. Rome. 2007. клима у тиму као и кохезија тима од великог значаја на продуктивност. Kriebel. Продуктивност тимова.. The Challenge of Factors Significant to Software Development Productivity Measurement. Programming Productivity Comparisons of General Productivity. употребом кључних тачака..B. (2007).S. Z. The Mythical Man Proceedings of the 2nd Software Measurement European Forum. (1995). Osmania University Centre for International Programmes (OUCIP). M... функционалних тачака. C. C. Development Projects: An Empirical Study. Proceeding of Pacific Northwest Software Quality Productivity. Volume 25. Jiang. Comstock.

46(6):745-759. Limerick. Collecting Data for Comparability: Benchmarking software Development Productivity. S. W. R. S. . Asian Journal of Information Technology.. 2000. M. Programmer Productivity. Vyhmeister. Kitchenham. (2004)..pdf (Accessed on 02-Mar- 2010). (1996).. & Forselius. V. C. (1982). B. Available online at http://www. October-December 1982. Teasley. C. Understanding Software Productivity. A. Luqi. T.edu/~vyhmeisr/papers/ progprod. & Sulaimon. 4.. 6 (1): 1-15. T. (1995). The Effect of Team Size on Team Productivity and Project Cost. K. L. Benchmarking Software Development Productivity.F. 2005. A Model of Correlated Team Behavior in a Software Development Environment. 6(2): 193-203. Krishnan. TX. (2000). How does Radical Collocation Help a Team Succeed?. (Undated). Maxwell. & Amadin. An Empirical Analysis of Software Productivity over Time. Maxwell. TDA Progress Report 42-72. IT Software Project Management: Impact of Team Cohesiveness on Productivity and Performance. Little.. Serbian Journal of Management. Sudhakar / SJM 7 (1) (2012) 65 . 35(8): 168-173. Scacchi.Hurley.. Proceedings of IEEE Symposium on Application-specific Systems and Software Engineering and Technology. September/October 2001. D.74 G. (2001). A. R. Nwelih. A Formal Risk Assessment Model for Software Evolution. Shepperd. . & Olson.. I. L. (2000). Pennsylvania. World Scientific Press. (2005). R. Staffing Implications of Software Productivity Models. P.andrews. Ireland. V. (2008) Modeling Software Reuse in Traditional Productivity Model.ch/pdf_diverse/Pinkowskacohesiveness. J. L. Vol. IEEE Software. Tockey. Serbian Journal of Management.75 & Mukhopadhyay. 1999. M. (2000). Paper Presented at Second International Workshop on Economics-Driven Software Engineering (EDSER-2). O. January/February 2000. Seattle University. Article in software Engineering and Knowledge Engineering: Trends for the Next Decade edited by D. & Jagdischchandra. & Forselius. N. E. June 6. Tausworthe. (2011). T. CSSE-515. Richardson. ASSET’ 99. Proceedings of the 2000 ACM Conference on Computer Supported Cooperative Work. (1999). P. 7(11):484-488. Information and Software Technology. Available online at http://www. pp. IEEE Software. (2000) An Empirical Analysis of Productivity and Quality in Software Products. Lakhanpal. (1996). Locus of control and job satisfaction: PSU employees. Pinkowska. D. A. Lecture notes of Software Project Management. Berzins & Nada. Philadelphia. 1995. Value Creation and Capture: A model of the Software Development Process. E. K. B. Kuye. H.. M. Covi. USA..html (Accessed on 02-Mar-2010). May/June 2004. J. M.(2011) Employee involvement in decision making and firms performance in the manufacturing sector in Nigeria. Premraj. 339346. S. S. Vijayashree. 11th IEEE International Symposium on Software Metrics.lent. P. Potok. IEEE Software. Winter 2000. Management Science. (1993) Understanding the Factors influencing the Performance of Software development groups: An exploratory group level analysis. Nogueira. & Vouk.

Institute of Software. State Key Laboratory of Computer Science.75 Wagner. Sudhakar / SJM 7 (1) (2012) 65 . P. Wagner. International Conference on Accelerator and Large Experimental Physics Control Systems. 2008. (2008). (2008a). S. M. A Systematic Review of Productivity Factors in Software Development. Trieste. S. 1999. Technische Universität München. White. & Ruhe..G. 2008. 75 . M. (1999). & Ruhe. Italy. A Structured Review of Productivity Factors in Software Development. Software Engineering Management for Productivity and Quality. Technical Report. S. Proceedings of 2nd International Workshop on Software Productivity Analysis and Cost Estimation (SPACE 2008). K.