Speaker
Mr
Keith Beattie
(LBNL)
Description
In this experiential paper we report on lessons learned during the development of the
data acquisition software for the IceCube project - specifically, how to effectively
address the unique challenges presented by a distributed, collaborative,
multi-institutional, multi-disciplined project such as this. While development
progress in software projects is often described solely in terms of technical issues,
our experience indicates that non- and quasi-technical interactions play a
substantial role in the effectiveness of large software development efforts. These
include: selection and management of multiple software development methodologies, the
effective use of various collaborative communication tools, project management
structure and roles, and the impact and apparent importance of these elements when
viewed through the differing perspectives of hardware, software, scientific and
project office roles. Even in areas clearly technical in nature, success is still
influenced by non-technical issues that can escape close attention. In particular we
describe our experiences on language selection, software requirements specification,
and selection and use of development, framework and communication tools. Using both
anecdotal and detailed software architecture descriptions, we make observations on
what tools and techniques have and have not been effective in this geographically
disperse (including the South Pole) collaboration and offer suggestions on how
similarly structured future projects may build upon our experiences.
Authors
Mr
Chuck McParland
(LBNL)
Mr
Keith Beattie
(LBNL)