Team-based student projects in beginning software engineering courses are often the first place that students have tried working on a team to develop a shared software product. For this reason, team coordination and communication skills are probably very important to their team success. We have access and experience with a research training game named TeC, developed to improve team coordination in disaster response teams, and hypothesized that it might help student software teams. We ran a course experiment where we used the training game as a treatment, and a generic board game as a control. With only 8 teams in the course available to participate, and 6 ultimately completing the experiment, statistical results are inconclusive. Nevertheless, interesting outcomes were obtained that indicate potential benefit of such a training game, and we believe this argues for more research in the area.
{"title":"Can a Team Coordination Game Help Student Software Project Teams?","authors":"Olaa Alsaedi, P. Dugas, J. Cook","doi":"10.1145/2897586.2897594","DOIUrl":"https://doi.org/10.1145/2897586.2897594","url":null,"abstract":"Team-based student projects in beginning software engineering courses are often the first place that students have tried working on a team to develop a shared software product. For this reason, team coordination and communication skills are probably very important to their team success. We have access and experience with a research training game named TeC, developed to improve team coordination in disaster response teams, and hypothesized that it might help student software teams. We ran a course experiment where we used the training game as a treatment, and a generic board game as a control. With only 8 teams in the course available to participate, and 6 ultimately completing the experiment, statistical results are inconclusive. Nevertheless, interesting outcomes were obtained that indicate potential benefit of such a training game, and we believe this argues for more research in the area.","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127842055","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper, we describe the practical considerations and challenges of studying an agile, co-located software development community by assimilating among them over many months. We have adopted a fully immersive ethnographic approach using semistructured and unstructured interviews. In many ways, the design choices in our study mirrored those faced by the development team, as we adjusted our methods on the y to accommodate our richer knowledge of the work environment and adapted to changes on the ground. We share our process of determining and adjusting an operating procedure for the ethnographic observation and we reflect on the challenges faced in choosing subjects to study, getting them on board, planning questions and conducting interviews without disrupting the regular process of software development.
{"title":"Among the Agilists: Participant Observation in a Rapidly Evolving Workplace","authors":"Shreya Kumar, C. Wallace","doi":"10.1145/2897586.2897609","DOIUrl":"https://doi.org/10.1145/2897586.2897609","url":null,"abstract":"In this paper, we describe the practical considerations and challenges of studying an agile, co-located software development community by assimilating among them over many months. We have adopted a fully immersive ethnographic approach using semistructured and unstructured interviews. In many ways, the design choices in our study mirrored those faced by the development team, as we adjusted our methods on the y to accommodate our richer knowledge of the work environment and adapted to changes on the ground. We share our process of determining and adjusting an operating procedure for the ethnographic observation and we reflect on the challenges faced in choosing subjects to study, getting them on board, planning questions and conducting interviews without disrupting the regular process of software development.","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125510255","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper we present the results from a survey about the beliefs, practices, and personalities of software engineers in a large software company. The survey received 797 responses. We report statistics about beliefs of software engineers, their work practices, as well as differences in those with respect to personality traits.For example, we observed no personality differences between developers and testers; managers were conscientious and more extraverted. We observed several differences for engineers who are listening to music and for engineers who have built a tool.We also observed that engineers who agree with the statement “Agile development is awesome” were more extroverted and less neurotic.
{"title":"Beliefs, Practices, and Personalities of Software Engineers: A Survey in a Large Software Company","authors":"Edward K. Smith, C. Bird, Thomas Zimmermann","doi":"10.1145/2897586.2897596","DOIUrl":"https://doi.org/10.1145/2897586.2897596","url":null,"abstract":"In this paper we present the results from a survey about the beliefs, practices, and personalities of software engineers in a large software company. The survey received 797 responses. We report statistics about beliefs of software engineers, their work practices, as well as differences in those with respect to personality traits.For example, we observed no personality differences between developers and testers; managers were conscientious and more extraverted. We observed several differences for engineers who are listening to music and for engineers who have built a tool.We also observed that engineers who agree with the statement “Agile development is awesome” were more extroverted and less neurotic.","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"2011 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121421675","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Bernardo Estácio, Franz Zieris, L. Prechelt, R. Prikladnicki
Background: Coding Dojo Randori is a collaborative practice of joint training (with discussion). Objective: Evaluate Randori training behaviors. Method: Qualitative data analysis of recordings of Randori sessions. Results: (1) The training may involve different levels of collaboration, from a task level to a concept level. (2) Randori can help novices via the interaction with more experienced developers. Conclusion: Suitable behavior and interactions of the developers in a Randori session can help to create an environment with valuable discussion on a specific software topic.
{"title":"On the Randori Training Dynamics","authors":"Bernardo Estácio, Franz Zieris, L. Prechelt, R. Prikladnicki","doi":"10.1145/2897586.2897603","DOIUrl":"https://doi.org/10.1145/2897586.2897603","url":null,"abstract":"Background: Coding Dojo Randori is a collaborative practice of joint training (with discussion). Objective: Evaluate Randori training behaviors. Method: Qualitative data analysis of recordings of Randori sessions. Results: (1) The training may involve different levels of collaboration, from a task level to a concept level. (2) Randori can help novices via the interaction with more experienced developers. Conclusion: Suitable behavior and interactions of the developers in a Randori session can help to create an environment with valuable discussion on a specific software topic.","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131119089","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper we describe the usefulness of statistical validation techniques for human factors survey research. We need to investigate a diversity of validity aspects when creating metrics in human factors research, and we argue that the statistical tests used in other fields to get support for reliability and construct validity in surveys, should also be applied to human factors research in software engineering more often. We also show briefly how such methods can be applied (Test-Retest, Cronbach's alpha, and Exploratory Factor Analysis).
{"title":"Useful Statistical Methods for Human Factors Research in Software Engineering: A Discussion on Validation with Quantitative Data","authors":"Lucas Gren, A. Goldman","doi":"10.1145/2897586.2897588","DOIUrl":"https://doi.org/10.1145/2897586.2897588","url":null,"abstract":"In this paper we describe the usefulness of statistical validation techniques for human factors survey research. We need to investigate a diversity of validity aspects when creating metrics in human factors research, and we argue that the statistical tests used in other fields to get support for reliability and construct validity in surveys, should also be applied to human factors research in software engineering more often. We also show briefly how such methods can be applied (Test-Retest, Cronbach's alpha, and Exploratory Factor Analysis).","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129337764","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
J. A. O. G. Cunha, F. Silva, H. Moura, Francisco J. S. Vasconcellos
Context: In software project management, the decision-making process is a complex set of tasks largely based on specific knowledge and individual cultural background, as well as human relations. The factors that affect the decisions of the software project managers (SPMs) and their potential consequences require attention because project delays and failures are usually related to a series of poor decisions. Objective: To understand how SPMs make decisions based on how they interpret their experiences in the workplace, and also to identify antecedents and consequences of those decisions in order to increase the effectiveness of project management. Method: Semi-structured interviews were carried out with SPMs within a Brazilian large private organization. The data was analyzed using techniques from grounded theory approach. Results: We found that decision-making in software project management is based on knowledge sharing in which the SPM acts as a facilitator before making decisions. This phenomenon is influenced by individual factors, such as experience, communication, negotiation, self-control and systemic view of the project and by contextual factors such as the autonomy of the SPM and team members' technical competence. Also, these factors are mediated by cognitive biases. Conclusions: Due to the uncertainty and dynamism inherent in software projects, the SPMs focus on making, monitoring and adjusting decisions in an argument-driven way.
{"title":"Decision-Making in Software Project Management: A Qualitative Case Study of a Private Organization","authors":"J. A. O. G. Cunha, F. Silva, H. Moura, Francisco J. S. Vasconcellos","doi":"10.1145/2897586.2897598","DOIUrl":"https://doi.org/10.1145/2897586.2897598","url":null,"abstract":"Context: In software project management, the decision-making process is a complex set of tasks largely based on specific knowledge and individual cultural background, as well as human relations. The factors that affect the decisions of the software project managers (SPMs) and their potential consequences require attention because project delays and failures are usually related to a series of poor decisions. Objective: To understand how SPMs make decisions based on how they interpret their experiences in the workplace, and also to identify antecedents and consequences of those decisions in order to increase the effectiveness of project management. Method: Semi-structured interviews were carried out with SPMs within a Brazilian large private organization. The data was analyzed using techniques from grounded theory approach. Results: We found that decision-making in software project management is based on knowledge sharing in which the SPM acts as a facilitator before making decisions. This phenomenon is influenced by individual factors, such as experience, communication, negotiation, self-control and systemic view of the project and by contextual factors such as the autonomy of the SPM and team members' technical competence. Also, these factors are mediated by cognitive biases. Conclusions: Due to the uncertainty and dynamism inherent in software projects, the SPMs focus on making, monitoring and adjusting decisions in an argument-driven way.","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127173649","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software developers often use a web search engine to improve work efficiency. However, web search skill (i.e., efficiency to find an appropriate web site) is different for each developer. In this research, we try to clarify better web search behavior. To analyze web search behavior in programming, we made some questions about programming, and subjects solved the questions. The questions are based on Java language. Based on our experiment, to enhance the effectiveness of the web search, we suggest (1) do not read many search result pages without changing the key phrase, (2) read search result pages or the destination web pages linked to the search results carefully, before making new search, (3) Use new keywords which are not used before, when making a new key phrase.
{"title":"Web Search Behaviors for Software Development","authors":"K. Nakasai, Masateru Tsunoda, Hideaki Hata","doi":"10.1145/2897586.2897614","DOIUrl":"https://doi.org/10.1145/2897586.2897614","url":null,"abstract":"Software developers often use a web search engine to improve work efficiency. However, web search skill (i.e., efficiency to find an appropriate web site) is different for each developer. In this research, we try to clarify better web search behavior. To analyze web search behavior in programming, we made some questions about programming, and subjects solved the questions. The questions are based on Java language. Based on our experiment, to enhance the effectiveness of the web search, we suggest (1) do not read many search result pages without changing the key phrase, (2) read search result pages or the destination web pages linked to the search results carefully, before making new search, (3) Use new keywords which are not used before, when making a new key phrase.","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"91 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126196649","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Per Lenberg, Emil Alégroth, R. Feldt, Lars Göran Wallgren Tengberg
The ability to manage change is important in software engineering organizations, where rapid progress in technologies and constantly evolving methodologies create a turbulent environment. Research has identified employees' attitudes towards organizational change as a key factor in the change process. Nonetheless, few studies exist that explore such attitudes in a software engineering context. The nature of change efforts is such that they often do not equally affect the various roles in the organization, which indicates that the roles may hold different attitudes. This study aimed to verify the existence of these presumed differences in attitudes towards organizational change between roles in a software engineering organization and to identify factors that contribute to these differences. The result of a survey (N=51) confirmed that there were significant differences, and that the software developers had a more positive attitude towards change and had deeper knowledge about the intended outcome compared to the line managers. The result of in-depth interviews (N=11) revealed that the software engineers evaluate the planned change in relation to the norms, values and standards of their peer group, meaning that an employee will have a positive attitude towards a change if its result is likely to make, or has made, it easier for him/her to uphold the peer group's norms and values.
{"title":"An Initial Analysis of Differences in Software Engineers' Attitudes towards Organizational Change","authors":"Per Lenberg, Emil Alégroth, R. Feldt, Lars Göran Wallgren Tengberg","doi":"10.1145/2897586.2897592","DOIUrl":"https://doi.org/10.1145/2897586.2897592","url":null,"abstract":"The ability to manage change is important in software engineering organizations, where rapid progress in technologies and constantly evolving methodologies create a turbulent environment. Research has identified employees' attitudes towards organizational change as a key factor in the change process. Nonetheless, few studies exist that explore such attitudes in a software engineering context. The nature of change efforts is such that they often do not equally affect the various roles in the organization, which indicates that the roles may hold different attitudes. This study aimed to verify the existence of these presumed differences in attitudes towards organizational change between roles in a software engineering organization and to identify factors that contribute to these differences. The result of a survey (N=51) confirmed that there were significant differences, and that the software developers had a more positive attitude towards change and had deeper knowledge about the intended outcome compared to the line managers. The result of in-depth interviews (N=11) revealed that the software engineers evaluate the planned change in relation to the norms, values and standards of their peer group, meaning that an employee will have a positive attitude towards a change if its result is likely to make, or has made, it easier for him/her to uphold the peer group's norms and values.","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133356419","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Christoph Matthies, T. Kowark, Keven Richly, M. Uflacker, H. Plattner
Linting tools automatically identify source code fragments that do not follow a set of predefined standards. Such feedback tools are equally desirable for "linting" agile development processes. However, providing concrete feedback on process conformance is a challenging task, due to the intentional lack of formal agile process models. In this paper, we present ScrumLint, a tool that tackles this issue by analyzing development artifacts. On the basis of experiences with an undergraduate agile software engineering course, we defined a collection of process metrics. These contain the core ideas of agile methods and report deviations. Using this approach, development teams receive immediate feedback on their executed development practices. They can use this knowledge to improve their workflows, or can adapt the metrics to better reflect their project reality.
{"title":"ScrumLint: Identifying Violations of Agile Practices Using Development Artifacts","authors":"Christoph Matthies, T. Kowark, Keven Richly, M. Uflacker, H. Plattner","doi":"10.1145/2897586.2897602","DOIUrl":"https://doi.org/10.1145/2897586.2897602","url":null,"abstract":"Linting tools automatically identify source code fragments that do not follow a set of predefined standards. Such feedback tools are equally desirable for \"linting\" agile development processes. However, providing concrete feedback on process conformance is a challenging task, due to the intentional lack of formal agile process models. In this paper, we present ScrumLint, a tool that tackles this issue by analyzing development artifacts. On the basis of experiences with an undergraduate agile software engineering course, we defined a collection of process metrics. These contain the core ideas of agile methods and report deviations. Using this approach, development teams receive immediate feedback on their executed development practices. They can use this knowledge to improve their workflows, or can adapt the metrics to better reflect their project reality.","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131590223","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Usability and user centered design (UCD) are central to software development. In developing countries, the gap between IT development and the local use situation is larger than in western countries. However, usability is neither well addressed in software practice nor at the policy making level in Ethiopia. Software practitioners focus on functional requirements, meeting deadlines and budget. The software development industry in Ethiopia is in its early stage. The article aims at understanding usability practices in an Ethiopian software development company. Developers, system analysts, product owners and users were studied. In this first phase of the research, participatory observation, a workshop and interviews with practitioners and operational staff were analyzed. Informal discussions have been observed to outweigh formal meetings for sharing experience and ideas. Practitioners’ internal configuration, their experience, cultural knowledge and common sense regarding the users’ situation guided the design. Prototypes and fast delivery of working versions helped in getting user feedback even if early user focus proved to be a challenge as communication between developers and users suffered from several layers of indirection. Further challenges are the heterogeneity of users to be supported, a lack of awareness of usability methods, and lacking resources
{"title":"Usability Challenges in an Ethiopian Software Development Organization","authors":"Degif Teka, Y. Dittrich, Mesfin Kifle","doi":"10.1145/2897586.2897604","DOIUrl":"https://doi.org/10.1145/2897586.2897604","url":null,"abstract":"Usability and user centered design (UCD) are central to software development. In developing countries, the gap between IT development and the local use situation is larger than in western countries. However, usability is neither well addressed in software practice nor at the policy making level in Ethiopia. Software practitioners focus on functional requirements, meeting deadlines and budget. The software development industry in Ethiopia is in its early stage. The article aims at understanding usability practices in an Ethiopian software development company. Developers, system analysts, product owners and users were studied. In this first phase of the research, participatory observation, a workshop and interviews with practitioners and operational staff were analyzed. Informal discussions have been observed to outweigh formal meetings for sharing experience and ideas. Practitioners’ internal configuration, their experience, cultural knowledge and common sense regarding the users’ situation guided the design. Prototypes and fast delivery of working versions helped in getting user feedback even if early user focus proved to be a challenge as communication between developers and users suffered from several layers of indirection. Further challenges are the heterogeneity of users to be supported, a lack of awareness of usability methods, and lacking resources","PeriodicalId":318848,"journal":{"name":"2016 IEEE/ACM Cooperative and Human Aspects of Software Engineering (CHASE)","volume":"185 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133905023","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}