web collaboration for software engineering

39
WEB COLLABORATION FOR SOFTWARE ENGINEERING Tiago Mourão Teixeira Supervisor: Ademar Aguiar, Co-supervisor: Nuno Flores MIEIC - 17 July 2009

Upload: tiago-teixeira

Post on 28-Oct-2014

12 views

Category:

Education


0 download

DESCRIPTION

My presentation for my master thesis. Main contents are: - Research on CSCW, Groupware, Social Software and Software Engineering - Analysis of 47 Software Engineering tools - Web prototype developed in Ruby on Rails - Experiment for testing the prototype It's in English.

TRANSCRIPT

Page 1: Web Collaboration for Software Engineering

WEB COLLABORATION FOR SOFTWARE ENGINEERING

Tiago Mourão Teixeira

Supervisor: Ademar Aguiar, Co-supervisor: Nuno Flores

MIEIC - 17 July 2009

Page 2: Web Collaboration for Software Engineering

2

PRESENTATION OUTLINE

Collaboration: What and why?

Background on collaboration research areas

Collaborative Software

Software Engineering Tools

Problem Statement and Solution

Prototype and Experiment

Conclusions and Future Research

Page 3: Web Collaboration for Software Engineering

3

COLLABORATION: WHAT IS?

+

Collaboration is a process where two or more partieswork together towards a common goal.

Page 4: Web Collaboration for Software Engineering

4

COLLABORATION: WHY?

Social nature

Complexity

Dimension

Page 5: Web Collaboration for Software Engineering

5

BACKGROUND ON COLLABORATION RESEARCH AREAS

Groupware

Computer-Supported Collaborative Work (CSCW)

Collaboration in Software Engineering

Page 6: Web Collaboration for Software Engineering

6

GROUPWARE

Original definition: “intentional group processes plus software to

support them” (Peter and Trudy Johnson-Lenz)

Main goal Use computers to assist groups in:

Communicating

Collaborating

Coordinating

Page 7: Web Collaboration for Software Engineering

7

CSCW

Definition: “ CSCW examines the possibilities and effects of

technological support for humans involved in collaborative group communication and work processes” (J. M. Bowers and S.D. Benford)

Interdisciplinary field

CSCWComputer scientists

Social scientists

Psychologists

Cognitive scientists and ergonomists

Human-computer interaction researchers

Page 8: Web Collaboration for Software Engineering

8

GROUPWARE VS. CSCW

Group work analysis

+Technology’s

impact on group behavior

Technologies aiding

group work

CSCW

Groupware

Page 9: Web Collaboration for Software Engineering

9

CSCW CLASSIFICATION

Same time Different time

Same place

•Electronic meeting systems

•Roomware

•Single display groupware

•Large public displays

•Team rooms

Different place

•Collaborative real-time editors

•Instant Messaging

•Video conferencing

•Voice over Internet Protocol

•Blogs

•E-mail

•Group calendars

•Internet forums

•Microblogs

•Version Control Systems

•Wikis

Page 10: Web Collaboration for Software Engineering

10

Categories of collaboration

Unstructured communication Coordination (E-mail, IM, …) Meetings and conversations in workplace

Structured communication Formal and semi-formal artifacts (Reports, Diagrams, ...) Each artifact has its own model

COLLABORATION IN SOFTWARE ENGINEERING

Page 11: Web Collaboration for Software Engineering

11

Model-based collaboration

Shared meaning

Reduceambiguity

New models

COLLABORATION IN SOFTWARE ENGINEERING

Page 12: Web Collaboration for Software Engineering

12

COLLABORATIVE SOFTWARE: ASYNCHRONOUS AND DIFFERENT PLACE CSCW

Blogs• Variety of types, content and social features.• Lack of effective protection of the blogger.

E-mail• Simplicity. Widely used.• Loss of information context. Information overload.

Group calendars• Less conflict and effort in scheduling.• Risk of calendar being outdated.

Internet forums• Organization in categories.• Distinction between posters and moderators.

Page 13: Web Collaboration for Software Engineering

13

COLLABORATIVE SOFTWARE: ASYNCHRONOUS AND DIFFERENT PLACE CSCW

Microblogs• Awareness.

• Limited content’s richness.

Version Control Systems• Revision history.

• Resolution of conflicts.

Wikis• Collective intelligence.

• Quality of the content.

Page 14: Web Collaboration for Software Engineering

14

COLLABORATIVE SOFTWARE: ASYNCHRONOUS AND SAME PLACE CSCW

Large public displays

• Big dimensions and input devices.

• Research of applications.

Team rooms

• Permanent shared space.

• Participants in one place.

Page 15: Web Collaboration for Software Engineering

15

COLLABORATIVE SOFTWARE: SYNCHRONOUS AND DIFFERENT PLACE CSCW

Collaborative real-time editors• Multi-user simultaneous editing of the same file.• Not strictly real-time.

Instant messaging• Real-time communication. Saving conversations.• Not fit for long and detailed conversations.

Videoconferencing• Join many people in one meeting. • High speed Internet connectivity requirement.

Voice over Internet Protocol• Low operational and installation cost.• Quality of Service.

Page 16: Web Collaboration for Software Engineering

16

COLLABORATIVE SOFTWARE: SYNCHRONOUS AND SAME PLACE CSCW

Electronic meeting systems• Productivity.

• Requires networked computers, a projection screen and EMS software.

Roomware• Real room’s objects + computer-based support.

• Infrastructure’s requirements.

Single display groupware• Shared computer, with a shared display.

• Single display.

Page 17: Web Collaboration for Software Engineering

17

COLLABORATIVE SOFTWARE: SOCIAL SOFTWARE

Feeds

• Agglomerates information with minimal user’s intervention.

• Visibility.

Folksonomies

• Users own vocabulary.

• Synonym control.

Page 18: Web Collaboration for Software Engineering

18

Social bookmarking• Portability.

• URLs produced unlikely to impact the crawl ordering of a major search engine.

Social cataloging• Virtually can be cataloged.

• Sending unwanted invitations.

Social online storage• Resources available anytime, anywhere.

• Third party.

COLLABORATIVE SOFTWARE: SOCIAL SOFTWARE

Page 19: Web Collaboration for Software Engineering

19

SOFTWARE ENGINEERING TOOLS

47 tools distributed among 6 areas:

Bug Tracking; 5

Collabora-tion; 7

Construction; 9

Design; 13

Engineering Management;

8

Requirements; 5

Page 20: Web Collaboration for Software Engineering

20

SOFTWARE ENGINEERING TOOLS: CRITERIA

Collaboration Awareness

Communication

Collective Knowledge

Integration

Other characteristics

Team awarenes

s

Resources

awareness

Context awareness

Page 21: Web Collaboration for Software Engineering

21

SOFTWARE ENGINEERING TOOLS: OPEN ISSUES

E-mail Depended on external services Used primarily for notification purposes

Group calendars Lack in the Engineering Management area

25%

75%

Group calendars

YesNo

Page 22: Web Collaboration for Software Engineering

22

SOFTWARE ENGINEERING TOOLS: OPEN ISSUES

Lack of features popular in the Web

6%

94%

BlogsYesNo

4%

96%

MicroblogsYesNo

2%

98%

Social networksYesNo

13%

87%

WikiYesNo

13%

87%

TaggingYesNo

Page 23: Web Collaboration for Software Engineering

23

SOFTWARE ENGINEERING TOOLS: OPEN ISSUES

Inexistence of: Online whiteboard

Usages: draft of a diagram (Design) Recommender Screen sharing Social bookmarking Social cataloging

Lack of:4%

96%

Videoconferenc-ing Yes No

4%

96%

VoIPYesNo

11%

89%

VotingYesNo

Page 24: Web Collaboration for Software Engineering

24

PROBLEM STATEMENT

Two gaps in the state of the art

Need for better web-based tools covering a project’s life cycle

Few studies on the impact of integrating collaboration features in those tools, by designing and conducting an experiment

Page 25: Web Collaboration for Software Engineering

25

PROBLEM STATEMENT

Uniqueness of the problem

Collaboration tools Lack of support for the life-cycle of a project The majority provided support by integration with

other tools

Studies Measured the effects of collaboration in the workplace

Lack of features integrated in web-based tools Didn’t monitor the life-cycle of a project

However…

Page 26: Web Collaboration for Software Engineering

26

SOLUTION

First gap: Integrate collaboration features as plugins into a

web-based tool (Redmine) and cover the life-cycle of a project

Second gap: Design and conduct an experiment for assessing

the prototype’s effectiveness.

Page 27: Web Collaboration for Software Engineering

27

PROTOTYPE

Features integrated as plugins into Redmine, a project management web application

Page 28: Web Collaboration for Software Engineering

28

PROTOTYPE

Features analyzed according to four criteria: Time Value Innovation Preference

Developed features Integrated features

•Blogs•Contact Management•Microblogs•Ratings•Recommendations•Search•Social bookmarking•Social cataloging•Social networking

•Dashboard•E-mail•Feeds•IM/Chat•Polls•Software Engineering•Tags

Page 29: Web Collaboration for Software Engineering

29

PROTOTYPE

Recommendations

Page 30: Web Collaboration for Software Engineering

30

PROTOTYPE

Social networking

Page 31: Web Collaboration for Software Engineering

31

PROTOTYPE

Architectural patterns: 3-tier and MVC

Page 32: Web Collaboration for Software Engineering

32

PROTOTYPE

Logical architecture

Page 33: Web Collaboration for Software Engineering

33

PROTOTYPE

Physical architecture

Page 34: Web Collaboration for Software Engineering

34

EXPERIMENT

Experimental Group

Control Group

Page 35: Web Collaboration for Software Engineering

35

EXPERIMENT

Subjects must be: Familiar of collaborative software. Have participated at least in one Software Engineering

project. Be willing perform teamwork.

Attributes of interest: Task completion time. Tools used.

9 tasks for developing game Pong in Scratch, an interactive programming language.

Experiment wasn’t conducted due to the subjects’ unavailability.

Page 36: Web Collaboration for Software Engineering

36

CONCLUSIONS

Objectives were in its majority successfully achieved

Relevant achievements

Depth and broadness of the research

Degree of integration between plugins

High number of implemented requirements

Page 37: Web Collaboration for Software Engineering

37

CONCLUSIONS

Contributions

Research multiple areas and use them to prioritize the features

Innovation: Prototype Recommendations, Social bookmarking and Social

cataloging plugins

Experiment

Page 38: Web Collaboration for Software Engineering

38

CONCLUSIONS

Future Research Conduct the experiment

Resolve the identified open issues

Fields of study Integration between web and desktop-based tools Effective support for Global Software Development Migration of tools to the web

Prototype’s future developments E-mail with tags E-mail and feeds notifications of “watched” users’ actions Recommendations based on implicit data collection

The prototype only provides generic support

Page 39: Web Collaboration for Software Engineering

39

DISCUSSION

Thank you!