Article
The role of knowledge management in facilitating learning in software organisations
Software organisations have been experiencing software development failures since the start of software development. These failures include among others abandoned and runaway projects, cost overruns, and low quality software. One of the major causes of software development failure is the inability of software organisations to learn from past mistakes. Many intervention strategies have been tried by software organisations to address this issue. Such strategies include software process improvement (SPI) models such as the Capability Maturity Model Integration (CMMI) and new software development methodologies such as agile methods. These intervention strategies don’t seem to be working because software development projects continue to fail. Current statistics from surveys indicate that less than 50% of projects are successful. To dress this issue, today, software organisations are turning to knowledge management. This is because the software development process is a knowledge intensive task. Knowledge management is a series of processes that seek to acquire, create, capture and store, transfer and apply knowledge to organisational routines and processes. It aims to make knowledge available to the right people and processes at the right times in the right presentation for the right cost. Knowledge management is believed to promote learning in software organisations so that they become learning software organisations. In software organisations, knowledge workers use the captured knowledge in their daily tasks thus learning from it. Organisational learning increases efficiency and prevents past mistakes from happening in the future. This paper presents a theoretical framework that shows how knowledge management facilitates learning of individuals, teams and the organisation. Specifically, it argues that knowledge management plays a vital role in facilitating learning in software organisations.