Conference ICL2009 September 23 -25, 2009 Villach, Austria
1
(
8
)
An Architecture to Support Learning, Awareness, andTransparency in Social Software Engineering
Wolfgang Reinhardt
1
, Sascha Rinne
1
1
University of Paderborn, Institute of Computer Science
Key words
:
social software engineering, organizational learning, learningcommunities, cooperative development environments, knowledge management
Abstract
:
Classical tools for supporting software engineering teams (collaborative development environment, CDE) are designed to support one team during the development of a product. Often the required data sources or experts reside outside of the internal project team and thus not provided by these CDEs. This paper describes an approach for a community-embedded CDE (CCDE), which is capable of handling multiple projects of several organizations, providing inter-project knowledge sharing and developer awareness. The presented approach uses the mashup pattern to integratemultiple data sources in order to provide software teams with an exactinglydevelopment environment.
1
Introduction
Traditional clichés about software developers loose their validity more and more. Times,when programmers sat in dark cellars and tried to solve all problems on their own are overonce and for all. In the meantime software engineering has become a very knowledge-intensive [5] and communicative process (not only but also triggered by agile methods forsoftware development) where the actors heavily exchange data (see Google-Code
1
), connectwith like-minded (see Google Summer of Code
2
), blog about experiences in their ownweblogs, provide code snippets free of charge (see Django-Snippets
3
) or help novices withwords and deeds in large mailing lists. This
social software engineering
– the creation of software and related artefacts within a social network – gained a lot of attention in recentsoftware engineering research [1,17]. Besides the improvements of integrated developmentenvironments (IDE, e.g. Eclipse
4
) or procedure models (e.g. eXtreme Programming [3])research is addressing improvements of the daily working and learning environments of thedevelopers. The main function of collaborative development environments (CDE) [2] is tosupport the whole development process of a team of software developers from start to finish.This includes version control of code artefacts as well as process documentation, coordinationof tasks or support for division of labour.CDEs usually are set up for one specific project; the possibilities for inter-project-collaboration within an organization with multiple software projects are very limited becausethe single CDEs are not able to exchange data. Furthermore many developers are using datapools (bulletin boards, developer communities, mailing lists and a lot more) outside the
1
http://code.google.com/ (last visited on 2009-08-20)
2
http://code.google.com/soc/ (last visited on 2009-08-20-20)
3
http://www.djangosnippets.org/ (last visited on 2009-08-20)
4
http://www.eclipse.org/ (last visited on 2009-08-20)
ICL 2009 Proceedings - Page 1045
Add a Comment