Knowledge Management Initiatives in Agile Software Development: A Literature Review

Knowledge Management Initiatives in Agile Software Development: A Literature Review

Shanmuganathan Vasanthapriyan (Sabaragamuwa University of Sri Lanka, Sri Lanka)
Copyright: © 2019 |Pages: 22
DOI: 10.4018/978-1-5225-9448-2.ch005

Abstract

Agile software development (ASD) is a knowledge-intensive and collaborative activity and thus Knowledge Management (KM) principals should be applied to improve the productivity of the whole ASD process from the beginning to the end of the phase. The goal is to map the evidence available on existing researches on KM initiatives in ASD in order to identify the state of the art in the area as well as the future research. Therefore, investigation of various aspects such as purposes, types of knowledge, technologies and research type are essential. The authors conducted a systematic review of literature published between 2010 and December 2017 and identified 12 studies that discuss agile requirements engineering. They formulated and applied specific inclusion and exclusion criteria in two distinct rounds to determine the most relevant studies for their research goal. Reuse of knowledge of the team is the perspective that has received more attention.
Chapter Preview
Top

Introduction

Software development is a process which is a collection of steps like analyzing, designing, programming, documenting, testing, maintaining and bug fixing (Vasanthapriyan, Tian, & Xiang, 2015). It is clear that software development has organized to deliver final better-quality solutions to the end users or customers. When the term “software development” converts to the term “agile software development”, ASD has become a new turning point in the world. Although development teams have habituated traditional software methods like waterfall and prototyping, it is a good forethought to use agile for the development teams worldwide (Dybå & Dingsøyr, 2008).

There's a big focus in the ASD community on collaboration and the self-organizing team. That doesn’t mean that there aren't managers. It means that teams have the ability to figure out how they're going to approach things on their own. It means that those teams are cross-functional. Those teams don’t have to have specific roles involved so much as that when you get the team together, you make sure that you have all the right skill sets on the team.

Software development is a knowledge intensive and collaborative process which mainly depends on knowledge and experience of software engineers (Bjørnson & Dingsøyr, 2008; Vasanthapriyan et al., 2015). Therefore, the knowledge of the members of a team and the outside team within the organization should be properly managed by capturing, storing and reusing when needed. Even though traditional software methods use detailed specifications and design upfront and rigorous documentations (Abrahamsson, Salo, Ronkainen, & Warsta, 2017) to manage the knowledge, agile methods and principals (Petersen, Feldt, Mujtaba, & Mattsson, 2008) emerge to the software development which brings collaboration and interaction within the team and the outside of the team. It helps to manage the knowledge more efficiently and effectively by presenting the right knowledge in the right form to the right person at the right time.’

KM is about making the right knowledge available to the right people. It is about making sure that an organization can learn, and that it will be able to retrieve and use its knowledge assets in current applications as they are needed. In the words of Peter Drucker it is “the coordination and exploitation of organizational knowledge resources, in order to create benefit and competitive advantage” (Drucker, 1999). Where the disagreement sometimes occurs is in conjunction with the creation of new knowledge. Wellman (2009) limits the scope of KM to lessons learned and the techniques employed for the management of what is already known. He argues that knowledge creation is often perceived as a separate discipline and generally falls under innovation management. Williams and Bukowitz (1999) link KM directly to tactical and strategic requirements. Its focus is on the use and enhancement of knowledge-based assets to enable the firm to respond to these issues. According to this view, the answer to the question “what is knowledge management” would be significantly broader.

A similarly broad definition is presented by Davenport and Prusak (1970), which states that KM “is managing the corporation's knowledge through a systematically and organizationally specified process for acquiring, organizing, sustaining, applying, sharing and renewing both the tacit and explicit knowledge of employees to enhance organizational performance and create value”. The knowledge must be constructed in a social and evolutionary process involving all stakeholders during the software development. Nakamori introduced a generic knowledge construction framework “Theory of knowledge construction systems” which is a systems approach to synthesize a variety of knowledge and to justify new knowledge (Nakamori, 2013).

Complete Chapter List

Search this Book:
Reset