Download Personality and Pair Programming PDF

TitlePersonality and Pair Programming
Author
LanguageEnglish
File Size1.1 MB
Total Pages134
Table of Contents
                            Table of Contents
Preface
Introduction
	1. Problem Statement / Research Question
		1.1 The Masters Thesis Problem
		1.2. Collaboration Involved in this Thesis
		1.3. The Pair Programming Experiment
			1.3.1. Description
	2. Descriptions of the Chapters
		2.1 Introductory Chapters
		2.2 Coding Chapters
		2.3 Research and Results Chapters
		2.4 Ending Chapters
	3. Definitions
		3.1. Pair Programming
			3.1.1. Claimed Advantages
			3.1.2. Effects
			3.1.3. Critiques
		3.2. Big Five Personality Traits
			3.2.1. Extraversion
			3.2.2. Agreeableness
			3.2.3. Conscientiousness
			3.2.4. Neuroticism / Emotional stability
			3.2.5. Openness to experience
	4. Pair Programming and Personality
		4.1. Previous Related Research
			4.1.1. Hannay, Arisholm, Engvik and Sjøberg
			4.1.2. Dick and Zarnett
			4.1.3. Karn and Crowling
			4.1.4. Williams, Layman, Osborne and Katira
			4.1.5. Barrick, Mount and Judge
			4.1.6. Sfetsos, Stamelos, Angelis and Deligiannis
			4.1.7. Choi, Deek and Im
			4.1.8. Chao and Atli
			4.1.9. Others
Audio File Analysis
	5. Protocol Analysis
		5.1. How to Do It
			5.1.1. Making the Protocol Analyzable
		5.2. Considerations for Making the Coding Schema
			5.2.1. Physical or Social?
			5.2.2. Objectivity
			5.2.3. Exclusivity
			5.2.4. A Priori or Not?
		5.3. Software
	6. Relevant Existing Coding Schemas
		6.1. The Schema of Lan Cao and Peng Xu
			6.1.1 Advantages
			6.1.2. Disadvantages
			6.1.3. Our Use of the Schema
		6.2. The Schema of Sallyann Bryant, Pablo Romero and Benedict du Boulay
			6.2.1. Advantages
			6.2.2. Disadvantages
			6.2.3. Our Use of the Schema
		6.3. The Schema of Anneliese von Mayrhauser and Stephen Lang
			6.3.1. Advantages
			6.3.2. Disadvantages
			6.3.3. Our Use of the Schema
		6.4. The Schema of Kai H. Lim, Lawrence M. Ward and Izak Benbassat
			6.4.1. Advantages
			6.4.2. Disadvantages
			6.4.3. Our Use of the Schema
		6.5. The Schema of Carol K. K. Chan
			6.5.1. Advantages
			6.5.2. Disadvantages
			6.5.3. Our Use of the Schema
		6.6. The Schema of Kathleen Hogan, Bonnie K. Nastasi and Michael Pressley
			6.6.1. Advantages
			6.6.2. Disadvantages
			6.6.3. Our Use of the Schema
		6.7. The Schema of Sallyann Freudenberg, Pablo Romero and Benedict du Boulay
			6.7.1. Advantages
			6.7.2. Disadvantages
			6.7.3. Our Use of the Schema
		6.8. The Schema of by Sallyann Bryant
			6.8.1. Our Use of the Schema
		6.9. The Schema of Gary M. Olson, Judith S. Olson, Mark R. and Marianne Storrøsten
			6.9.1. Advantages
			6.9.2. Disadvantages
			6.9.3. Our Use of the Schema
		6.10 The Schema of Takeshi Okada & Herbert A. Simon
			6.10.1. Our Use of the Schema
	7. The Development of Our Coding Schema
		7.1. Initial Category Draft.
			7.1.1. My Version
			7.1.2. My Fellow Master Student’s Version
		7.2. Combined Categories
			7.2.1. Development
			7.2.2. Usage
			7.2.3. Category Quality
			7.2.4. The Removal of the Least “Polite” Categories
		7.3. Improved Categories
			7.3.1. Meeting
			7.3.2. Tweaks
			7.3.3. New Ideas
			7.3.4. Usage
		7.4. Expanded Categories
			7.4.1. The Table
			7.4.2. New Suggestion
			7.4.3. Individuals or Pairs?
			7.4.4. Usage
		7.5. New Focus Categories
			7.5.1. Comparison to the Previous Ones
			7.5.2. Initial Decisions
			7.5.3. Tests and Implications
		7.6. More Development of New Categories
			7.6.1. Usage
		7.7. The Development of the Final Schema
			7.7.1. Reformatting
			7.7.2. Testing and Early Experiences
	8. Our final Coding Schema
		8.1. Description
		8.2. Category Definitions
			8.2.1. Task Focus
			8.2.2. Begin Characteristics
			8.2.3. Interaction Pattern
			8.2.4. End Characteristics
			8.2.5. Result
			8.2.6. Cognitive Level
	9. Coding the Audio Files
		9.1. Sample Selection
		9.2. Hired Help
			9.2.1 The Task 4 Finder
			9.2.2. The Audio File Coders
		9.3. The Coding Process
		9.4. Parsing
	10. Reliability of the Coding Schema
		10.1. Calibration
		10.2. Reliability Checking
		10.3. Reliability Calculation Approaches
			10.3.1. Initial Approach
			10.3.2. Stricter and More Individualistic Version
			10.3.3. Subcategory Based Approach
		10.4. Reliability Calculation Results
Personality and Pair Programming
	11. Analysis Considerations
		11.1. What Variables to Base Analyses On?
			11.1.1. Personality
			11.1.2. Collaboration
			11.1.3. Performance
		11.2. Relationships to be Investigated
			11.2.1. How Personality Influences Collaboration
			11.2.2. How Collaboration Influences Performance
	12. Research Propositions
		12.1. Literature Based Proposition Suggestions
			12.1.1. Sfetsos et al.
			12.1.2. Dick et al.
			12.1.3. Karn et al.
			12.1.4. Williams et al.
			12.1.5. Hannay et al.
			12.1.6. Williams’ Book
		12.2. Definition-Based Proposition Suggestions
	13. Analysis Description
		13.1. The Partition Platform
			13.1.1. Minimum Size Split
			13.1.2. LogWorth and p-value
			13.1.3. K-Fold Cross-Validation
		13.2. Analysis Procedure
	14. Analysis Results
		14.1.1. P1: Does Personality Affect Collaboration?
		14.1.2. P2: Will Different Personality Pairs Communicate More?
		14.1.3. P3: Does Similar Levels of Extroversion Lead to Less Disruption?
		14.1.4. P4: Will Two Extroverts Discuss a Lot?
		14.1.5. P5: Do Two Agreeable People Small Talk Much?
		14.1.6. P6: Are Metacognitive Statements Made More by Extraverts?
		14.1.7. P7: Does Collaboration Affect Performance?
		14.1.8. P8: Is Elaborative Good for the Performance?
		14.2. Other Findings
			14.2.1. Complete Investigation of Personality Factors’ Influence on Collaboration
			14.2.2. Alternative Formatting for the Collaboration Influence on Performance Table
			14.2.3. Transitive Deductions
End
	15. Possible Validity Threats
		15.1. Categories
			15.1.1. Constructs
			15.1.2. Content
		15.2. Analysis
			15.2.1. Selection
			15.2.2. Confounding Variables
	16. Possible Future Directions
		16.1. Larger Sample
		16.2. Analysis with Other Personality Measures or Methods
		16.3. Long-term Pairing
		16.4. Individual Focus
		16.5. Distributed Pair Programming
		16.6. A Closer Look at the Transitive Relationships
Acknowledgements
References
Appendices
	X1. Coding Schemas
		X1.1. Combined Categories
		X1.2. Improved Categories
			X1.2.1. Explanation for Start and Stop of Clips
		X1.3. Expanded Categories
	X2 Reliability Check Calculation Rules
		X2.1. Score Calculations for the Categories:
	X3. Coding Schema Comparison Table
	X4. Complete Coding Schema Comparison Table
	X5. Calculation for Research Proposition P2
	X6. Definition Based Hypothesis Suggestions
		X6.1. Task Focus (TF)
		X6.2. Begin Characteristics (BC)
		X6.3. Interaction Pattern (IP)
		X6.4. End Characteristics (EC)
		X6.5. Result (Re)
		X6.6. Cognitive Level (CL)
                        
Document Text Contents
Page 1

UNIVERSITY OF OSLO
Department of informatics






Personality and Pair Programming:
How do Pair Programmers Collaborate?





Master thesis
60 credits




Thorbjørn Walle



7. May 2009













1

Page 2

2

Page 67

67


e – Elaborative – The responder and the initiator gradually build up the understanding of a
topic by both contributing with new information.

n – Nonresponsive – A statement followed by complete silence from the other part. A
mumble or acknowledging grunt is enough to make it consensual, rather than nonresponsive.

8.2.4. End Characteristics
The End Characteristics describe how a clip ends.

f – Flow – When the discussion ends “naturally”, and without interruptions or sudden topic
changes.

d – Disruption – If someone changes the topic before the dialog naturally evolves by its own
momentum.

8.2.5. Result
The Result category describes whether or not the discussion leads to a future course of action
or consensus or not.

r – Resolved – Used when the initiating statement is sufficiently discussed and ended, or
when a course of future action is set.

u – Unresolved – The opposite case of resolved; when issues are still hanging in the air,
agreement cannot be made, or misunderstandings persist.

n - Not applicable – When none of the above are suitable, for example in situations with
cross-purpose dialog, and both are satisfied with their own ideas, but none of them have heard
the other person’s comments.

8.2.6. Cognitive Level
The Cognitive Level describes which level of abstraction the dialog is on. Since the
experiment was performed on a problem that most (perhaps all) would be familiar with (a
coffee/drinks dispending machine), and since the programming language in use was the object
oriented Java, it would be likely that the discussion would range from the very programming
specific, and all the way “up” to the conceptual level of the coffee machine.

P – Program Model – Discussions about the code itself. Formatting issues, syntax, library
uses and basic operations are examples of discussions about the program model.

S – Situation Model – Discussions about the interconnections and big picture of the system.
Talk about classes and the flow of methods and calls are examples of this.

D – Domain Model – Discussions that link the system to the real world or talk about the
physical object in which the system is supposed to function.

M – Metacognitive – Discussions about understandings of the task and how it is solved and
other situations that are neither of the above.

Page 68

68

9. Coding the Audio Files

9.1. Sample Selection
The first files we coded were selected randomly. When we a little later decided that we would
not code all the audio files we had available due to time constraints, a selection of some of
them had to be done. The pairs with high or low expertise levels (not medium) were
prioritized. Also, the pairs consisting of Brits were avoided, due to language differences, and
the fact that the coders were all Norwegian of nationality, and had Norwegian as their first
language. Since we initially chose some audio files by random, two British pairs and six
intermediately skilled pairs were included in our selection. In total, we coded 47 audio files,
which mean 47 pairs. We later found out that for three of the codings, task 5 had been coded
instead of task 4. We omitted these codings, since the collaboration in the longer time sink
task, task 5, was probably not directly comparable to that in task 4, so our final sample size
became 44.

9.2. Hired Help
The process of coding the audio files was a large and repetitive job. Efforts had been made to
make the coding schema as objective as possible, meaning that anyone (assuming they had the
proper training and insight into the definitions of the codes) could do the job. For this reason,
a number of Simula people were hired by to help us in this.

9.2.1 The Task 4 Finder
One person worked exclusively on making a time marker for the audio files that marked the
point where the programmers in each file started their work on task 4 (which was the task we
coded). Finding these starting points was reported as taking 10-20 minutes for each file. The
start of task 4 was identified for many, but not all, files. When we, the coders, had to find the
starting points ourselves, it sometime took us much longer than 20 minutes. It was an
especially time-consuming job on files that were generally low on audio quality and for the
files in which the programmers followed an unconventional work pattern, and took
unexpected or long breaks.

For one audio file, I had to abandon trying to find task four, since hours were spent looking
for it, but no task four could be found. Presumably, the programmers unknowingly skipped
the task due to misunderstandings or erroneous use of the forms they were meant to fill in.
The whole time between the end of task three and the apparent start of task five, the audio file
was filled with indications of the programmers taking a break, and there was no relevant
programming discussion anywhere. It is possible that the programmers in the file could have
solved the task during the long section I thought was a break, but considering that task 4 was
the hardest of the non-time-sink tasks, it is unlikely that they felt they had no need to discuss
it at all, especially since they discussed the previous tasks (which were much easier) as
thoroughly as most other pairs did.

We, the coders, checked a random selection of the time codes while they were in the making
to confirm that they were actually indicating task four. We found that the marking of the task
was spot on for all files we checked. The work of the start 4 finder was valuable help that
saved us a lot of time.

Page 133

133

X6.2. Begin Characteristics (BC)

X6.2.1. Question (q)

The conscientious like structure and order, and will probably be interested in information just
as much as suggestions for solution. Therefore, they might ask more passive questions.
3. Conscientiousness mean

X6.2.2. Assertion (a)

Suggestions and assertions imply that the person both actually has in idea, as well as the
willingness to share it. People high on Openness or Extraversion might use this category
more.
3. Openness mean
3. Extraversion mean

X6.2.3. Suggestion (s),

Same as for assertion, but for suggestion, the more diplomatic way of presenting it might be
something that highly agreeable people would prefer.
3. Agreeableness mean

X6.2.4. Imperative (i)

The order-like tendency of imperatives might suggest that agreeable people would use it
more, but like assertion, also openness and extraversion could influence it.
3. Openness mean *
3. Extraversion mean
(-) 3. Agreeableness mean

X6.3. Interaction Pattern (IP)

X6.3.1. Consensual (c)

Consensual answers are both those where it is an expressed agreement, as well as where the
response is less enthusiastic, but there is at least some response. It will be hard to say anything
about this category, but people of slightly low openness or extraversion might use it more.
(-) 4. Openness mean
(-) 4. Extraversion mean

X6.3.2. Stonewalling (s)

Probably the most common users of this category have a slightly low score on the trait
agreeableness.
(-) 3. Agreeableness mean

X6.3.3. Cross Purpose (x)

It is likely that the people somewhat similar in personality and who have high values of
certain traits and not so high on others, will cross-purpose discuss more often.
3. Extraversion mean
(-) 3. Extraversion diff
(-) 3. Agreeableness mean
(-) 3. Agreeableness diff
(-) 3. Openness diff

X6.3.4. Elaborative (e)

Page 134

134

Like in the cross-purpose, the continuing discussion of an “e” might be preferred by people
with somewhat similar personalities.
3. Extraversion mean
(-) 3. Extraversion diff
(-) 3. Agreeableness diff
(-) 3. Openness mean
(-) 3. Openness diff

X6.3.5. Nonresponsive (n)

Nonresponders might use this collaboration-less response since they are introverts and/or non-
agreeable or they might lack understanding of what id discussed.
(-) 3. Agreeableness mean
(-) 3. Extraversion mean * (when measuring % of clips, not when measuring % of time)
(-) 3. Openness mean

X6.4. End Characteristics (EC)

X6.4.1. Disruption (d)

Similar to the cross-purposers, the disrupters might be very extrovert and not so agreeable, but
the category will probably be found most frequently among those with a high openness score,
since they have many ideas.
3. Extraversion mean * (when measuring % of clips, not when measuring % of time)
(-) 3. Agreeableness mean
(-) 3. Openness mean

X6.5. Result (Re)

X6.5.1. Unresolved (u)

Unresolved will perhaps happen very slightly more often when the programmers are very
unlike each other, or when they have a low conscientiousness, openness or extraversion.
(-) 4. Conscientiousness mean
(-) 4. Openness mean
(-) 4. Extraversion mean

X6.6. Cognitive Level (CL)

X6.6.1. Program Model (P)

Conscientiousness people might be paying more attention to the program model, since they
like details and order.
3. Conscientiousness mean

X6.6.2. Situation Model (S), Domain Model (D)

Openness might influence these, since it has to do with big ideas and abstraction.
3. Openness mean

X6.6.3. Metacognitive (M)

Metacognitive statements are probably made more often by extraverted people
2. Extraversion mean

Similer Documents