This article is based on the assumption that Knowledge Management (KM) is a vital part of any project. Based on this working assumption, the purpose of this article is to introduce the term Agile Knowledge Management (AKM) by illustrating how the Agile Software Development (ASD) approach is suitable for the introduction of KM processes. The ASD approach emerged over the past decade in response to the unique problems that characterize software development processes (Highsmith, 2002). In general, ASD emphasizes customer needs, communication among team members, short releases and heavy testing throughout the entire development process. These ideas are implemented quite variedly by the different ASD development methods. Knowledge Management (KM) and Agile Software Development (ASD) are two organizational processes that face common barriers when introduced and applied. This article suggests that because the field of KM presents a less disciplined approach compared with ASD, it is logical that KM practitioners should learn how ASD has coped with very similar barriers. We further illustrate how it is but natural to emphasize the concept of Agile Knowledge Management (AKM) in order to improve KM processes, because ASD already encompasses the organizational and cultural infrastructure needed for KM. The pairing of KM and ASD is not new; a connection between the two concepts has been acknowledged by various researchers. For related discussions, see, for example, Dove (1999) and Holz, Melnik and Schaaf (2003). This connection, however, is not surprising because both disciplines deal with organizational culture and change management. In what follows, we further highlight the connection between the two fields. First, we show that the two processes, KM and ASD, face the same barriers when introduced into an organization. We also include some suggestions for coping with such barriers. Second, we highlight the way in which KM is already embedded into ASD processes. Thus, in order to improve KM in such processes, it should be made more explicit. Accordingly, we introduce an agile KM manifesto.
In today’s competitive global market, companies are required to manage their intellectual resources as well as their financial ones. KM is therefore recognized as a legitimate management practice that helps organizations distribute the right knowledge to the right people at the right time (Van der Spek & Carter, 2003). Furthermore, KM is considered to be the main source of competitive edge for companies when facing new opportunities, time-to-market demands and frequent changes in their technological and business environments. At the same time, however, research reveals that some organizations do not apply systematic KM processes and support, but rather rely mostly on common sense. Barriers, such as competition instead of collaboration, cultural differences, the pressures of daily challenges, lack of communication tools and places to meet, stubbornness of people or lack of discipline within the company, might interfere (Van der Spek & Carter, 2003). In addition, cultural and job security issues prevent managers from investing in KM initiatives (Drucker, 1998).
Similarly, the main barrier when introducing ASD into software organizations is the need to cope with the conceptual change, mainly the organizational cultural change, that ASD brings with it. Following are two illustrations of the conceptual change required when applying the ASD approach.
First, cooperation should replace the knowledge-is-power perception. ASD introduces a management paradigm that encourages collaboration, communication and the whole team concept. At the same time, however, the software development culture, which has evolved over the years, sometimes encourages opposite values and manners, as expressed, for example, by the concealing of information and the isolating of people in cubicles. Second, in ASD processes, a change is required also in the customer’s conception and involvement, as well as in customer-developers relations. ASD requires intensive and frequent communication with the customer. Clearly, this is a significant difference compared with the common level of interaction with the customer as practiced today in many software organizations.
Key Terms in this Chapter
Agile Knowledge Management: Agile knowledge management is the working framework introduced in this article and it is based on good practices adopted from agile software development. Agile Knowledge Management can help managers overcome their initial resistance to knowledge management, initiate knowledge management projects and embed the knowledge management process into working processes.
Extreme Programming Values: Extreme programming is based on five values: Communication, Simplicity, Feedback, Courage and Respect. We suggest adopting those values for AKM processes.
Agile Software Development: Agile software development is a management paradigm for software development projects. It emphasizes customer needs, communication among team members, short releases and heavy testing throughout the entire development process. These ideas are implemented quite variedly by the different agile software development methods.
Agile Knowledge Management Manifesto: This manifesto, which we suggest in this article, adopts and enhances the common principles of agile software development for knowledge management processes.
Agile Manifesto: This manifesto reflects the common principles of all agile software development methods. It is presented at http://agilemanifesto.org/.
Knowledge Management: Knowledge management is the way knowledge-based companies manage their intellectual assets in order to gain a competitive advantage. Knowledge management includes three dimensions: technology infrastructure, business processes and cultural change.