Knowledge management in small software development organisations : A South African perspective

Background: Software organisations have been experiencing software development failures since the beginning of software development. Globally, latest Standish Group CHAOS reports indicate that only 29% of projects are successful. In South Africa (SA), the ITWeb report ( 2013 ) indicates that only 11% of all projects are successful. Intervention strategies such as software process improvement (SPI) frameworks and new software development methodologies such as agile methods have been introduced to address this issue. These intervention strategies do not seem to be effective because software development projects continue to fail. To address this issue, software organisations are turning to knowledge management (KM). This is because software development is a knowledge-intensive task. Objectives: The study aimed to investigate KM practices in small, medium and micro (SMMEs) software development organisations in SA and to determine if KM has benefited the organisations. Method: Fifteen software development project managers from 15 software development SMMEs were interviewed. Content analysis was used to analyse the data. Results: The study found six KM practices in the organisations: knowledge acquisition, creation, storage, sharing, organisation and application. The study found that KM has benefited organisations by making them effective, efficient and productive. Conclusions: The study concluded that software development organisation have adopted KM, although informally, and that KM practices have improved organisational routines and processes.


Introduction
Globally, software organisations are faced with many challenges.They include, among others, poor software quality, failure to learn from past mistakes, projects exceeding their budget and time, collapse in organisational intelligence and lack of software development skills (Charette 2005;Gruner & van Zyl 2011;Lindvall, Rus & Sinha 2002;Lyytinen & Robey 1999;Tarawneh 2011).The Standish Group CHAOS report (2015) indicates that only 29% of projects are successful, 52% are challenged and 19% fail outright.In South Africa (SA), the ITWeb software development surveys (2011, 2012 and 2013) indicate that 11% of software development projects (in-house or outsourced) are successful.That is, they are delivered on time, on budget and with expected functionalities and quality.The 2013 report further indicates that 2% are a complete disaster and the rest (87%) are challenged.That is, they are late, over-budget and of poor quality.These results paint a grim picture of the software development industry locally and globally.
Software process improvement (SPI) frameworks such as the capability maturity model and capability maturity model integration and new software development methodologies such as agile methods have been introduced in the industry to address software development challenges (Bellini & lo Storto 2006;Lehtinen et al. 2014).These intervention strategies do not seem to have absolutely addressed these problems.This is because organisations either do not know these frameworks or perceive them as expensive, time consuming and difficult to perform (Al Tarawneh, Abdullah & Ali 2009;Richardson & von Wangenheim 2007;Saranya & Kannan 2013). http://www.sajim.co.za Open Access KM has helped to improve the execution and coordination functions across the organisation and increased the speed of the delivery and precision of quality products (Bjornson & Dingsoyr 2008;Chandani, Neeraja & Sreedevi 2007;Kristjansson, Helms & Brinkkemper 2014).According to the FDI Intelligence Report (2012) and the Switzerland Global Enterprise (2014), SA has the biggest information technology (IT) industry in Africa.Software development is one of the major services provided by this industry.Unfortunately, as indicated by the ITWeb survey report (2013), SA software development organisations encounter software development failures just like other organisations around the globe.In developed countries such as Germany, Australia and Irelandto mention but a few -studies by Aurum, Daneshgar and Ward (2008), Heavin and Adam (2012) and Betz, Oberweis and Stephan (2014) have been conducted to investigate KM practices in software development organisations.Developing countries in the Brazil, Russia, India, China, SA (BRICS) block such as Brazil, China and India have investigated this issue too (Jiang et al. 2009;Neves et al. 2014;Sharma, Singh & Goyal 2012).This does not seem to be the case in SA, yet she is an African IT giant.A review of the SA literature on this subject revealed only three studies by O'Neil (2005), Silverman (2006) and Khoza and Pretorius (2016).This means that such a problematic issue has been ignored by SA researchers, thus denying the industry and the country valuable knowledge about the current KM situation in software development organisations and possible KM-driven solutions to software development problems.This study aimed to fill that gap.Specifically, it aimed to answer the following questions: (1) What KM practices are adopted by small, medium and micro software development organisations in SA? (2) What benefits has KM brought to the organisations?We believe that this investigation will shed light on KM practices and offer practical and theoretical KM solutions to the SA software development industry.
The rest of the paper is structured as follows.A brief overview of the IT industry in SA follows this section, then the theoretical background and brief literature review, research methodology, results and discussion, and lastly conclusions and recommendations.Knowledge management scholars agree that there is no single definition of KM.Wiig (1993) defines it as approaches and processes aimed at identifying positive and negative uses of knowledge in different organisational operations.Dalkir (2011) synthesises definitions from many scholars and concludes that KM is the planning, organising, motivation and controlling of processes, routines and people within an organisation to ensure that knowledge is accessed by those who need it.Holsapple and Joshi (2003) hold that the goal of KM is to provide the right knowledge at the right time to the right people in the right presentation.

Software development in South Africa
Knowledge management is viewed from several perspectives: personalisation and codification (Hansen, Nohria & Tierney 1999), schools of thought (Earl 2001) and from the lifecycle perspective (Alavi & Leidner 2001;Dalkir 2011;Evans & Ali 2013).The personalisation and codification perspective focuses on the importance of converting tacit knowledge into explicit form (Hansen et al. 1999).This means that organisations should focus on converting knowledge in the minds of people to documented knowledge so that it can be easily accessed and used by everyone within the organisation.The schools of thought perspective views KM from three broad schools: the economic, technocratic and behavioural.
The economic school focuses on the economic gains brought by KM, the technocratic school focuses on the use of technology to support KM activities and the behavioural school focuses on KM human activities; that is, how human beings can be proactive in KM activities (Earl 2001).The lifecycle perspective views KM as a series of processes that when used together create a KM strategy.The processes include, among others, knowledge acquisition, creation, storage, transfer, application and learning.There are many KM frameworks that have been created in the KM field to explain this perspective.Examples are Wiig (1993), Alavi and Leidner (2001), Evans and Ali (2013) and Shongwe (2016).This study adopted the KM lifecycle perspective.This perspective was chosen because it shows the various KM activities or processes that organisations adopt and is widely accepted in KM.No particular framework was adopted for this study.Respondents were asked questions constructed from frameworks found in the literature.
The following subsection presents a brief literature review and identifies the literature gap addressed by this study.

Knowledge management practices in software organisations
Studies have been reported in the literature on how software development organisations manage their knowledge assets.
The studies have been conducted in small, medium, micro and large organisations.They take several KM perspectives: schools of thought, software development frameworks and methods, KM lifecycle, and KM in terms of the personalisation and codification strategy.For example, Bjornson and Dingsoyr (2008) Abdullah, Eri and Talib (2011) shows the importance of KM and SPI in software organisations.Other studies focus on KM from the KM lifecycle perspective, for example, studies by Aurum et al. (2008) and Heavin and Adam (2012).
Studies investigating KM practices in software organisations have been conducted in many parts of the world.The study by Aurum et al. (2008) in Australia found that Australian organisations use information networks of colleagues to share knowledge and that they store their knowledge in directories, archives and repositories.The study also discovered the following KM activities in software organisations: knowledge creation (sharing ideas with colleagues); acquisition, adaptation and identification (reusing past knowledge to identify current problems); organisation (directories); distribution (sharing knowledge with colleagues); and application (developers reapplying their accumulated knowledge in a range of scenarios).Heavin and Adam (2012) conducted a similar study in Ireland and found that software organisations engage in six KM activities: knowledge creation, transfer, storage, maintenance, codification and acquisition.Pástor, Šipikal and Rehák (2013) found evidence of knowledge creation through innovation and knowledge acquisition from external sources in Slovakian organisations.Neves et al. (2014) investigated the role of KM in mitigating risk in micro and small software organisations in Brazil.Their study found that combination -as explained by Nonaka and Takeuchi (1995) -is mostly used to mitigate risk in software development teams.
In SA, a few studies focusing on the software development industry are found in the literature.Labuschagne, Marnewick and Jakovljevic (2008)

Research methodology
This is an interpretive, qualitative case study (Olikowski & Baroudi 1991)  proposed by Elo and Kyngäs (2008:110) were adopted in this study.The results are presented in the following section.

Results analysis and discussion
Responses of the 15 software project managers are presented in this section.To ensure confidentiality, pseudonyms are used to indicate participants, with the use of P1-P15.

Knowledge management practices in software organisations
The findings reveal six KM practices in SA software SMMEs: knowledge acquisition, creation, sharing, storage, organisation and application.They are discussed in detail below.The managers also confirmed that junior staff members acquire knowledge from each other.One manager said:

Knowledge acquisition
'The programmers usually help each other when they have information gaps relating to their specific work areas.That is when they ask each other questions.' [Male; Manager; P7] Another manager who is also a programmer said: 'We ask each other questions and explain how to do it so that you can learn.' [Male;Manager;P9] The study also revealed that various organisational documents are used to acquire knowledge.One manager said: http://www.sajim.co.zaOpen Access The same sentiments were shared by another manager, who stated that: The results reveal that organisations encounter knowledge gaps and that they use a number of internal and external sources to fill them.Studies conducted in other parts of the world show similar results.Sharma et al. (2012) found that the Internet is widely used to acquire knowledge.Aurum et al. (2008) found that networks of peers are used as sources of knowledge.Gendreau and Robillard (2013) confirm the importance of peers as sources of knowledge.In the SA case, we see that organisations also use vendors and clients as knowledge sources.

Knowledge creation and sharing
Knowledge creation and sharing are similar activities that could be easily confused.Pentland (1995) and Taskin, Verville and Al-Omari (2011) define knowledge creation as a process of developing new knowledge or content from existing knowledge.Citing Schwartz (2006), Paulin and Suneson (2012:83) define knowledge sharing as 'the exchange of knowledge between and among individuals, and within and among teams, organisational units, and organisations'.In this study, it was discovered that these activities are similar.
For example, a training or brainstorming session could be a knowledge creation or sharing activity.
Knowledge creation and sharing activities found in the organisations are meetings, brainstorming sessions, training, conferences and workshops, and reading and acting on information from the Internet and organisational documents.Brainstorming sessions are used for knowledge creation and sharing.These are informal sessions where employees share, refine and adopt ideas.Once adopted, the ideas become organisational knowledge because employees act on them, one manager said:

Knowledge storage
All organisations indicated that they do store their knowledge using different storage methods and technologies.They use central storage places such as portals, servers, external hard drives and email systems.When asked where they store their knowledge, one manager said: The results indicate that the organisations use different systems to store their knowledge.Some companies use central storage facilities, and others use different storage locations found all over the organisation.Previous studies indicate that it is a good idea to have one central storage facility for knowledge storage rather than to have it scattered.A central facility allows easy access, organisation and retrieval.Basili, Caldiera and Rombach (1994) suggest an experience factory model for information storage.This is a system in which a central database is created for easy storage, organisation and access to knowledge.Garcia et al. (2011) support the idea and argue that a central database supports easy retrieval and learning in agile teams.This system has effectively been used by the National Aeronautics and Space Administration Agency to store software engineering knowledge (Jansma & Means 2012).

Knowledge organisation
Organisations were also asked to explain how they organise their stock of knowledge.The results reveal that they organise their knowledge resources mostly in their servers, using basic organisation techniques such as folders.One manager said: The results indicate that knowledge is organised, but the conclusion is that it is done at a very basic level or not at all.This could be because of two reasons: (1) the organisations are small, so not a lot of information exists and (2) organising could be difficult as it is scattered.Organisations are encouraged to adopt the knowledge organisation framework proposed by Chow and Wong (2011) to cater for multiple facets of knowledge and the tool suggested by Mat and Liu (2011) use to organise knowledge.

Knowledge application
Software organisations were asked to state how they apply the knowledge they have in their tasks.A couple of examples were given by the managers.where stored knowledge was used when employees left the organisation.One said: 'Unfortunately the lady who developed it left, and we used the documentation in the server.' [Male;Manager;P1] The other said: 'When one of our senior developers died, we used the code samples he developed to finish the project.' [Male;Manager;P6] Others gave different scenarios in which available knowledge is used in the development process.For example, one said: 'We definitely incorporate the knowledge we have into our coding.' [Male;Manager;P15] Another said: 'What we do is look at the actual costs of the project and the time taken to complete that project.We then apply that information to future projects.' [Male;Manager;P7] This was confirmed by a similar scenario, whose manager stated that: The results reveal that organisations use the knowledge at their disposal in their daily development tasks.In fact, all the managers indicated that knowledge is used in their organisations.Dorairaj et al. (2012) and Chandani et al. (2007) found similar results.They found that software organisations apply the knowledge they have thus learning from it.

Improved software development
After the revelation that knowledge is applied in organisational routines and processes, managers were asked to indicate if KM has improved their processes.All organisations indicated that KM has enabled them to change their behaviour and do things better than they did before.They indicated that KM has made their organisations more accurate, effective, efficient and productive by saving time and preventing the 'reinvention of the wheel'.When asked if KM has changed the way things are done in their respective organisations, one manager said:

Summary, conclusions and recommendations
The study found six KM practices in SA software development SMMEs: knowledge acquisition, creation, sharing, storage, organisation and application.Table 1 summarises the results.
The conclusion is that SA software development SMMEs have adopted KM, but we assume that it is informal because there was no mention of KM specialists responsible for driving KM initiatives and policies in the organisations during the interviews.Aurum et al. (2008), and Heavin and Adam (2012) found that KM in SMMEs was applied informally.Apart from the knowledge sources found in the literature, the study discovered that clients and vendors are sources of knowledge in the SA context.Software organisations do not conduct formal training and organise their knowledge resources using basic methods.KM has made them more effective, efficient and productive.We believe that if organisations can formally adopt KM, improvements could be seen in the software development industry.
It is therefore recommended that software development organisations formally adopt KM by: (1) adopting formal training methods to reskill developers; (2) storing their knowledge assets in central databases for easy access, organisation and retrieval; and (3) employing KM specialists and implementing formal KM policies to facilitate the full implementation of KM.
The main limitation of the study is that data were collected in one province only.The study could have carried more weight if all three major software development provinces were included.
A quantitative study to measure the actual KM benefits and their impact on the organisations' performance is recommended.
The research could determine how KM has benefited software organisations in terms of reducing or eliminating software development failures.
The contribution of this study to the literature is that it gives a different context of KM adoption.Many studies have been conducted in developed countries in Europe, North America and Australia, but relatively few in developing countries, especially in SA.This study offers a perspective on a developing country with limited knowledge, skills and resources in software development.
time paid employees (SA Department of Trade and Industry 2008).The software development industry employs about 180 000 people, of whom 15 000 are software developers (JCSE Source Code Report 2012).Citing a Gartner research report, the Switzerland Global Enterprise (2014) states that SA is one of the top 30 software development destinations in the world.
Switzerland Global Enterprise 2014).The Johannesburg Centre for Software Engineering Source Code Report (JCSE) (2012) indicates that there are fewer than 8000 software development organisations in SA.Most of these are SMMEs with fewer than 50 employees.Depending on the sector of the economy, a SMME is an organisation with fewer than 200 full- Pretorius, Steyn and Jordaan (2012) in SA and discovered that IT project maturity has improved, but IT projects continue to fail.Similar results are seen inBogopa (2010)andPretorius, Steyn and Jordaan (2012).The literature reveals KM practices in software development organisations in different parts of the world.However, what is noticeable is the lack of such studies in SA.It is not known whether such activities are adopted in SA and whether organisations have benefited from KM.This study aims to fill that literature gap by focusing on SA software development SMMEs.
Software development organisations were asked whether they encounter knowledge gaps and to indicate the knowledge sources they use to fill the knowledge gaps.All 15 software project managers indicated that their organisations do encounter knowledge gaps at some point in time.It could be knowledge about the industry or technical software development knowledge.When asked if they encounter knowledge gaps, one manager said: They were then asked to identify the knowledge sources they use to fill the knowledge gaps.Their responses indicate that knowledge is acquired from internal and external sources.
'Yes, it happens a lot.' [Male; Manager; P3] Another said: 'Every time!You're trying to write a piece of code, but you have no idea what you're doing.' [Male; Manager; P4] This was confirmed by another manager who said: 'Yes!With software development there are new technologies, and in our case there is hardware we need to support, e.g. a new printer, and you have to find information about it.'[Male; Manager; P5] Another manager concurred: 'Yes, always.As a person you don't always know everything.' [Male; Manager; P6] 'I become the main source of knowledge when new employees are recruited.'[Male; Manager; P11] This was supported by another manager, who said: 'If we have new employees they might struggle to get new information.Obviously, they have to ask senior people in the organisation for assistance.' [Male; Manager; P1] In terms of programming, what we do is that we put comments after each programming code.So if we want to use that code in another project, basically what we do is that we copy and paste that code so that we can make it work in another program.' [Male; Manager; P4] Sholla and Nazari (2011) evidence of the importance of KM in software development organisations.Managers indicated that KM practices have one way or the other improved their processes.They concur withChandani et al. (2007), who state that KM has helped improve the execution and coordination functions across organisations.That assertion is echoed bySholla and Nazari (2011), who state that the goal of KM in software organisations is to produce software faster, with fewer costs and with higher quality.It is not clear though what exact processes have been improved, but we conclude that KM is benefiting software development organisations.
'Now we have libraries of code which we use in the development environment.That prevents reinvention of the wheel and helps us learn from our past mistakes.'[Male;Manager; P7]These sentiments were echoed by the manager who said: 'Definitely, it [KM] makes us more efficient as a company.If there is a problem and none of us has come across that problem, we

TABLE 1 :
Summary of knowledge management practices.