Date post: | 06-May-2015 |
Category: |
Technology |
Upload: | wolfgang-reinhardt |
View: | 1,221 times |
Download: | 1 times |
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