Web collaboration for software engineeringTiago Mourão TeixeiraSupervisor: Ademar Aguiar, Co-supervisor: Nuno FloresMIEIC - 17 July 2009
Presentation outlineCollaboration: What and why?Background on collaboration research areasCollaborative SoftwareSoftware Engineering ToolsProblem Statement and SolutionPrototype and ExperimentConclusions and Future Research2
Collaboration: what is?+Collaboration is a process where two or more partieswork together towards a common goal.3
Collaboration: why?Social natureComplexityDimension4
Background on collaboration research areasGroupwareComputer-Supported Collaborative Work (CSCW)Collaboration in Software Engineering5
GroupwareOriginal definition: “intentional group processes plus software to support them” (Peter and Trudy Johnson-Lenz)Main goalUse computers to assist groups in:CommunicatingCollaboratingCoordinating6
cscwDefinition:“ 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 field7
Groupware vs. cscwCSCWGroupware8
cscw classification9
Categories of collaborationUnstructured communicationCoordination (E-mail, IM, …)Meetings and conversations in workplaceStructured communicationFormal and semi-formal artifacts   (Reports, Diagrams, ...)Each artifact has its own modelCollaboration in software engineering10
Collaboration in software engineering11
Collaborative software: asynchronous and different place cscw12
Collaborative software: asynchronous and different place cscw13
Collaborative software: asynchronous and same place cscw14
Collaborative software: synchronous and different place cscw15
Collaborative software: synchronous and same place cscw16
Collaborative software: social software17
Collaborative software: social software18
Software engineering tools47 tools distributed among 6 areas:19
Software engineering tools: CriteriaCollaborationAwarenessCommunicationCollective KnowledgeIntegrationOther characteristicsContext awareness20
Software engineering tools: open issuesE-mailDepended on external servicesUsed primarily for notification purposesGroup calendarsLack in the Engineering Management area21
Software engineering tools: open issuesLack of features popular in the Web22
Software engineering tools: open issuesInexistence of:Online whiteboardUsages: draft of a diagram (Design)RecommenderScreen sharingSocial bookmarkingSocial catalogingLack of:23
Problem statementTwo gaps in the state of the artNeed for better web-based tools covering a project’s life cycleFew studies on the impact of integrating collaboration features in those tools, by designing and conducting an experiment24
Problem statementUniqueness of the problemCollaboration tools Lack of support for the life-cycle of a projectThe majority provided support by integration with other toolsStudiesMeasured the effects of collaboration in the workplaceLack of features integrated in web-based toolsDidn’t monitor the life-cycle of a projectHowever…25
Solution First gap:Integrate collaboration features as plugins into a web-based tool (Redmine) and cover the life-cycle of a projectSecond gap:Design and conduct an experiment for assessing the prototype’s effectiveness.26
PrototypeFeatures integrated as plugins into Redmine, a project management web application27
PrototypeFeatures analyzed according to four criteria:TimeValueInnovationPreference28
PrototypeRecommendations29
Prototype Social networking30
PrototypeArchitectural patterns: 3-tier and MVC31
PrototypeLogical architecture32
PrototypePhysical architecture33
ExperimentExperimental GroupControl Group34
ExperimentSubjects 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.35
ConclusionsObjectives were in its majority successfully achievedRelevant achievementsDepth and broadness of the researchDegree of integration between pluginsHigh number of implemented requirements36
ConclusionsContributionsResearch multiple areas and use them to prioritize the featuresInnovation:PrototypeRecommendations, Social bookmarking and Social cataloging pluginsExperiment37
Conclusions Future ResearchConduct the experimentResolve the identified open issuesFields of studyIntegration between web and desktop-based toolsEffective support for Global Software DevelopmentMigration of tools to the webPrototype’s future developmentsE-mail with tagsE-mail and feeds notifications of “watched” users’ actionsRecommendations based on implicit data collectionThe prototype only provides generic support38
DiscussionThank you!39

Web Collaboration for Software Engineering