Results 1 - 10
of
14
On the necessity of empirical studies in the assessment of modularization mechanisms for crosscutting concerns
- IN: ICSE WORKSHOP ON ASSESSMENT OF CONTEMPORARY MODULARIZATION TECHNIQUES (ACOM’07)
, 2007
"... Collaborations are a frequently occurring class of crosscutting concerns. Prior work has argued that collaborations are better implemented using Collaboration Languages (CLs) rather than AspectJ-like Languages (ALs). The main argument is that aspects flatten the objectoriented structure of a collabo ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
Collaborations are a frequently occurring class of crosscutting concerns. Prior work has argued that collaborations are better implemented using Collaboration Languages (CLs) rather than AspectJ-like Languages (ALs). The main argument is that aspects flatten the objectoriented structure of a collaboration, and introduce more complexity rather than benefits – in other words, CLs and ALs differ with regard to program comprehension. To explore the effects of CL and AL modularization mechanisms on program comprehension, we propose to conduct a series of experiments. We present ideas on how to arrange such experiments that should serve as a starting point and foster a discussion with other researchers.
Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study
"... Agile development methodologies have been gaining acceptance in the mainstream software development community. While there are numerous studies of Agile development in academic and educational settings, there has been little detailed reporting of the usage, penetration and success of Agile methodolo ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Agile development methodologies have been gaining acceptance in the mainstream software development community. While there are numerous studies of Agile development in academic and educational settings, there has been little detailed reporting of the usage, penetration and success of Agile methodologies in traditional, professional software development organizations. We report on the results of an empirical study conducted at Microsoft to learn about Agile development and its perception by people in development, testing, and management. We found that one-third of the study respondents use Agile methodologies to varying degrees, and most view it favorably due to improved communication between team members, quick releases and the increased flexibility of Agile designs. The Scrum variant of Agile methodologies is by far the most popular at Microsoft. Our findings also indicate that developers are most worried about scaling Agile to larger projects (greater than twenty members), attending too many meetings and the coordinating Agile and non-Agile teams. 1.
A Distributed Cognition Account of Mature XP Teams
- XP 2006, LNCS 4044(2006
"... Abstract. Distributed cognition is a framework for analysing collaborative work. It focuses on interactions between people, between people and their environment and between people and artefacts that are created and manipulated in the course of doing work, and it emphasises information flow and infor ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Abstract. Distributed cognition is a framework for analysing collaborative work. It focuses on interactions between people, between people and their environment and between people and artefacts that are created and manipulated in the course of doing work, and it emphasises information flow and information transformation. Analyses conducted using the distributed cognition framework highlight breakdowns and potential problem areas in the collaborative work being studied; distributed cognition has been used to study a wide variety of collaborative work situations. XP teams are highly collaborative, relying heavily on interactions between team members and their environment. In this paper we present accounts of four mature XP teams based on the distributed cognition framework. 1
Development
"... Abstract. This paper presents preliminary results from a narrativeethnographic field study of a small mobile software development company. Initial ethnographic findings are presented, and further narrative analysis is proposed in the areas of stories relating to programmer stereotyping, war stories, ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. This paper presents preliminary results from a narrativeethnographic field study of a small mobile software development company. Initial ethnographic findings are presented, and further narrative analysis is proposed in the areas of stories relating to programmer stereotyping, war stories, and humour. It is expected that the study will form the first case-study for a broader comparative investigation into how stories are used and told across software development methodologies.
Knowledge and reasoning about code in a large code base. TeamEthno-online Issue 2
, 2006
"... In this paper we discuss how programmers maintain and develop code as part of a large code base. We discuss instances of how programmers reason about interdependencies in code, how programmers decide the location of the particular code to be changed in improving software functionality, and how progr ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
In this paper we discuss how programmers maintain and develop code as part of a large code base. We discuss instances of how programmers reason about interdependencies in code, how programmers decide the location of the particular code to be changed in improving software functionality, and how programmers reason about what code can form the basis for a new piece of code. All three examples are of occasions where programmers, for one reason or another, have discussed with other programmers the issues to do with their code. Such talk makes reasoning, which might otherwise be done privately ‘in the programmers head’, observable. Through our analysis of the examples of observed reasoning we wish to draw attention to how knowledge is produced, exhibited, demonstrated and deployed in maintaining and developing the code base.
What happens during pair programming
- In Proceedings of the 20th Annual Workshop of the Psychology of Programming Interest Group (PPIG ’08
"... Abstract. Successful qualitative analysis of pair programming requires a terminology (such as a set of concepts or a coding scheme) that represents the observed phenomena on an appropriate abstraction level. On the one hand, different analysis goals will require different specialized terminology, on ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract. Successful qualitative analysis of pair programming requires a terminology (such as a set of concepts or a coding scheme) that represents the observed phenomena on an appropriate abstraction level. On the one hand, different analysis goals will require different specialized terminology, on the other hand it would be helpful, if different studies used common terminology so that comparing and combining their results will be easier. We suggest to define terminology in layers: a PP foundation layer that is common to all analyses and more specialized study-specific layers on top. The present article presents this foundation layer which we have derived from audio/video analysis of pair programming sessions in Grounded Theory investigation style. Its concepts describe the individual observable human-to-human utterances and human-to-computer activities that occur during pair programming. 1
Job Satisfaction and Motivation in a Large Agile Team
"... Abstract. Agile software development processes emphasize team work in small groups as one of the features that contribute to high software quality and knowledge dispersion among developers. Research supports claims that agile methods also lead to higher motivation and job satisfaction among develope ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. Agile software development processes emphasize team work in small groups as one of the features that contribute to high software quality and knowledge dispersion among developers. Research supports claims that agile methods also lead to higher motivation and job satisfaction among developers. Research in workplace psychology indicates that factors like autonomy, variety, significance, feedback, and ability to complete a whole task are significant factors to ensure satisfaction and motivation among workers. In this case study, we show, through the analysis of semi structured interviews with software developers and business representatives, that large teams continuously adapting the SCRUM methodology are able to ensure these empowering factors, and thus ensure a staff of motivated and satisfied software developers. The study presented is based on data from an agile project involving 70 people (including 30 developers) building a software product for the oil & gas industry.
Problems and solutions: Maintaining an integrated system in a community of
"... Motivation. Software maintenance is a significant part of the software life-cycle cost. Current research focuses on the maintenance of application software. Despite increased focus on systems integration, there is limited research on maintaining integrated systems. Before progressing with informing ..."
Abstract
- Add to MetaCart
Motivation. Software maintenance is a significant part of the software life-cycle cost. Current research focuses on the maintenance of application software. Despite increased focus on systems integration, there is limited research on maintaining integrated systems. Before progressing with informing software integration practice, researchers therefore need to better understand the actual work of maintaining integrated systems. Research. To this end, a study of maintaining an integrated system in practice has been conducted. The study is conducted in the context of a community of volunteer software integrators. The research combines field studies with document analysis, asking: RQ1: How is knowledge of software failures developed during geographically distributed software maintenance? RQ2: How do software developers build knowledge of how to replace a businesscritical software system? RQ3: What are the characteristics of large-scale software maintenance work in a geographically distributed community of volunteers? Contributions. The main empirical contribution offered by this thesis is insight into the social
7 Types of Cooperation Episodes in Side-by-Side Programming
, 2008
"... In side-by-side programming, two programmers (typically working on related aspects of a project) move their computers so close to one another that they can effortlessly change between working alone and working together, where working alone is the primary mode. The technique was proposed in order to ..."
Abstract
- Add to MetaCart
In side-by-side programming, two programmers (typically working on related aspects of a project) move their computers so close to one another that they can effortlessly change between working alone and working together, where working alone is the primary mode. The technique was proposed in order to obtain some of the advantages of pair programming at much lower overhead. As a first step towards understanding how and when to use side-by-side programming, the present study aims at describing when and for what purpose side-by-side programmers get together to cooperate. The main result is a classification of the cooperation episodes by purpose and content into different types: Exchange project details, Exchange general knowledge, Discuss strategy, Discuss step, Debug work product, Integrate work products, and Make remark. These types were derived via the Grounded Theory method and are described conceptually in terms of the types of events of which they consist. All concepts used in these descriptions are grounded in actual observations.
Ethnomethodological Enquiry
"... Abstract. This paper examines reading as done by programmers engaged in software development. Reading is an activity we feel should be of fundamental interest to studies of programming, but the practical achievement of which has not been closely examined. We give examples of programmers reading in p ..."
Abstract
- Add to MetaCart
Abstract. This paper examines reading as done by programmers engaged in software development. Reading is an activity we feel should be of fundamental interest to studies of programming, but the practical achievement of which has not been closely examined. We give examples of programmers reading in pairs, and reading alone, and show reading in both cases to be explainable in terms of shared social practices. These practices are not determined by the code but nor are they purely socially constructed; rather they lie in the linkage between the code and programmers ’ ways of reading the code. We discuss (1) how features of day-to-day coding work create pertinent occasions for reading a certain piece of code, (2) how programmers order and expect there to be an order to code, and (3) how programmers have ways of analysing code in order to make sense of it. This is an ethnomethodological study that draws from ethnographic fieldwork at a professional software development company.

