Human Factors in Software Development: A Systematic Literature Review
Examensarbete för masterexamen
Background: Software Development Process is a human-centered activity. This fact highlights the impact of human factors on the development process and performance from different perspectives. Aim: This thesis project aims to identify and characterize human factors influencing the software development process from development lifecycle and software management perspectives. Method: The systematic literature review initial search resulted in 401 papers among which 67 journal papers (2000-2010) were picked based on two filtering phases. The selected papers were classified and analyzed according to software development phases, software engineering management, human roles and level of human factors focus. Results: Data extracted from the selected papers was mapped to SWEBOK . Among software development phases (waterfall model) the most common one in human factors studies is “Requirement Engineering” addressed by 67% of the inspected papers followed by “Design” (52%). “Software Project Enactment” is the most common software engineering management phase from human factors perspective (67 papers, 100%) followed by “Initiation and Scope Definition and Software Project Planning” (89%) and “Software Engineering Measurements” (56%). Human plays different roles in development process which has impact on the process performance and success. It can be Customer, Developer or Manager. The main human role was “Developer” covered by 94% of the inspected papers. The highest level of human factors focus among these papers was “Individual” level addressed by 76% papers followed by “Organizational” level. (70%) And finally the most common research method among the selected papers was case study (industrial) being applied in 78% of the empirical studies. Conclusion: Despite of the human factors impact on software development process and its level of success/failure, there has not been enough focus by primary study researchers on the area. Human factors have been overlooked in late phases of development process as well as software engineering management. In contrast with all other areas of business which their highest concern is the customer, among the inspected papers this role has been overlooked by researchers. As transferring from preplanned to agile development process, there will be more “Interpersonal” level of human factors involved that has not been addressed well by researchers so far.
Information Technology , Informationsteknik