an architecture to support learning, awareness, and transparency in social software engineering
TRANSCRIPT
An Architecture to Support Learning, Awareness, and Transparency in Social Software Engineering
Wolfgang ReinhardtSascha Rinne
University of PaderbornInstitute of Computer Science
if you want to tweet
#icl09
#mashl09
#mashl09_5D
© 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
© 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
© 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
© 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
© 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
Solution Design
© 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
© 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
© 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
• Calendar
• Instant Messaging
• Audio/Video-Conferencing
• Social Bookmarks
• RSS Feeds
• Bulletin boards
• Shared Whiteboards
• ........
© 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
© 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
© 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
© W
olfg
ang
Rei
nhar
dt, U
nive
rsity
of P
ader
born
Wolfgang Reinhardt
Overall architecture (very schematical)
15
© W
olfg
ang
Rei
nhar
dt, U
nive
rsity
of P
ader
born
Wolfgang Reinhardt
Creating Awareness & Transparency
16
© W
olfg
ang
Rei
nhar
dt, U
nive
rsity
of P
ader
born
Wolfgang Reinhardt
Widget-like User Interface
17
What is still to do?
© 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
© 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
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
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