web collaboration for software engineering

Post on 28-Oct-2014

12 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

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

WEB COLLABORATION FOR SOFTWARE ENGINEERING

Tiago Mourão Teixeira

Supervisor: Ademar Aguiar, Co-supervisor: Nuno Flores

MIEIC - 17 July 2009

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

3

COLLABORATION: WHAT IS?

+

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

4

COLLABORATION: WHY?

Social nature

Complexity

Dimension

5

BACKGROUND ON COLLABORATION RESEARCH AREAS

Groupware

Computer-Supported Collaborative Work (CSCW)

Collaboration in 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

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

8

GROUPWARE VS. CSCW

Group work analysis

+Technology’s

impact on group behavior

Technologies aiding

group work

CSCW

Groupware

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

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

11

Model-based collaboration

Shared meaning

Reduceambiguity

New models

COLLABORATION IN 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.

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.

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.

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.

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.

17

COLLABORATIVE SOFTWARE: SOCIAL SOFTWARE

Feeds

• Agglomerates information with minimal user’s intervention.

• Visibility.

Folksonomies

• Users own vocabulary.

• Synonym control.

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

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

20

SOFTWARE ENGINEERING TOOLS: CRITERIA

Collaboration Awareness

Communication

Collective Knowledge

Integration

Other characteristics

Team awarenes

s

Resources

awareness

Context awareness

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

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

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

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

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…

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.

27

PROTOTYPE

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

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

29

PROTOTYPE

Recommendations

30

PROTOTYPE

Social networking

31

PROTOTYPE

Architectural patterns: 3-tier and MVC

32

PROTOTYPE

Logical architecture

33

PROTOTYPE

Physical architecture

34

EXPERIMENT

Experimental Group

Control Group

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.

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

37

CONCLUSIONS

Contributions

Research multiple areas and use them to prioritize the features

Innovation: Prototype Recommendations, Social bookmarking and Social

cataloging plugins

Experiment

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

39

DISCUSSION

Thank you!

top related