This bibliography looks at two larger information management systems, (a) knowledge management, and (b) agile software development methodologies, to describe a means to support knowledge transfer between a subject matter expert (SME) and members of a software development team. Barriers that prevent knowledge transfer are presented along with risks related to the loss of intellectual capital. The social aspects of some agile software development practices are described with the goal to create an environment that improves knowledge sharing.
Agile practices create an atmosphere of trust among team members.
Each agile software development method has a unique approach to get work accomplished, embracing practices that fit the methodology goals. For example, Scrum is a method that uses short iterations, close communication between the developers and the customer (product owner), brief daily status meetings (i.e., daily stand-up meeting), and regular meetings to plan each work cycle and evaluate previous cycles to improve the process. Some practices such as pair programming originated in one methodology, Extreme Programming (XP), but are easily used in other methodologies or even outside an agile software development environment.
A manager can create a setting that counteracts barriers to knowledge transfer by creating a work environment of concern and trust. The use of incentives provides a means to encourage cross-training, mentoring, tutoring, and other forms of knowledge transfer; incentives may be financial means or through recognition such as trophies and awards. Lastly, barriers to knowledge transfer can be overcome by the establishment of communities of practice within the company; these communities of practice require time for members of the community to gather.
A key aspect to agile software development methodologies is the underlying social contact that is necessary for an agile team to function. Agile practices require constant feedback to the individual from the team, especially concerning awareness of team activity and commitment toward team goals. This in turn produces a high level of social support for individuals.
When a company has a SME dedicated to working with a legacy system, the risk associated with the siloed subject matter expert adds to the risks and costs to replace a legacy software system. By adopting one or more agile practices, an IT manager can address knowledge transfer barriers and reduce the risks presented by isolated knowledge. The results will help preserve the corporation's hidden asset, intellectual capital. In keeping with the spirit of agile software development, an IT manager can pick and choose an agile practice that fits their operational need and organizational culture without adopting an entire methodology.
Research Paper Author: Stephan A. Hancock, software development manager, Rentrak Corporation2012 University of Oregon, AIM Program Graduate.
Abstract: This annotated bibliography reveals that knowledge transfer systems, when combined with selected agile software development practices, may help overcome barriers that prevent knowledge sharing between subject matter experts (SMEs) and software developers. Social aspects of agile development practices (pair programming) and approaches to knowledge transfer (community of practice) are shown to address barriers including hoarding, linguistics, and bureaucracy. The goal is to mitigate risks associated with potential loss of intellectual capital related to legacy systems.