PROMOTING ADOPTION AND UTILIZATION OF CLOUD COMPUTING SERVICES FOR AGILE SOFTWARE DEVELOPERS: A SOUTH AFRICAN EXPERIENCE

The recent past has witnessed an upsurge of cloud technology which has undoubtedly become an indispensable basis for contemporary application deployments. Cloud computing is vital in providing efficiency and scalability, borne in its “as a service” types of delivery models. As application developers consider the move into this cloud environment, there is an increasingly need to understand key factors necessary for dealing with challenges related to the use of cloud technologies, to realize full potential and benefits of cloud computing. This research paper attempts to establish an adoption framework particularly focusing agile developers with a view to promoting adoption and utilization of cloud computing. A blend of methodological approaches was employed in the study. A pilot study was initially used with 36 respondents who were involved in the field of software development successfully participating. Based on some results of this pilot study and objectives underpinning the research, an in-depth study involving a case study was conducted on a select group of individuals who are professional in the domain area, enabling a better description of processes, concepts and procedures in context. Guided by Technology, organization, and environment (TOE) framework themes, and interactions between and amongst each other, five propositions were structured around the problem to create new thinking on promoting cloud computing adoption and its utilization by agile developers. It was found that Small, Medium and Micro Enterprises (SMMEs) using agile development methodologies can benefit from using the proposed framework when choosing to move into utilization of cloud computing resources.


INTRODUCTION
The current upsurge in cyber infrastructural technology development, coupled with rapid increase of volume in terms of data sources and software development tools in the cloud platform, has attracted nearly every business to using some form of cloud computing or storage service.This trend has a direct impact on the way businesses manage the software development cycles from development to implementation and management (Marston, Bandyopadhyay, Zhanga, & Ghalsasi, 2011).Management and control of these processes is critical in the sense that good software should demonstrate required functionality and performance to a client, and should be user friendly, dependable and maintainable.Hence, in realizing software quality requirements, software development processes have undergone newer approaches from the traditional waterfall model.Newer development methodologies such as agile development have recently been practiced as alternatives to traditional software development project management (Highsmith & Cockburn, 2001); (Mnkandla & Dwolatzky, 2007).The waterfall model was crafted around the Software Development Life Cycle (SDLC) based on a plan-driven set of processes and activities namely: specification, development, validation, and evolution.These were represented separately in phases such as requirements specification, software design, implementation, testing, etc.However, in a fastchanging business and technology requirements, plan-driven approaches such as the waterfall model have had substantial challenges in feedback and delivery of systems.This is mainly attributed to the emphasis on planning, and intensive documentation, especially at early stages of the project.These challenges may be considered as huge overhead to Small, Medium and Micro Enterprises (SMMEs).To address these problems, software developers (during the 1990s) came up with "agile methods" that relied on an incremental approach to specification, development, and delivery.This was a way of breaking away from the structured, bureaucratic approach to a more flexible development practice, sometimes referred to as 'Lightweight' methods (Stapleton, 1997); (Schwaber & Beedle, 2001); (Beck, 2000).
In the absence of cloud computing environment, all the development tools and necessary databases are either stored on the local server or personal computers.The Internet is not a necessary requirement until deployment time or only if there is a requirement such as accessing some websites or sending and receiving emails.Cloud computing enables easy access to computing resources such as data and applications.This allows users to exploit resources remotely using a variety of devices through the Web access.These resources are generally from data centres which are remotely based and normally deployed using three cloud deployment models, namely, private, public and hybrid (Buyyaa, Yeo, Venugopal, Broberg, & Brandic, 2009).A private cloud refers to a case where an enterprise owns and has full control of most of the infrastructure including applications, while public clouds are usually considered as standard cloud computing models because resources are generally made available to the public by service providers normally on a subscription basis (Subashini & Kavitha, 2011).The hybrid cloud as the name implies, is a blend of private and public deployments (Armbrust, et al., 2010); (Dudin & Smetanin, 2012).
Currently, cloud computing has been shown to have had an impact on collaboration and development infrastructure.This emanates to challenges and gaps of interoperability, security and privacy when it comes to the adoption and utilization of cloud services (Marston, Bandyopadhyay, Zhanga, & Ghalsasi, 2011); (Khorshed, Ali , & Wasimi, 2012).Agile development methodologies and cloud computing demonstrate the great need to shift to new cyber infrastructural technologies to support quality and effective software development practices (Mwansa & Mnkandla, 2017).As practitioners move to such platforms, it is also important that issues relating to regulations, privacy and security policies, and internal engineering are adequately addressed, as these constitute major gaps coupled with insufficient practical guidelines (Buyyaa, Yeo, Venugopal, Broberg, & Brandic, 2009).
With the emergence of big data challenges in software development, cloud computing still promises the next generation, computing utility (Assuncao, Calheiros, Bianchi, Netto, & Buyya, 2015), (Suganya, Pavithra, Rathika, & Ashwini, 2019), (Varghese & Buyya, 2018).In most parts of the world, especially developed countries, software developers using agile development methodologies have made headways in the use of cloud computing environments mainly due to a wide range of benefits that come with it (Murphy, et al., 2009).However, Small, Medium and Micro Enterprises (SMMEs) in South Africa do not seem to have jumped on to the bandwagon due to a wide range of reasons such as lack of capacity, expertise etc.Another contributing factor in adopting cloud computing by these developers could be attributed to technical and non-technical limitations associated with cloud computing, such as programming and data access lock-ins (Armbrust, et al., 2010).As indicated earlier, the South African developers are not immune to gaps in knowledge of addressing cloud computing challenges.
Studies have shown that technological factors are critical in cloud computing adoptions but the organizational and environmental factors, no matter how critical, depend on context (Low, Chen, & Wu, 2011).Considering the lack of a contextually responsive framework and clear appreciation of cloud computing in South Africa, it is almost certain that SMMEs will continue to face challenges whenever they decide to adopt and use the cloud environment.
In this study, an attempt is made to establish an agile software development framework that promotes adoption and utilization of cloud computing.The central research question lies in finding some of the factors influencing adoption and utilization of cloud computing services by SMMEs using agile development methodologies in South Africa.The main motivation was that the current cloud computing adoption frameworks, as documented in literature do not address challenges that are directly associated with agile development methodologies.Therefore, the objective of this study was to analyze factors that contribute to the adoption and use of cloud computing and deal with inherent challenges within the context of agile development methodologies, with a view to providing guidelines that promote and support adoption and utilization of cloud computing services.A case study using a blend of grounded theory was used in conceptualizing and analysis of the framework.
The significance of this study is its contribution to knowledge that is required to promote the adoption and utilization of cloud computing, especially in the wake of developing quality software.Hence, there is need to promote the country's use of ICT technologies and innovation for economic development.The study sought to do the following: 1) determine operational interactions among the factors that contribute to an improved adoption and utilization of cloud computing services; 2) provide theoretical knowledge and insights of technology in adoption frameworks as applied to the cloud computing environment and agile development methodologies; and 3) provide guidelines to SMMEs in South Africa who are using agile development methodologies as an improved way of benefitting from services offered by the cloud environment.

LITERATURE REVIEW
The past decade has witnessed the emergence of cloud computing technology that offers new ways of providing computing services to users individually or at corporate level (Buyyaa, Yeo, Venugopal, Broberg, & Brandic, 2009), (Chui, 2010) (Pallis, 2010).Services are provided at different levels of the cloud computing architecture, and these services are accessed using devices with a connection to the Internet through the Web 2.0 (Marinescu, 2013).Due to the benefits derived from its use, software engineering companies have also started to adopt and use these cloud computing services (Yau & An, 2011).
The theoretical concept of cloud computing is based on the idea of commoditizing computing services and providing them to user's requirements.It emanates from technologies such as grid and utility computing, Application Service Provision (ASP), and Software as a Service (SaaS) (Dudin & Smetanin, 2012); (Conway & Curry, 2011).Without specific context, definition of cloud computing may be difficult to provide because different scholars and industry specialists define it with a focus on different aspects that meet their objectives.For instance, Gartner defines cloud computing as a way of computing that involves huge and scalable Information Technology (IT) resources that are delivered "as a service" (IT, 2018).
The National Institute of Standards and Technology (NIST), defines cloud computing as "a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction" (Mell & Grance, 2011).(Mell & Grance, 2011) The International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) through ISO/IEC 17788 defines cloud computing as a "Paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand" (ISO/IEC, 2014).Resources referred to include software, servers, applications, networks etc. NIST and ISO further recommend critical characteristics, capability types, and deployment models for the cloud model.These are, however, not prescriptive due to the evolving nature of cloud computing (ISO/IEC, 2014).

Adoption and Utilization of Cloud Computing for Software Development
Currently, online engagement demands from users have led to enhanced demonstration of a new paradigm dealing with large-scale distributed computing (Gusmeroli, et al., 2010).In South Africa, a number of initiatives have been made to support this development.For instance, the e-government initiative that is directed to support future IT research in addressing issues of IT growth trends was established (Pouris, 2012).Although a positive shift to adoption levels of cloud computing has been noted, software development practices, such as those of agile development, have not been really evidently documented to be taking the benefits along this development.Among many benefits attributed to the adoption and use of the cloud environments, are easy access (from anywhere) to resources such as storage, data, applications and tools for web services.Cost saving, collaboration and customization of resources are also regarded as additional benefits.
Software development involves design of programming instructions that, when executed, provide function and performance on data structures for the purpose of adequately manipulating data.The process has, in many instances, involved documentation at each stage of creation (Royce, 1970).In pursuit of high quality and responsive software, a number of approaches have been developed over the years (Highsmith & Cockburn, 2001).Currently, methodologies such agile software development have emerged.The philosophical perspective of agile development practices is based on a work culture that emphasizes on; 1) individual and interactions over processes and tools, 2) working software over comprehensive documentation, 3) customer collaboration over contract negotiations, and 4) timely responding to change over following the plan (Beck, 2000); (Cockburn & Highsmith, 2001).
This practice calls for a prescribed toolkit of values that collectively provide feedback, transparency in communication, and time-boxing (Craddock, Richards, Tudor, Roberts, & Godwin, 2012).In addition, this requires an environment with a toolset comprising tools for measurement, bug tracking, design, analysis, testing, coding, business intelligence and critiquing, just to mention a few (Beck, 2000).Some examples of commonly used agile development methods are Kanban, Adaptive Software Development (ASD, Agile Modelling (AM), Agile Unified Process (AUP), Dynamic Systems Development Method (DSDM), Extreme Programming (XP), Lean software development and Scrum (Mnkandla & Dwolatzky, A survey of agile methodologies, 2004).In South Africa, research has shown an increase in the use of agile methods on traditional client-server architectures, with the most popular one being Scrum (Noruwana & Tanner, 2012).
After the democratic dispensation, South African SMMEs have been considered important contributors to economic growth and job creation (Visagie, 1997).However, these SMMEs have been experiencing challenges in areas such as management, financial and stakeholder infrastructural support, both internal and external (Olawale & Garwe, 2010).Otherwise, research has shown that there has been an increase in the adoption of cloud computing by SMMEs within South Africa (Modisane & Jokonya, 2021) although little evidence in these studies show support for agile software development within the cloud environment.A further check Internet indicate that South African entrepreneurs have been slow in adopting and using cloud strategies for their businesses due to lack of understanding of underlying technologies of cloud computing.Nonetheless, there are some projects such as the AdvanceForce, in South Africa that builds custom-based software application solutions using agile development principles on a cloud development platform (AdvanceForce, 2021).

Technology Adoption Theories
A simple walk into information systems adoption theories and frameworks shows extensive work in this area.We exclusively looked at the frameworks that focus at individual or organization level as follows: 1) Diffusion on innovation (DOI) -depicted as one of the oldest social science theories centers on individual attributes, internal attributes of the organizational structure and the external attributes of the organization as vital prerequisites to organizational innovativeness; (Rogers, 1995); 2) Technology Acceptance Model (TAM) TAM is based on Behavioural Intention to Use, System Usage, Perceived Usefulness and Perceived Ease of Use (Tornatzky, Fleischer , & Chakrabart, 1990); (Venkatesh, Morris, Davis, & Davis, 2003).TAM has achieved substantial progress in explaining information technology adoption acceptance (Venkatesh, Morris, Davis, & Davis, 2003), (Senyo, Addae, & Boateng, 2018); and 3) Technology, organization, and environment (TOE) -a framework originally developed by Tornatzky and Fleischer in 1990 focusing on three aspects of an organization's context that influence the process of technological innovation adoption such as cloud computing.There is the technological context, organizational context, and environmental context (Tornatzky, Fleischer, & Chakrabart, 1990).
There has been quite a substantial work on frameworks and theories of adoption.Noteworthy are the works of (Misra & Mondal, 2011), (Alshamaila, Papagiannidis, & Li, 2013).The former analyzed the TOE based on the SMEs in the United Kingdom, whilst the latter looked at adoption of cloud computing focusing on services rendered and return on investment.Both researchers had to look at a number of characteristics of organizations such as size of IT resources, utilization pattern, sensitivity of data, and criticality of work done; which inheritably include software development.However, the researchers work had some limitations that resulted in not addressing software development technical issues such as interoperability of development tools, reliability and security, especially when practicing agile family of methodologies.It also uses an index that determines return on investment in making a decision to adopt cloud computing which is not really the emphasis of agile developers.
When considering adoption of cloud computing, a number of factors can be at play.However, previous studies have categorized these factors in line with the TOE conceptual framework (Low, Chen, & Wu, 2011).As a result, this study was grounded on this framework and followed an approach by (Alshamaila, Papagiannidis, & Li, 2013) that was based on information technology SME companies.Hence, the framework of analysis addressed the following factors: relative advantage, uncertainty, geo-restriction, compatibility, trialability, size, top management support, prior experience, innovativeness, industry, market scope, supplier efforts and external computing support.

METHODOLOGY
Considering the ontological and epistemological perspective, the study was conducted within the interpretive/constructive research paradigm underpinning reality around the central research question.Interpretivists focus on the understanding observable facts whereas a constructivist view is to accept objective reality on how knowledge is constructed and understood (Glaser, 2001), (von Glasersfeld, 1996).Inclined to the inductive approach, the study used the qualitative methodology as the main methodological approach with a case study strategy coupled with grounded theory as a data analytical tool to better evaluate the nature and validity of the question arising from this research (Charmaz, 2006).
As discussed in the last section, we were informed by the TOE as a theoretical framework for this study.However, to start the research, a preliminary survey using an on-line questionnaire was administered to more than two hundred companies identified from the Information Technology directory of software development companies around the country.Out of these, only thirty-six (36) companies positively responded to the survey.It was quantitative in orientation and its main objective was to appraise the extent of use of agile software development by SMMEs in South Africa (Mwansa, 2017).The survey was instrumental in the identification and selection of participants earmarked to participate in the case study.
Guided by results of the survey, a case study was employed as a means of ideographically understanding the nature of the problem.Interviews, document analysis of previous research reports and literature review were used in soliciting data.For the interview discussions, nine experts, mainly from Gauteng and Western Cape regions of South Africa, were chosen using purposive sampling.Purposive sampling is a commonly used technique in qualitative studies and involves actively selecting the most suitable or productive sample (In this study, SMMEs were companies involved in agile software development in South Africa) capable of giving adequate data-rich insights to questions posed.
Interviews were recorded and transcribed for analysis.Principles of grounded theory were integrated for data analysis to better evaluate the nature and validity of the objective underpinning this research (Strauss & Corbin, 1994).A Straussian version of grounded theory methodology was specifically adopted (Stern, 1994).This version of grounded theory is more prescriptive than the original Glaserian version (Glaser & Strauss, 1967;Glaser, 1978).In this case study, we addressed issues SMMEs in view of understanding agile software development practices before and after migration to cloud technologies.The articulation of the objectives at the beginning of the study assisted in specifying the limitations of the case and facilitated interpretations of data and framework building (Mills, Durepos, & Wiebe, 2010).A focused and detailed description of the case phenomenon allowed data coding using grounded theory analysis techniques (Strauss & Corbin, 1994).

RESULTS
In this section, we discuss how data derived from the case study was analysed through a staged grounded theory process and demonstrate categories or themes that emerged in the progression from open to selective coding.It was an attempt to search for patterns in the raw data with the purpose of achieving an objective of the study.Following the grounded theory data analysis framework as proposed by (Strauss & Corbin, 1994), all the identified interview transcripts were analysed through open, axial and selective coding.A bracket technique was also applied where researcher avoided and mediated preconceived ideas that could have risen during coding and establishment of categories.During all coding process, Atlas.ti was used as an analysis application tool.The following steps were followed:

Open coding
Open coding being the initial stage of the analytical process allowed capturing of categories of incidents including their properties in the form of codes and quotations.The selection of codes as incidents were observed from interview transcripts and informed by the theoretical sensitivity of the researcher (Charmaz, 2006).One hundred and five (105) categories were observed at this stage (Mwansa, 2015).This involved examining lines or sentences that consisted of incidents in the form of words and phrases of the interview narratives (Remenyi, 2014).

Axial Coding
The axial coding process involved identifying relationships between or among open codes defines the axial coding process (Strauss & Corbin, 1994), (Christiansen, 2007).Therefore, 105 categories observed in open coding had to be analysed with a view to establishing conditions that gave rise to the code, context from which the code derived, action/interaction strategies from which the code was managed or handled, and consequences of those strategies.Literature was also drawn-in as data in explaining some conditions that were giving rise to emerging themes or families of codes and what these meant to the research objective.Table 1 shows results coming from the process of axial coding.

Selective Coding
During this stage, we also considered the research objectives in the analysis of categories.Otherwise, the main focus was to establish and explain the relationships of categories and subcategories with the idea of achieving a higher level of abstraction.Plausible linkages or casual relationships among emerging codes around the factors required to inform development of a framework were considered.This was done in the context of supporting utilization of agile software development methodologies in cloud computing environments for South African SMMEs.Interestingly, themes and categories identified at this stage were in agreement with the framework as proposed by (Mwansa & Mnkandla, 2014).In addition, the codes were also aligned with the TOE framework.Table 2 below indicates themes in detail, along with classification of categories as identified earlier.

Environmental Context
Two aspects were considered during the analysis of the environment context.First, was the agile software development environment based on its practices and principles; and second, the cloud computing environment that also, by its conceptualisation, is environment that provides computing resources.Consistent with (Alshamaila, Papagiannidis, & Li, 2013), the following factors were identified as ones with an effect on the environmental context: market scope, industry (Software development companies or individuals using agile development methodologies), resource availability and supplier efforts and external computing support.
After a series of analyses, it was found that the environment context had a direct influence on the manner in which individual and organizational developers perceived and decided to adopt cloud computing services.Central to all concerns were the inadequate technology infrastructure and limited resources that should promote utilization of agile development practices, and a sustained provision of good quality and reliable cloud computing services.

Organizational Context
The organizational context refers to the organizational attributes and resources available to support linkages internally such as communication process etc. (Baker, 2012).The attributes identified from data analysis were innovativeness, organization size, prior technology experience, top management support, and cloud resource availability.These factors are agreement with observed factors by (Alshamaila, Papagiannidis, & Li, 2013).
Drawing from the analysis, it was found that challenges in communication and inadequate cloud computing resources negatively affected agile development practice that required close and continuous collaboration.Top management support was found to have encouraged adopting cloud computing and at the same time supporting intertwined innovation and creativity aspects.The size of the organization was closely linked to innovation even though innovative software development companies were found to have easily been bought-out by conglomerates.It was also observed that prior experience in the use of technology positively contributed to adoption and utilization of cloud computing services.The critical aspect noticed was the need for practitioners to have a good knowledge of agile software development methodology practices and proficiency in cloud technologies before moving to the cloud computing environment.

Technological Context
The technology context involves exploring and establishment of casual relationships between and amongst relative geo-restriction, technological compatibility, relative advantage trialability and uncertainty factors (Baker, 2012).
Geo-relationship was found to bring about uncertainty for various reasons.These include physical infrastructure mismatches and security of data that is normally stored at remote locations.In addition, technology limitations over long distances resulted in latency problems and negatively affected reliability of cloud services.Trialability was also found to be caused by uncertainty, especially in volatile market situations.Otherwise, adoption and utilization of cloud computing for agile software development was found to have had a positive advantage in investment savings by reducing additional overheads.

DISCUSSION
Based on the understanding of linkages and interrelations of categories within and amongst themes, as found from the substantive study area of this study, it was possible to derive conclusions structured around the thematic factors (referred to as environment, organization and technology contexts) as outlined below:

Supporting Environment
A considered view was made to the vital role that the observed factors played in the analysis.They all had a direct effect in promoting or hindering adoption and continued utilization.It is, therefore, imperative that all players be attuned to creating an enabling environment and to doubling up their efforts.This also includes provision of support from external entities as they are also part of creating this environment.Creating an enabling and supportive environment in the context as applied to ICT technologies discussed requires that:  Reliable and affordable network infrastructure in communication is put in place.This is in consistent with (Mesbahi, Rahmani, & Hosseinzadeh , 2018).
 The strategies and process frameworks be put in place in order to regulate and enhance reliability and security challenges of ICT services and operations.This is also consistent with (Zhu & Kraemer,, 2005).
 Major data centres be localised to increase availability and reliability of cloud services.This is also in agreement with (Mesbahi, Rahmani, & Hosseinzadeh , 2018).

Development Practices
Cultural harmonisation is key in addressing theoretical understanding of agile development into practice (Iivari & Iivari, 2011).This was an observation during the study, that most ICT practitioners confirmed possession of theoretical knowledge but struggled to be practically with in-house technology during agile software development practices.This is consistent with the views of (Ferreira et al., 2012) and (Kumar, Babu, & Saravanan, , 2016).It is important that both government and public sector invest more in capacity building with professional development targeting SMMEs.It is envisaged that this will transcend theory into professional practice and will greatly benefit use of agile development in cloud environments (Ferreira et al., 2012).The scepticism and uncertainty observed among SMMEs on the use of agile and cloud computing can be attributed to their limited abilities in the use of technologies in a manner to realise direct benefits.

Creating Innovation and Size of organization.
Consistent with (Alshamaila, Papagiannidis, & Li, 2013), the study observed a few companies that were doing well in the use cloud computing and agile software development showed some form of innovativeness.However, these smaller innovative organizations end up being bought out by bigger companies.Regrettably, this scenario has a direct concern with external service providers who strive to assist smaller organizations and may consider it as a disincentive.However, research on mergers and acquisitions has shown mixed results.Some researchers have observed that acquisitions may result in less innovative projects due to the innovator leaving the project etc. (Prabhu, Chandy, & Ellis, 2005), while other, research involving hi-tech companies from the early 1970s has shown that acquisitions have brought about growth and innovation technological wise and increased market power (Mandel & Carew, 2011), (Hitt , King, Krishnan, MakrI, & Schijven, 2012).It is therefore important that regulatory frameworks are carefully devised to control and avoid possible loss of innovation as a result of buy-outs from bigger or multinational corporations.

Resource availability and support infrastructure
Resource availability is a critical factor in the adoption process (Alshamaila, Papagiannidis, & Li, 2013).The study observed challenges in the provision of support infrastructure and reliable services.This has a negative effect on SMMEs perceptions in the adoption and utilization of cloud computing services.Inadequate provision of cloud resources and cyber infrastructural support will continuously promote anxiety and uncertainty amongst would-be users such as SMMEs in South Africa.This is supported by (Chau & Tam, 1997) who argues that high levels of perceived barriers can negatively affect the likelihood of adoption.
Arguably the current Internet service provision disadvantages small organization in the use of cloud resources.This is complemented by high costs and unreliable services due to extenuating factors such as loadshedding on electricity.In addition, an open compatible development environment is yet to be realised and the available proprietary cloud services bring about concerns such as lock-ins.Compatibility and inter-operability has potential to stimulate growth in agile to cloud computing adoption and utilization.This is in agreement with (Low, Chen, & Wu, 2011).

Prior knowledge and experience
Knowledge of agile methodology procedure is key before moving to the innovative cloud environment at the same time arguably enhancing user's ability to manage issues around compatibility.SMMEs with prior knowledge had less uncertainty about adoptions of new technologies.This is consistent with (Alshamaila, Papagiannidis, & Li, 2013).However, an integrated and holistic approach across all factors in the entire ICT spectrum of players and users is needed in order to have a meaningful impact on the growth of agile to cloud adoptions amongst SMMEs in South Africa.

CONCLUSION
Cloud computing has emerged as a new paradigm in the provision of computing resources scaled to the requirement of individual business entities.It has opened up an innovative space for software developers such as those involved in agile software development, a software development practice that evolved from traditional practices.However, these technologies and practices require an in-depth understanding in order to fully experience the benefits that comes with them.
This study endeavored to explore possible factors that influence adoption and utilization of cloud computing by SMMEs using agile software development methodologies.It employed the grounding of the TOE as theoretical framework in understanding the nature of the problem.Using a case study and grounded theory analysis, the study has demonstrated that there are three contexts based on the TOE namely: technological, organizational and environmental, which are very much related to each other.The observed factors found to be the main actors in the adoption and use of cloud services were Compatibility, Geo-restriction, Relative advantage, Trialability,