an architecture to support learning, awareness, and transparency in social software engineering

23
An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering Wolfgang Reinhardt Sascha Rinne University of Paderborn Institute of Computer Science

Upload: wolfgang-reinhardt

Post on 06-May-2015

1.221 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

Wolfgang ReinhardtSascha Rinne

University of PaderbornInstitute of Computer Science

Page 2: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

if you want to tweet

#icl09

#mashl09

#mashl09_5D

Page 3: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Social Software Engineering

• ambivalent term

• social activities represent a substantial part of daily development work

• developers not only communicate, they connect through shared artefacts

• social connections to people inside and outside the project

• other projects, knowledge bases, bulletin boards, developer lists etc.

• domain experts do often not reside within the own organisation

3

Page 4: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Learning and KM in software projects

• learning and understanding takes place by sharing of information and ad hoc exchange of short messages

• inter-project networks are very important for learning in groups

4

Page 5: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Collaborative Development Environments (CDE)

• mostly focussed on one single project

• support most stages of a developer‘s work

• several stages of maturity, most mature CDEs „encourage a vibrant community of practice“

5

„A virtual space wherein all stakeholders of a project - even if distributed by time or distance - may negotiate, brainstorm, discuss, share knowledge, and generally labor together to carry out some task, most often to create an executable deliverable and its supporting artifacts“

Booch & Brown, 2003

Page 6: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Existing approaches

• Trac and Assembla

• Focussed on single projects

• Lists of recent actions

• Sourceforge and Github

• sites that handle multiple projects

• free and paid hosting

• main tools for software development included (tracker, version control, file mgmt.)

6

Page 7: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Lack of Transparency and Awareness

• many systems / tools used during software project

• lists of events are hard to understand

• many events not interesting for all people involved

• common focus on single projects, no support for project-spanning exchange

• no easy way of finding domain experts and contact persons

• community often resides outside the hosting platform

• found help is externalised somewhere else, cannot be reused

7

Page 8: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

Solution Design

Page 9: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Basic ideas and goals

• Platform that hosts multiple projects

• easy creation of new project for anyone

• allowing project-spanning exchange of expert knowledge and experiences

• embedding in a vibrant community

• Mashups as design pattern

• leaving subsystems as they are and integrate events

• enhancing artefact- and person awareness and make process more understandable and transparent

9

Page 10: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Organisational Requirements

• embedding of project-related activities in a community-context

• Community-embedded Cooperative Development Environment (CCDE)

• easy adding of new developers

• using commonly well-known software without making adaptions to it

• automatic creation of instances of all required tools

• allowing project-spanning expert exchange

10

Page 11: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Data sources in SE projects

11

• Repository

• Issue Tracker

• Wiki

• Roadmap Planning

• Blog / Microblog

• E-Mail

• Calendar

• Instant Messaging

• Audio/Video-Conferencing

• Social Bookmarks

• RSS Feeds

• Bulletin boards

• Shared Whiteboards

• ........

Page 12: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Mashup as design pattern

12

• using standard software to meet organisational and technical requirements

• Repository: Subversion

• Wiki: MediaWiki

• Blog: Wordpress

• Microblog: StatusNet aka Laconi.ca

• Issue Tracker, Roadmap planning, source code browser: Trac

• integration via a meta-navigation bar

Page 13: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Event-based architecture

• subsystems serve as EventProvider

• adapter provides basic event data for eCopSoft core

• analyzers investigate according action / artefact more deeply

• semantical analysis of text-based artefacts, code-analysis and people tagging

• IntegrationLayer

• association of events / users / projects

• provides the API

13

Page 14: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Semantic Web Approaches

• storage of all users and events in Artefact-Actor-Network

• layers of systems

• semantical relations between artefact / users

• interconnecting project spaces

14

consolidated social network

consolidated artefact network

Organization

Projectspace A Projectspace B Projectspace C

isReferencedBy

referencing

isUsed

uses

isSupervisorOf

isSupervisedBy

isAuthormodfier

owner

Page 15: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Overall architecture (very schematical)

15

Page 16: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Creating Awareness & Transparency

16

Page 17: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Widget-like User Interface

17

Page 18: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

What is still to do?

Page 19: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Conclusion

• embedding a CDE into a community

• supporting knowledge sharing and individual learning through ad-hoc communication

• Mashup of various well-known tools to support the development process

• connecting multiple separate projects

19

Page 20: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

© W

olfg

ang

Rei

nhar

dt, U

nive

rsity

of P

ader

born

Wolfgang Reinhardt

Outlook

• End implementation ;)

• Complex Event Processing (CEP)

• aggregate events to gain a deeper understanding or to alarm people in the project (traffic light system)

• field test of the platform with student groups at UPB

• roll out as open platform for all students, employees and working groups at the UPB

• assess the usage and quality of project-spanning helps

• Web-based and Desktop Widgets that allow staying up-to-date20

Page 21: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

Want to know more? http://twitter.com/wollepbhttp://isitjustme.dehttp://artefact-actor-networks.net

Thank you

Wolfgang ReinhardtUniversity of Paderborn

Institute of Computer ScienceWorking Group Didactics of Informatics

http://ddi.upb.de

Page 22: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering
Page 23: An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering

Image sources

• http://de.fotolia.com/id/3805293

• http://www.sxc.hu/photo/282237

• http://www.sxc.hu/photo/1011829

• http://www.sxc.hu/photo/317067

23