Supporting Developers’ Teamwork – Anja Guzzi

Rob Deline of Microsoft (RD): What would you do differently if you would evaluate Cares in an open source setting instead of in a company?

Anja Guzzi (AG): First I would redo the survey to verify the requirements are the same for this setting. But I would not expect big difference.

RD: Well, in an open source setting the group is bigger and they might not know each other that well.

AG: In Cares we use an avatar, and this might be familiar with the anyway as they use Skype. And, also in Microsoft not everyone know each other that well, we saw that in the study

RD: How would you change James and Pollicino if you could do anything in the IDE?

AG: James and Pollicino are prototypes, they were the simplest thing that I could build, so in an ideal setting I would still do the same.

RD: What I like about your dissertation work is that it takes place in two world: both in industry and in open source. In companies, you interviewed people, and in open source you looked at artefacts like the code. This is a rare thing. Each of these have different challenges and approaches. Can you comment on that?

AG: It is actually not that different, because my approaches are lightweight.

Michele Lanza (ML): You worked on code ownership, which typically looks at lines of code or classes. But what about ownership? That often transcends file boundaries.

AG: It is often hard to define ownership, for developers too. When we asked them in studies who the owner of a part of code was, we often got a long response. It is not just who last changed a file, also who blogs about it or makes a video. If we want to support developers in this, we have to know what they would need. In the interviews, they expressed their wishes to get infor at the line level.

ML: Your thesis talks a lot about content generation (like live-blogging in the IDE, felienne) What do you do with the info afterwards? Do you save it?

AG: If you are going to save info, it is of course hard to know what you should save. For example, in Policino, if you have a bookmark on a line and the line changes, what happens to the bookmark? Maybe it should disappear, or slowly fade over time.

ML: The whole thesis is about helping developers, but this is like with children. If you spoil them, you get spoiled children. Shouldn’t we draw a line somewhere or we will get soft developers.

AG: Well, you have spoiling and helping, they are different. An IDE is also a tool, should we take that away too? I am not sure what you mean with spoiling?

ML: If you have a tool that tells a developer where to look, he will not go on and look for information myself.

AG: I am not sure I would build such a tool. We just tell developers who touched code and when, so they can make an informed decision. We are just saving them time

ML: Question on proposition 2:

“To obtain a honest scientific output, the individual contributions of each author of a publication should be explicit.”

How would you implement this?

AG: There are different roles: doing the research, supervising, fund raising. This should be made different, because this is now all the same. This will be more honest and also helps hiring. If I am looking for a job as supervisor, I can show I successfully helped a PhD write. It will also bring standardization, because now some do it alphabetically and others based on the amount of work. There would have to be more research, but maybe something with badges.

ML: 2015-03-30 13.12.40

Can you explain the direction of the arrows?

AG: <<I missed the answer, sorry, Felienne>>

ML: A question on proposition 10:

“One can measure how civilised a country is by measuring the ratio of people picking up their dogs’ poop.”

If this were true, my county would be lowest.

AG: Well, this might be true if we measure civilization in being polite and nice, maybe it is true.

Patricia Lago (PL): Sharing knowledge and information have been discussed in software engineering before? What exactly is your contribution?

AG: With Cares I showed that having picture in the IDE encouraged people to share information and they felt more like a team.

PL: The problem is that people are not actually payed for sharing information. Do you think people are more incentivized by your tools?

AG: I tried to make the tools light-weight and the goal is, in the first place, to help themselves. The bookmarks for example, really help me in code comprehension. Then, I can share the infor with others. It is really the intention that the first guy already benefits.

PL: Did you see increased productivity with your tools?

AG: I did not do this, but there is an extensive body of work in which it is shown that better teamwork increases productivity.

PL: On this figure:

2015-03-30 13.21.53

What you observe is that users regular use the tool. But you have all this data, couldn’t you learn more? For example, some use the tool more frequently over time and some less. Does this say anything about how much they liked your tool?

AG: Nice question! I would have loved to do a 3rd internships at Microsoft, but unfortunately there was no more time. And, from other studies we know that if users use it at all, they must like it, or they would disable it. And, beware a dot is opening the IDE, not our plugin separately, so if there

Alan Hanjalic (AH): I am not from the SE field. If we apply your work to any other type of creation, like any industrial process: a consultancy company for example. They too exchange information and together build things. What conclusions would still hold?

AG: My thesis starts with two extensive studies looking at the information needs of developers, looking specifically at their needs in the IDE. If I would do this study for another field, I would again do something like that: a study.

AH: But I wonder if there are generic principles? You research in a multi-cultural setting at Microsoft, what if we change this setting? There are many people working on these types of issues? Why do we need a SE study for this? How do you know you have taken previous papers into account?

AG: You are right, sometimes software engineers do not take this into account, but I did in my first studies. So I do not think I missed anything.even if I did not pick the best method, I did go out, talked to people and tried to understand the problem and that always helps.

AH: But in other field, people struggle with understanding communication and you seem so comfortable with it, that intrigues me.

AG: You are right, there is always inspiration to be taken from other fields. This is why we do not do data analysis only, we also do qualitative analysis. And, this should be a two-way process. Why do other fields do not come and study our developers? We need to do it ourselves.

Rini van Solingen (RvS): Your work focuses on the IDE, but you also cite studies that developers spend much of their time outside of the IDE. Why did you focus on the IDE, while they often do something else?

AG: Well, the paper says they are ‘coding’, they can also do code comprehension. And, consider this slide:

2015-03-30 13.38.52

You can clearly see that tools that are in the IDE are more effective.

RvS: But, aren’t we looking at this the wrong way, like when people still taught the earth was flat. Is it not the case that teamwork is the center and all other things, like the IDE float around it?

AG: In contract with the catholic church, these two views are not fighting each other. Yes, communication is central, but for my work I investigated communication about code and for that they need to be close to the code.

Martin Pinzger (MP):  Cut off due to ‘Hora Est’, this concludes the live blog!