Abstract
A recurrent concern of instructors and managers in learning and industrial sectors is how to organise the working environment to increase the productivity in tasks such as programming and software testing. Evidence of the increasing interest from different domains in this topic is the growing amount of research that has been published on physical factors (e.g., product, personnel, project and process), programming tasks (e.g., tests, questionnaires, programming, testing and debugging), and assessment methods (e.g., time, software metrics and academic grading). The objective of this paper is to survey the literature and to enable one to gain valuable insights into the relevance of physical factors to improve programming efficiency, especially in a learning environment. This study also makes recommendations on the techniques that can provide further experience for learners before joining the industrial sector. Finally, this survey suggests research directions, including an analysis of the correlation between physical factors and measurable productivity.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Trendowicz, A., Münch, J.: Factors influencing software development productivity - state-of-the-art and industrial experiences. Adv. Comput. 77, 185–241 (2009)
Maxwell, K.D., Forselius, P.: Benchmarking software development productivity. IEEE Softw. 17(1), 80–88 (2000)
Delorey, D.P., Knutson, C.D., Chun, S.: Do programming languages affect productivity? A case study using data from open source projects. In: First International Workshop on Emerging Trends in FLOSS Research and Development, FLOSS 2007, p. 4 (2007)
Mohapatra, S., Sreejesh, S.: Model for improving productivity without impacting quality of deliverables in it projects. Int. J. Inf. Technol. Project Manage. (IJITPM) 5(2), 14–29 (2014)
Sullivan, A., Bers, M.U.: Girls, boys, and bots: gender differences in young children’s performance on robotics and programming tasks. J. Inf. Technol. Educ. Innov. Pract. 15, 145–165 (2017)
Chaparro, E.A., Yuksel, A., Romero, P., Bryant, S.: Factors affecting the perceived effectiveness of pair programming in higher education. In: 17th Workshop of the Psychology of Programming Interest Group, June 2005, pp. 5–18 (2005)
Nanz, S., Furia, C.A.: A comparative study of programming languages in rosetta code. In: Proceedings - International Conference on Software Engineering, vol. 1, pp. 778–788 (2015)
Fernández-Sanz, L., Villalba, M.T., Medina, J.A., Misra, S.: A study on the key soft skills for successful participation of students in multinational engineering education. Int. J. Eng. Educ. 33(6), 2061–2070 (2017)
Raziq, A., Maulabakhsh, R.: Impact of working environment on job satisfaction. Procedia Econ. Financ. 23, 717–725 (2015)
Sudhakar, P., Farooq, A., Patnaik, S.: Measuring productivity of software development teams. Serb. J. Manage. 7(1), 65–75 (2012)
Hu, S., Kuh, G.D.: Maximizing what students get out of college: testing a learning productivity model. J. Coll. Student Dev. 44(2), 185–203 (2003)
Rasch, R.H., Tosi, H.L.: Factors affecting software developers’ performance: an integrated approach. MIS Q. 16, 395–413 (1992)
Wiedenbeck, S., Labelle, D., Kain, V.N.: Factors affecting course outcomes in introductory programming. In: 16th Workshop of the Psychology of Programming Interest Group, pp. 97–110 (2004)
Bergersen, G.R., Hannay, J.E., Sjoberg, D.I., Dyba, T., Karahasanovic, A.: Inferring skill from tests of programming performance: combining time and quality. In: 2011 International Symposium on Empirical Software Engineering and Measurement, April 2014, pp. 305–314 (2011)
Darcy, D.P., Ma, M.: Exploring individual characteristics and programming performance: implications for programmer selection. In: Proceedings of the 38th Annual Hawaii International Conference on System Sciences, p. 314a. IEEE (2005)
Sprigle, J.E., Schaefer, L.: Age, gender, and spatial knowledge influences on preschoolers’ computer programming ability. Early Child Dev. Care 14(3–4), 243–250 (1984)
Khan, I.A., Hierons, R.M., Brinkman, W.P.: Moods and programmers’ performance. In: PPIG, p. 2 (2007)
Kamma, D., Jalote, P.: Effect of task processes on programmer productivity in model-based testing. In Proceedings of the 6th India Software Engineering Conference, pp. 23–28. ACM (2013)
Khan, I.A., Brinkman, W., Hierons, R.M.: Do moods affect programmers’ debug performance? Cogn. Technol. Work 13(4), 245–258 (2011). https://doi.org/10.1007/s10111-010-0164-1
Thadhani, A.J.: Factors affecting programmer productivity during application development. IBM Syst. J. 23(1), 19–35 (1984)
Watson, C., Li, F.W.B., Godwin, J.L.: Predicting performance in an introductory programming course by logging and analyzing student programming behavior. In: 2013 IEEE 13th International Conference on Advanced Learning Technologies, pp. 319–323. IEEE (2013)
Mohapatra, S.: Maximising productivity by controlling influencing factors in commercial software development. Int. J. Inf. Commun. Technol. 3(2), 160–179 (2011)
Vihavainen, A.: Predicting students’ performance in an introductory programming course using data from students’ own programming process. In: 2013 IEEE 13th International Conference on Advanced Learning Technologies, pp. 498–499. IEEE (2013)
Malik, M.I., Ahmad, A., Gomez, S.F., Ali, M.: A study of work environment and employees’ performance in Pakistan. Afr. J. Bus. Manage. 5(34), 13227 (2011)
Srivastava, A.K.: Effect of perceived work environment on employees’ job behaviour and organizational effectiveness. J. Indian Acad. Appl. Psychol. 34(1), 47–55 (2008)
Robone, S., Jones, A.M., Rice, N.: Contractual conditions, working conditions and their impact on health and well-being. Eur. J. Health Econ. 12(5), 429–444 (2011). https://doi.org/10.1007/s10198-010-0256-0
McCraty, R., Atkinson, M., Tomasino, D.: Impact of a workplace stress reduction program on blood pressure and emotional health in hypertensive employees. J. Altern. Complement. Med. 9(3), 355–369 (2003)
Arnold, K.A., Dupré, K.E.: Perceived organizational support, employee health and emotions. Int. J. Workplace Health Manage. 5(2), 139–152 (2012)
Danielsson, C.B., Bodin, L.: Office type in relation to health, well-being, and job satisfaction among employees. Environ. Behav. 40(5), 636–668 (2008)
Estácio, B., et al.: Evaluating collaborative practices in acquiring programming skills: findings of a controlled experiment. In: 2015 29th Brazilian Symposium on Software Engineering, pp. 150–159. IEEE (2015)
Nagappan, N., et al.: Improving the cs1 experience with pair programming. ACM SIGCSE Bull. 35(1), 359–362 (2003)
Oyesiku, D., Adewumi, A., Misra, S., Ahuja, R., Damasevicius, R., Maskeliunas, R.: An educational math game for high school students in Sub-Saharan Africa. In: Florez, H., Diaz, C., Chavarriaga, J. (eds.) ICAI 2018. CCIS, vol. 942, pp. 228–238. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-01535-0_17
Flor, N.V., Hutchins, E.L.: A case study of team programming during perfective software maintenance. In: Empirical Studies of Programmers: Fourth Workshop, p. 36. Intellect Books (1991)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendix
Appendix
References | Physical factors | Programming tasks | Performance measure |
---|---|---|---|
Thadhani (1984) | Programming experience, task complexity, a fraction of time spent directly working on the task | Industrial project | Time (constraint) and lines of code |
Rasch and Tosi (1992) | Goal difficulty and clarity, high-achievement needs, self-esteem | Job-specific tasks | Self-evaluation, relative performance |
Maxwell and Forselius (2000) | Application type, programming language, database management system, development model, hardware platform | Regular development work | Customers’ participation, development environment adequacy, staff availability, standards use, methods use, tools use, software’s logical complexity, requirements volatility |
Hu and Kuh (2003) | College environment, the estimated effort put into study | Usual tests and exams in university | System of points of the university |
Wiedenbeck et al. (2004) | Programming experience, self-efficacy, ability to construct mental models | Time specific simple and complex tasks | Course grading system |
Chaparro et al. (2005) | Pair Programming | Debugging, refactoring and program comprehension | Amount of finished exercises |
Darcy and Ma (2005) | GPA and age | Individual coding task (Simple payroll system) | Specification conformance, code structure complexity |
Del (2007) | Programming language | Job specific tasks (working on project) | Speed |
Khan et al. (2007) | Programmers’ mood and emotions | Various debugging exercises | Completion of the debugging test |
Trendowicz and Mnch (2009) | Product, process, personnel and project factors | Industrial level tasks | Overall development productivity |
Paiva et al. (2010) | Commitment, communication, benefits, consistent requirements, experience, motivation, location, project and team size | Job specific tasks | Questionnaire with developers |
Bergersen et al. (2011) | Individual expertise and skills | Simple programming tasks | Time and quality |
Khan (2011) | Programmer’s current mood and emotions | Actual test, which consisted of two cycles of the movie and debugging test | Completion of the debugging test |
Mohapatra (2011) | Application complexity, client support, availability of modules and testing tools, document management system and computational performance | Software project development | Following systematic steps as laid down in the project management plan |
Mohapatra (2011) | Effective training, availability of skilled manpower in the technology domain, well-documented procedure | Software development, maintenance and testing industrial projects | Function points, number of defects |
Sudhakar et al. (2012) | Size of the team, computing infrastructure and software engineering tools | Software project | Lines of code |
Watson et al. (2013) | Logs of compilation errors and code snapshots across the semester | Coding tasks in an introductory programming course | Overall coursework mark |
Kamma and Jalote (2013) | Techniques used by programmers to organise their work | Set of modules for testing in model-based development | Actual effort spent by the programmer in a task and the software size of that task |
Vihavainen (2013) | Students’ programming behaviour (eagerness to start new exercises, the time required to complete an exercise) | Regular assignments in an introductory programming course | Course grade |
Dagiene et al. (2014) | Prior coding experience | Algorithmic thinking contest tasks | Grades |
Mohapatra and Sreejesh (2014) | Application complexity, training, client support, reusing existing code and quality of document management system | Software projects | Cost estimation model |
Nanz and Furia (2015) | Roles of participants | Algorithm Implementation and other 745 simple tasks | Lines of code, memory usage |
Raziq and Maulabakhsh (2015) | Relationship with team members | Job specific tasks | Job satisfaction |
Sullivan and Umashi Bers (2017) | Age and Gender | IT and Robotic tasks | Function points, object points, use case points and feature points |
Busechian et al. (2018) | Pair Programming | Job specific tasks | Topological brain maps |
Wagner and Ruhe (2018) | Organisational cultural factors, Team Culture factors, experience and work environment factors | Industrial level tasks | Effort per SLOC (source lines of code), function points |
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Charikova, M. et al. (2020). A Survey on the Effects of Working Conditions on Programming Efficiency in an Educational Environment. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2020. ICCSA 2020. Lecture Notes in Computer Science(), vol 12254. Springer, Cham. https://doi.org/10.1007/978-3-030-58817-5_22
Download citation
DOI: https://doi.org/10.1007/978-3-030-58817-5_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58816-8
Online ISBN: 978-3-030-58817-5
eBook Packages: Computer ScienceComputer Science (R0)