• Nenhum resultado encontrado

Teaching communication and interpersonal skills in an extreme programming course

N/A
N/A
Protected

Academic year: 2021

Share "Teaching communication and interpersonal skills in an extreme programming course"

Copied!
7
0
0

Texto

(1)
(2)

Teaching Communication and Interpersonal Skills in an Extreme Programming Course

Vinícius Manhães Teles Carlo Emmanoel Tolla de Oliveira

Universidade Federal do Rio de Janeiro Universidade Federal do Rio de Janeiro

Núcleo de Computação Eletrônica Núcleo de Computação Eletrônica

vinicius@improveit.com.br carlo@ufrj.br

Abstract characteristics of university graduates. The results are shown in Table 1 [2].

The major problems of so.ftware development projects

are not so much technical as sociological in nature. The Table 1. Desired Characteristics of University industry seems to agree very much with this statement Graduates (where 1 is the most desired) while the university seems to give it little importance. This

article analyzes the social problems that qffect so.ftware Desired Characteristics of Rank University

development teams with special attention to Graduates Business

communication. lt shows that universities and industry Communication skills 1 7 have different Vie}f'S about what skills students should Capacity to Iearn new skills and 2 5 develop. The article proposes the introduction of an procedures

extreme programming course which can address some of Capacity for cooperation and 3 8

the main concerns expressed by industry. teamwork

Capacity to make decision and 4 3

1. Introduction solve Droblems

Ability to apply knowledge to 5 4

The main emphasis in Computer Science courses is on workDlace

the development of technical skil1s by the students Capacity to work with 6 6 undertaking the course (IEEE/ACM apud Pham, 97). minimum suDervision

This focus on technical skil1s poses problems for the Theoretical knowledge in a 7 1 future professionals when they are supposed to build professional field

information systems where their activities are part of a Capacity to use computer 8 2 team effort. According to DeMarco et al. [1] since they technology

work in teams and projects and other tightly knit working Understanding of business 9 12 groups, they are mostly in the human communication ethics

business. Their successes stem from good human General business knowledge 10 11

interactions by alI participants in the effort. Special work skil1s 11 9

Researches conduced in Australia seem to confirm the A broad background of general 12 10 statement above. In this country, surveys of employers knowledge

have shown that the qualities they consistently rate most

highly in graduates relate to their communication skil1s, This survey indicates that business and universities the.i: abili~ to wor~ togeth~r in t.eams an~ their technical differ in their ranking of the importance of characteristics wntl?g skllls, .besldes thelr ~aslC teChnlCal knowledge. in the graduates in two major areas:

(Busmess Hlgher Educatlon Ro~d Table .~d 1. Communication skil1s, a capacity to learn new Department of Employment, Educatlon and Trammg skil1s and procedures, and a capacity for

apud Keen, 98) cooperation are teamwork. In each of these cases

The .Business/Higher Edu.cation ~ound. Table, the universities rankings and wel1 below those of Australla conducted a survey m 1992 m WhlCh both business particularly in the , area of business and universities were asked to rank the desired commu;ication skil1s.

(3)

2, Theoret~cal knowledge in a professional field and .Incremental change a capacl!y to, ~se computer technology , In these .Embracing change cases umverslties have rated these characteristics . Q I

'

ty k

hh

'

gh

th h ' ua 1 wor

muc 1 er an as busmess. [2] Je les et al, also descnbe a set of practices in [6]ffr..

.., which can be summarized as follow:

These results are conslstent Wlth the vlews of some O .

th I' , .n-slte customer

au ors, lke DeMarco and Llster [1], Goguen and Linde ,

[14] d G

[8]

..User stones

an oguen .They beileve that software

development is strongly affected by social issues, So, it .Ac~ptance tests

cannot be treated in a purely technological way. .Umt tests. ,

Some researchers have been studying methods to. Story Estimation improve the education of software engineering in order to. Small Releases address these social issues, In this paper, the authors .Iteration Planning propose a semester long course on Extreme Programming .Quick design which uses the results of recent works in the field. They .Refactoring

describe some of the characteristics of this methodology For the purposes of this work the authors focus on the and how it addresses some of the problems described so values of communication and feedback, And also give far when taught using the techniques described ahead. special attention to the practices: on-site customer and

pair-programming, 2. Extreme Programming

2.1. Communication In the teaching of software engineering, emphasis is on

the procedures of software development, Software , The ~rst valu~ of XP is communication. Problems development is comprised of requirements elicitation and Wlth proJects can mvariably be traced back to somebody analysis and the design, development and implementation not tai~ing to somebody else about something important. of the system. Technical skills are required to produce a Sometimes a programmer doesn't tell someone else about working system and management skills are required to a critical change in the design, Sometimes a programmer effectively handle the process. However, software doesn't ask the customer the right question, so a critical development activities require additional underlying skills domain decision is blown, Sometimes a manager doesn't -communication skills, problem-solving skills and the ask a programmer the right question, and the project ability to work as a member of a team. [10] progress is misreported.

Extreme Programming (XP) has a special approach to Bad communication doesn 't happen by chance. There deal with the steps required to develop a software system. are many circumstances that lead to a breakdown in In particular, it gives much attention to communication communications, A programmer tells the manager bad and teamwork skills, It began to be developed in 1996, news, and the manager punishes the programmer. A Smalltalk by code developer and consultant Kent Beck customer tells the programmer something important, and with authors Ward Cunningham and Ron Jeffries. XP i~ the programmer seems to ignore the information,

now practiced by programmers worldwide, XP XP aims to keep the right communications f1owing by methodology's success rate is so impressive that it has employing many practices that can't be done without aroused the curiosity of many software engineering communicat~ng .[3, p. ,29].

researchers and consultants. [4] Commumcation IS a fundamental value, since

Extreme Programming (XP) is a lightweight software according to Jeffries et al. [6], successful software development process for small teams dealing with vague development is a team effort -not just the development or rapidly changing requirements [5]. It defines a set of team but the larger team consisting of customers, values and principies that must be followed by project ~anagement, and dev,elopers, Extreme Programming is a team members, According to Beck [3, p.29] the values slmple process that bnngs these people together and helps

are: them to succeed together ,

.Communication Gouguen [8] also express his concems on the subject

.Simplicity of ?uman interaction present on software development

.Feedback proJects and affected directly by communication,

.Courage Acc~rding to h,im, much of the information that

The principies [3, p.37] are: requlrements engmeers need is embedded in the social

.Rapid feedback ,:"orlds ,of use~s and managers, and is extracted through

. A . I' .mteractions Wlth these people, e9 throu gh interviews

ssume slmp lClty , , ...,

(4)

to be informal and highly dependent on its social context students gain and improve skills. The most obvious skill

for interpretation. areas which are involved are interpersonal

communication and group working. However, a suitably

2.2. Pair Programming designed OEGP can ensure that students must consider

the problems of communication with manager and client Pair programming is a style of programming in which and can help improve both report writing and presentation two programmers work side-by-side at one computer, skills. OEGP also assist in getting students to analyze continuously collaborating on the same design, algorithm, problems and synthesize solutions while examining, and

code or test [7]. trying to mitigate the risks of things going wrong, all

In pair programming, two programmers jointly valuable skills for the software engineering project produce one artifact (design, algorithm, code). The two managers ofthe future.

programmers are like a unified, intelligent organism The experience of group project work prepares the working with one mind, responsible for every aspect of students for their subsequent careers where group this artifact. One partner, the driver, controls the pencil, working is the norm. Undertaking open ended projects mouse, or keyboard and writes the code. The other also appears to have the benefit that they force the partner continuously and actively observes the driver's students to think about the problem rather than spending work, watching for defects, thinking of altematives, time searching for the 'correct' answer.

looking up resources, and considering strategic It is also noted that OEGP appear to have measurable implications. The partners deliberately switch roles beneficial effects on student performance in other periodically. Both are equal, active participants in the academic subjects. Improved motivation and greater process at all times and wholly share the ownership ofthe enthusiasm seem to carry over into general performance, work product, whether it is a moming's effort or an entire confidence levels go up and problem solving skills

project [4]. improve so that students are more willing to attempt

Pair programming inherently incorporates basic design difficult tasks. OEGP can also be used to encourage and review phases in the development process. The students to apply theory which should lead to a better programmers must communicate about possible understanding of the theory and thus to improved approaches in order to discuss appropriateness during performance in examinations.

development. Both members review the other's input, a Daniels et al. [9] describe several projects run in the process that increases the developers' ability to perform classroom and they describe the students' reaction.

effective reviews [11 ]. Firstly, feedback from the students has been generally

very positive. In all of the OEGP with which the authors 2.3. Feedback and customer on site have been involved there has been positive feedback from the students both during the module and afterwards. It is Feedback is one of the most important characteristics also noticeable that the ~evels o! motivation of ~e of an extreme programming project and one of the main students appea:e~ to be hJgher WJth better co~pletion reasons why these projects use to progress faster. The rates, less plagJarJs.m and very ~e:".drop OU~ or faJlures. best way to get rapid feedback is to have the customer B~t OEGPs raJse. some cntJCJSm. DanJels et al. [9]

available as much as possible. explams that the ~am concems that ~e expressed when

XP recommends the customer to join the team the use o~ OEGP JS s~ggested relate eJthe: to ~e, use of throughout the entire project. This way the team can have group proJects at ali ( 'weak students get carned , good feedback fast and can fix things early [3 6]. students get 'pulled down"') or to the fact that the

, outcome for an OEGP is inherently unknown i.e. that

3 T h . T h .there is no 'right' answer. The necessity for group

.eac 1Dg ec nlques wor mg JS, owever, ecommg more WJ e y acceptk .. h b .. d 1 ed

now (Ford apud Daniels et al., 02), thus it is the concems 3.1. Open Ended Group Projects about the open ended nature of the project and the need for fair assessment based on problems for which there is a To teach extreme programming and its characteristics, correct answer, which are addressed here.

the authors will use the idea of open ended project groups The obvious counter argument is that OEGP mirror (OEGP). It is a form of experimentalleaming (Kolb apud real life software engineering projects which do not Daniels et al., 02) which can, in principle, be used to usually have known 'right' answers and there is a need to advantage to teach any subject with a practical application assist students to leam this before they start to work. Part

[9]. of this leaming process includes the intrinsically difficult

Daniels et al. [9], state that in addition to supporting process of finding out what the client thinks is required knowledge acquisition, OEGP can be used to help the (Veryard apud Daniels et al., 02), negotiating with the

(5)

client to agree what can be done and, later, explain what Sebem [16] works with the idea of large-scale has actually been done and how it relates to the software development. It proposes a software requirements. An altemative argument is that, ultimately, development laboratory in which teams work for alI criteria are established and judged by people and are, extended periods on large-scale, ongoing projects in the therefore, subjective. Objective criteria are only regarded context of a standardized and evolving development as objective because there is agreement about the process. It's composed of a three-course sequence. 'correct' way in which something should be done, or said. Students in this course believe they have achieved the History suggests that most such agreements change over objectives related to teamwork, process improvement and time and current 'right' way may well be revised later. software development practice.

A different perspective on the fair assessment of This sequence aims to reflect much of the experience OEGP can be provided by considering the way in which in the "real-world". But it is hard to be implemented by science and engineering are advanced. AlI research faculty staff.

projects have unknown outcomes but the methods used to

undertake and present research are common. Thus it is 4. Proposal possible to provide a fair assessment process for OEGP

by focusing on the process which the students use rather The authors propose a semester long course for a class than the product they produce [9]. composed of 20 students. The content is based on the books of Beck [3], Beck and Fowler [13] and Jeffries et

3.2. Motivation and ice-breaking al. [7].

The introduction of extreme programming teaching to Ratcliffe et al. [15] describe the adoption of an integral computer science undergraduate courses is not new. It has activity weekend as part of the faculty's introductory already been described in the works of Shukla and software engineering course and a second weekend to Williams [12] and Miiller and Tichy [5].

reinforce industrial awareness in the student's second Shukla and Williams [12] describe a course based on a

year. 16-week semester class where the students completed

These weekends have been developed to improve four Java programming projects during the course of the motivation and staff-student relations, emphasizing on semester. Three of the projects were completed as the life skills and adaptability .The idea is to introduce students were leaming and using more traditional students to the concept of team skills. With specific software development practices. These practices were attention to personal challenge and team dynamics, these based on the Collaborative Software ProcessSM weekends where carefully designed to both improve (CSPSM) developed by Williams.

motivation and enhance the general employability of the They found that one semester is not long enough to

students. teach two very different methodologies nor for the

They follow a series of specially tailored outdoor students to perform meaningful assignments using two activities that are designed to promote self and inter- very different methodologies.

personal skills through a series of shared group Furthermore, the students didn't work at alI times co-experiences. The activities are personally challenging and located and with a customer on site. So, the experience are heavily teamwork oriented. They cannot be carried didn't reflect the work of a real extreme prograrnming out successfully without group co-operation and group project where co-location is extremely recommended and

encouragement. the customer should be present.

Ratcliffe et al. [15] state that the response from the Miiller and Tichy [5] developed an extreme weekends is overwhelming. The students obviously enjoy prograrnming course where, in the first three weeks themselves a great deal but more importantly they leam a students solved small prograrnming exercises to great deal about themselves and working with others. It familiarize themselves with the programming seems that the students leam far more about team environment and to leam XP practices. The exercises working in one weekend than could have beentaught to introduced jUnit (the testing framework used throughout them through a whole series of class projects. the course), pair prograrnming, the test practices of XP Although the approach is very interesting and effective, (write test cases before coding, execute them the costs are high. Considering the limitation of resources automatically with jUnit), and refactoring. The remaining that affect many universities, it's necessary to find a way eight weeks were devoted to a project on visual traffic to implement these weekends with lower costs. simulation. The course language was Java. AlI students

had experience with Java from their early undergraduate

(6)

As in the case described by Williams, the students These are 4 hour classes once a week. In the first hour didn't work at alI times co-located and with a customer on the teacher will ask the students about the text they've

site which brought some problems. read along the week before the class. In the second hour

The proposal of this paper tries to overcome the the teacher will give a lecture on the subject of the class. problems found in both cases. Firstly, it focuses only in And in the remaining two hours the students will work on one methodology , the extreme prograrnming. Secondly, the project.

the students will work only in one project through the The authors expect to overcome the problems found in course. And they will develop software during the previous experiments of this type. And hope the students classes, so they will a1ways be co-located and will always will improve their communication and teamwork skills. have the customer on-site.

Rea1 world problems with real clients seem, initially, 5. Conclusion and Future Work to be idea1. The real clients can explain the problem and

interact with the students. However, this ignores the This paper began describing the concems of the educational issues, which may also result in very industry with graduate standards in the areas of dissatisfied clients. The client has a problem and would communication and interpersonal skills. Both empirical like a solution. The students are undertaking the task of research and anecdotal evidence confirms that industry solving the problem, not primarily to produce a solution remains strongly concemed over the teaching ofthis area. but to leam how to solve problems like this and to gain The authors suggest the introduction of and extreme

academic credit for their attempts. prograrnming course to address some of these concems.

Research projects can be an excellent way of offering They also present some characteristics of extreme the benefits of having real clients who have realistic prograrnming and previous experiences of this type. expectations of the likely outcomes. However, it is still Fina1ly, they describe the structure ofthe proposed course necessary to recognize that the educationa1 outcomes which is already underway at Federal University of Rio must take precedence for the students over the research de Janeiro.

objectives. [9] This experiment is the first of a series of experiments

This idea will be used in this course. The project will the authors intend to put in action in their research which be the development of software to support the dissertation looks for new ways of teaching software engineering in of a graduate student who will act as the customer alI over order to shorten the gap between industry expectation and the course. This approach is interesting, because the university expectation. The results of this experiment will teacher won 't act as the customer. He will act as the be available in the future in the form of a new paper . coach of the team. This project will use Java as its

development language. References

The class will be divided in two to form two teams of

10 students each. In each team, the students will always [I] T. DeMarco, T. Lister, Peopleware Productive Projects and work in pairs. They will practice pair-programming at ali Teams, Dorset House Publishing Co., New York:, 1987. times following the recommendations of Williams et at.

[4][7]. [2] C Keen, C Lockwood, J. Lamp, ..A Client-focused,

Team-The students will be evaluated in two ways, according of-Teams Approach to Software Development Projects", to their individual achievements and their behavior Proceedings of Software Engineering Edllcation & Practice

working in the team. (SE: E&P '98), IEEE Computer Society Press Dunedin, 34-41

Every week the teacher will propose a reading [3]

K B k,Ext P . Ex ' .

d E b

..ec reme rogrammmg p,alne -m race

assignrnent for the students. They wlll have to read a text Change Addison Wesley 2000.

and answer the questions posed by the teacher in the next ' ,

class. The texts are used so that students can leam more [4] L. Williams, R.Kessler, W. Cunningham, R. Jeffries, about each characteristic of the methodology .This "Strengthening the Case for Pair Programming", IEEE Software, eva1uation will represent ha1f of the week grade. vol. 17, pp. 19-25, July 2000.

The other half is based on teamwork. Students will be

observed while they work in pairs and the teacher will [5] M. Miiller, W. Tichy, ..Case Study: Extreme Progranuning grant the marks according to the way they communicate in a University Environment", Proceedings of the International

.th th .

d th th t te Conference on Software Engineering 2001 ( ICSE 2001).

Wl e palr an e o er earnma s.

The teacher won't evaluate the final product, but only [6] R Jeffries A Anderson, C Hendrickson, ..Extreme the process in which students build the product. So, the Pro~g ~tall~d", Addison-W~sley, 2001.

student's are not supposed to work on the project when they are not in class.

(7)

[7] L. Williams, R. Kessler, "A11 I Rea1ly Need to Know about 15'h Conference on Sofiware Engineering Education and Pair Programming I leamed in Kindergarten," Communications Training (CSEET'02).

ofthe ACM, vol. 43, pp. 108-114, May 2000.

[8] J G " R . ts E .. th [13] K. Beck, M. Fowler, Planning Extreme Programming,

.ouguen, il.. eqwremen ngmeenng as e Add.

W

1 2001

fT hni a1 dS .a1I

" .

R . ts ISOn es ey, .

Reconc latlon O ec C an OCl ssues , m equlremen Engineering: Socia1 and Technica1 Issues, edited with Marina

Jirotka, Acadernic Press, 1994, pp. 165-199. [14] J. A. Goguen, C. Linde, "Techniques for Requirements Elicitation", Proceedings of Requirements Engineering (RE '98), [9] M. Daniels, X. Fau1kner, I. Newman, "Open Ended Groups IEEE Computer Society, 1998, pp. 152-164.

Projects, Motivating Students and Preparing them for the 'Rea1

World"', .Proceedings of the .1.5'h Confer~nce on Software [15] M. Ratcliffe, J. Woodbury, L. Thomas, "Improveint Engmeermg Educatlon and Trammg (CSEET 02). Motivation and Performance Through Persona1 Development in

" ...Large Introductory Software Engineering Courses",

[10] A. Goold, P. Horan, Foundatlon Software Engmeenng Proceedings of the 15th Conference on Sofiware Engineering Practices for Capstone Projects and Beyond", Proceedings of Education and Training (CSEET.02).

the 15th Conference on Sofiware Engineering Education and

Training (CSEET'02). [16] M. J. Sebem, "The Software Development Laboratory:

Incorporating Industria1 Practice in an Academic Environment", [11] J. Bevan, L Wemer, C. McDowell, "Guidelines for the Use Proceedings of the 15th Conference on Software Engineering of Pair Prograrnming in a Freshman Prograrnming Class", Education and Training (CSEET.02).

Proceedings of the 15th Conference on Sofiware Engineering

Education and Training (CSEET'02). [17] B. Pham. "The changing curricu1um of computing and information technology in Austra1ia". In r Australasian SIGCSE Conference, pages 149-154, The University of [12] A. Shukla, L. Williams, "Adapting Extreme Prograrnming Me1boume, Ju1y, 1997.

Referências

Documentos relacionados

Este estudo teve como objetivo verificar as respostas hemodinâmicas agudas imediatas de pressão arterial, freqüência cardíaca e duplo-produto em um indivíduo

Algumas das características clínicas e radiográficas dos pacientes com ângulo do plano oclusal aumentado (tipo facial hiperdivergente) são: ângulo do plano oclusal

[...] de que forma será aferida a culpabilidade própria do ente coletivo nos termos legais propostos, já que a responsabilidade penal objetiva é vedada constitucionalmente

A partir del marco teórico y del contexto expuesto, se trabaja en el objetivo planteado para la investigación, entender qué escala y qué enfoque acerca de relaciones sociales

O excesso de gordura ingerido não pode ser armazenado no fígado, então a VLDL irá transportar este excesso principalmente para a LPLa, pois no tecido adiposo há uma

Desta forma, propõe-se que esses resíduos, após modificação química e impregnação de óleo, sejam utilizados como fontes de alta energia no preparo de rações para aves.. O

Neste contexto, será avaliado o impacto da tarifa dinâmica (de acesso às redes) na fatura de energia elétrica da rede de Metro do Porto, identificando em que medida a exposição de

Excetuando-se as sortes, que sao um dos mais antigos processos de adivinhacao e mediante as quais tantos consules se elegeram (mais ou menos honestamente), as