Team Programming Influencing Factors: a Field Survey
Total Page:16
File Type:pdf, Size:1020Kb
TEAM PROGRAMMING INFLUENCING FACTORS: A FIELD SURVEY Journal of Information Technology Management ISSN #1042-1319 A Publication of the Association of Management TEAM PROGRAMMING INFLUENCING FACTORS: A FIELD SURVEY KYUNGSUB STEVE CHOI COMPUTER INFORMATION SYSTEMS DEPARTMENT MANHATTAN COLLEGE, RIVERDALE, NY 10471-4098 [email protected] ABSTRACT A field survey was carried out on a group of professional programmers to locate influencing factors on team programming or pair programming productivity. From the collected responses, a variety of factors was presented. The most popular factor was “personality” and the second was “cognitive/programming style,” followed by “communication,” “programming skill,” “ability to work with others,” and other factors. There were altogether some twenty factors. The results were further broken down into a number of sub-groups: ten or more years of programming experience, less than ten years of programming experience, twelve months or more of pair programming experience, less than twelve months of pair programming experience, management, and non-management. Overall, the experienced and management groups placed more importance on human factors such as “ability to work with others,” whereas the less-experienced and non-management groups gave more weight to technical factors such as programming skills. The results connote the underlying psychosocial interactions present in the team programming environment. Overall, human factors such as “personality” were perceived to be more significant than technical factors on pair programming productivity. Keywords: team: team programming, pair programming, extreme programming MOTIVE However, studies that focused on the programmers” cognition, personal attributes, and the As an alternate option in software and system interaction between the pair in PP context have been very development, agile software development limited. Since programming is, after all, a human activity (www.agilealliance.org ) [3] offers an array of and a very demanding cognitive exercise, it is hard to unconventional tactics and tools in dealing with today’s ignore the importance of the psychosocial interaction volatile and demanding business ecosystem. Among these between the programmers [9]. Hypothetically, the team unconventional techniques, pair programming (PP) programming experience and its output are perceived to features an unorthodox programming style of two reflect many underlying psychosocial interactions. To programmers coding a program together in real-time further this interest, an open field survey on a group of while sharing one monitor and keyboard [10]. The two professional programmers is set forth. programmers are cognitively engaged to each other, collaborating in code designing, coding, and testing. The unprecedented high levels of code efficiency, code quality, SURVEY PREPARATION and programmer satisfaction have been well publicized A large pool of professional pair programmers [4],[10]. was targeted. Searching for the widest variety of careers, Journal of Information Technology Management Volume XVIII, Number3-4, 2007 1 TEAM PROGRAMMING INFLUENCING FACTORS: A FIELD SURVEY positions, experiences and industries, the Internet was Demographics of Respondents used to conduct the survey. A message thread requesting In total, forty-four responses were received participation was posted. Most online groups, under the through email or as a response messages. Due to extreme programming (XP) topic category, were named confidentiality concerns, most responses came via email. either by their geographic locations or XP applications. Two responses were posted as messages. Judging by the Some typical group names were “Chicago-agile-dev” for names of the groups and email addresses, the participants Agile Development group in Chicago, “xptoronto” for an seemed to be from many different parts of the world, from XP interest group in Toronto, Canada, and “xp-at-school” nearby Canada to Europe. Chart 1 provides the for XP in classroom usage. participants’ career profiles. The participants were mostly After some career profile questions, the main software engineers and developers, but a noticeable portion of the survey consisted of a list of possible PP number of people working in software management also productivity maximization success factors (or impact participated. The complete list of job titles was factors) and provisions for any additional factors that the Programmer, Programmer Analyst, Vice President of IT, participants might have wanted to add. The given factors Chief Technical Officer, Software Developer, Consultant, were gender, programming skill, cognitive/programming Java Architect, IT Analyst, Software Engineer, Assistant style, personality, familiarity, fluency in English Professor, Software Architect, Project Engineer, Product (communication), and pair protocol. The survey was Developer, System Architect/ Designer, Developer, posted on various XP online forums of portal websites Senior Technical Manager, Team Partner, Vice President and monitored daily. of Engineering, XP Coach, Director of Software Here are the brief explanations of given factors; Engineering, Director of Consulting, and Technical Personality - Pair programming is not only a Consulting. In Chart 1, jobs with similar capacities are programming activity, but a social activity as well [5], grouped together. For example, Software Architect, [11]. The general consensus is that a typical programmer Project Engineer, and Programmer are placed under the is a “detached” personality type [9]. In PP where collaboration is essential, it would be interesting how software engineers and developers category . A wealth of such “detached” personalities interact. different industries and fields were represented (Chart 2). Cognitive/Programming Style - Programming is perceived The most common industry was software, followed by to reflect an individual ”s unique problem solving finance and consulting. The other industries were approach [2], [6]. Given this subjective factor, the telecommunication, healthcare, automotive, education, collaboration of two different or similar cognitive styles publishing, trading, and insurance. of individuals in PP context is an interesting question. However, “cognitive/programming style” is not The most interesting attribute is probably the equivalent or even similar to “personality” in this survey. length of programming experience. The survey asked the Familiarity - This addresses the comfort level that is respondents for the length of experiences for both generated by two programmers. It can be defined broadly programming experience in general and for pair as two programmers who have worked together for many programming experience (Chart 3). years, and have similar backgrounds. Fluency in Chart 3 shows that the respondents are very English/Communication - The face-to-face experienced in programming, with an average of fifteen communication between the pair programmers may be the years of programming and a maximum of 44.5 years. single most important factor for successful collaboration.” With standard deviation being 10.7 years, the “Fluency in English” was chosen because the programming years range from five to twenty-five years. questionnaire was written in English and it was Pair programming experience was also well established anticipated that mostly English-speaking professionals in with an average of twenty-one months. The fact that the English-speaking countries would take the survey. More respondents had professional programming experience important is how communication, in whatever language, gave substantial validity to the survey results. The typical is perceived to impact PP productivity. Pair Protocol - participant could be depicted as a software developer who This refers to a set of structured or semi-structured works at a software development organization and has guidelines for pair programmers to use during PP. It is be nearly two years of PP and fifteen years of professional a list of action items that the pair adheres to besides the programming experience. The gender distribution was continuous designing, coding and reviewing. One predominantly male as only five of forty-four participants example is how often the pair should switch being the were female. Many indicated interest in the survey’s “driver.” A few previous empirical XP studies [7], [8] outcome, which indicates the relevance of the survey. suggest the need for such guidelines. Journal of Information Technology Management Volume XVIII, Number3-4, 2007 2 TEAM PROGRAMMING INFLUENCING FACTORS: A FIELD SURVEY Career Representation SW En g/Dev O th e rs SW M gm t 5% SW Mg m t O th e rs 1 4% SW Mgmt ( VP of IT, Chief Tech Officer, Sr. Tech Mgr, VP Eng., Dir. Of SW Eng., Dir. Of Consulting ) SW En g /Dev Others 81 % ( Univ. Professor, XP coach) Chart 1 Career representation Industry Distribution SW Com pa n y Con su ltin g Oth e rs Financial 29% Oth ers SW Compan y 42% Others ( Telecomm, Healthcare, Financial Automotive, 1 9% Con su ltin g University, 1 0% Publishing, Trading, Prod Lifecycle Mgmt) Ch art 2 Demographic of Industry Distribution Journal of Information Technology Management Volume XVIII, Number3-4, 2007 3 TEAM PROGRAMMING INFLUENCING FACTORS: A FIELD SURVEY Professional Program m ing Experience 20+ 1 3 1 5- 20 1 0 Ma x = 44. 5 yea rs Min = 0. 5 yea r Yea rs 1 0- 1 5 5 Avg = 1 5. 25 6- 1 0 5 yea rs Std D ev = 1 0. 70 3- 6 4 <3 5 0 5 10 15 Num ber of Participants Chart 3: Professional Programming Experience. Pair Program m ing Experience 36+ 9 33- 36 0 30- 33 3 27- 30 0 24- 27 4 M a x = 72 m o n th s M 21 - 24 1 o n th s Min = 1 m onth 1 8- 21 5 Avg = 21 1 5- 1 8 0 m o n th s Std D ev = 1 8. 05 1 2- 1 5 5 9- 1 2 3 6- 9 3 3- 6 3 < 3 6 0 5 10 Num ber of Participants Chart 4: Pair Programming Experience Journal of Information Technology Management Volume XVIII, Number3-4, 2007 4 TEAM PROGRAMMING INFLUENCING FACTORS: A FIELD SURVEY SURVEY RESULT ANALYSIS by the respondents. Each factor also shows the number of votes it received. The first, second, and third place votes There were some difficulties in decoding the indicate the varied perceptions of importance for each submitted data.