Expanding the knowing capability of software developers through knowledge collaboration. (14th January 2008) - Ye, Yunwen; Yamamoto, Yasuhiro; Nakakoji, Kumiyo
Because software development is a knowledge-intensive process, the support of software developers presents two equally important challenges: the establishment of a rigorous and quantifiable foundation for software systems, and a better understanding of knowledge creation processes that take place in software development. Software engineering research has traditionally focused mostly on the former challenge. Focusing on the latter challenge, this paper conceptualises software development as a knowledge-intensive and collaborative activity. This new conceptualisation leads to the argument that knowledge collaboration plays a central role in software development. The paper discusses different forms of knowledge collaboration in software development, roles that computers can play to support knowledge collaboration, and the associated technical and social challenges. It argues for the need to provide in situ and individualised support for knowledge collaboration through the approach of layered support on demand, which is illustrated with systems that we have developed.