Pringle-Wood, Wayne Austen
Thesis (MPhil)--Stellenbosch University, 2014. / ENGLISH ABSTRACT: Organisations are faced with ever increasing complexity. While there are many responses to complexity just as there are many definitions of complexity this thesis highlights the use of agile software development as a useful method. The case of agile software development is influenced by its people first approach and minimal process implementation to implement constraints in which phenomena of complexity can be understood. Chapter 1 introduces why complexity is relevant in the organisation today and the issues associated with complexity. A basic introduction to agile software development and why it is a response to complexity is tabled. Chapter 2 investigates the concepts of complexity. To highlight the difference between linear and non-linear systems and reductionistic thinking the ideas that not all things are complex is explored. Key concepts of complex systems are described to come to a better understanding of what entails a complex system. Information theory and dynamic systems are discussed including system attributes such as attractors and bifurcations. Finally the theory of complex adaptive systems is presented and a classification of all complexity theories is tabled. Chapter 3 is centred on agile software development, presenting practices and processes as a understanding of how agile software development is applicable to complexity. Three agile methods are identified. Chapter 4 presents the ideas of modelling and limits to understanding. Models of complex systems are useful but are limited, due to the properties of complex systems. The concept of mental models leads to models of organisations and how leaders need to help with transformation of these models towards models that are more aligned to agile type thinking. Chapter 5 looks at the core concepts, and practices of agile applied to complexity and why these are relevant in responding to complexity. Towards the end of chapter the role of narrative is explored in the terms of problem definition and solutioning in complex systems. Chapter 6 concludes the thesis with insights where agile software development is an appropriate response to complexity and the conditions in which it is not. / AFRIKAANSE OPSOMMING: Organisasies staar toenemende kompleksiteit in die gesig en alhoewel daar verskeie maniere bestaan om kompleksiteit teen te werk, asook verskeie definisies van wat kompleksiteit is, focus die tesis op aanpasbare ("agile") sagteware ontwikkeling as n bruikbare metode. Met eienskappe soos “mense/verbruiker/gebruiker – eerste” benadering asook minimale proses implementering, verskaf aanpasbare sagteware ontwikkeling die raamwerk waar binne die konsep kompleksiteit verstaan kan word. Hoofstuk 1 bespreek die kwessies rondom kompleksiteit en die relevansie daarvan in organisasies vandag. Verder word aanpasbare sagteware ontwikkeling kortliks bespreek en hoe dit gebruik kan word om kompleksiteit te verstaan, word getoon. Hoofstuk 2 ondersoek die verskillende konsepte random kompleksiteit. Daar word gekyk na linêre en nie-linêre stelsels asook die oortuiging dat nie alle dinge kompleks is nie word geondersoek. Sleutel kenmerke van komplekse stelsels word beskryf om sodoende ‘n better begrip te kry van wat ‘n komplekse stelsel behels. Informasie teorie en dinamiese stelsels word bespreek, insluitend kenmerke soos “attraktors” en “bifurkasies”. Laastens, word die teorie rondom komplekse aanpasbare stelsels bespreek en ‘n klassifikasie van alle komplekse teorieë word uiteengesit. Hoofstuk 3 fokus op “agile software development” en hoe sulke praktyke en prosesse toepaslik is op kompleksiteit. Daaropvolgend word drie aanpasbare metodes ge-identifiseer en individueel bespreek. Hoofstuk 4 verduidelik die idees rondom modellering en grense van begrip. Modelle van komplekse stelsels kan nuttig wees, maar weens die eienskappe van komplekse stelsels, is die nuttigheid beperk. Die konsep van mentale modelle lei tot modelle van organisasies en hoe leiers hierdie modelle moet transformer na modelle wat meer in-lyn is met agile denkwyses. Hoofstuk 5 kyk na die kern konsepte en praktyke waar “agile” toegepas word tot kompleksiteit en waarom dit relevant is om kompleksiteit teen te werk. In die tweede helfde van die hoofstuk word die rol van narratief ondersoek in terme van probleem-identifisering en die soek na oplossings in komplekse sisteme. Hoofstuk 6 sluit af met insigte tot aanpasbare sagteware ontwikkelingsmetodes as toepaslike oplossing tot kompleksiteit asook die toestande waaronder dit geld.
Användning av prototyper som verktyg för kravhantering i agil mjukvaruutveckling : - En fallstudie / Prototyping as a Technique for Requiements Engineering in Agile Software Development : - A Case StudyAbrahamsson, Linn, Melin Wenström, Peter January 2018 (has links)
Kravhantering vid agil mjukvaruutveckling är en utmaning som allt fler företag ställs inför.Prototyper, modeller som liknar tilltänkta slutprodukter, kan användas för att inhämtaviktig information om det som ska utvecklas. För att beskriva hur lik en prototyp är dentilltänkta slutprodukten används begreppet verklighetsfaktor. Studiens syfte är dels attöka kunskapen kring prototypanvändning i agil mjukvaruutveckling, dels att undersökavilken effekt en prototyps verklighetsfaktor har då prototyper används i diskussioner inomkravhantering. En fallstudie görs på företaget Exsitec där personal intervjuas angående prototypanvändning i mjukvaruprojekt. Två prototyper utvecklas sedan med låg respekti-ve hög verklighetsfaktor och används som diskussionsunderlag i intervjuer. Studien visar att användning av prototyper i mjukvaruprojekt kan bidra till ökat förtroende hos kun-der, förbättrad kommunikation med kunder och kan förenkla att uppnå konsensus mellan olika intressenter. Vidare kan de, beroende av hur de används, bidra till helhetsbilden avprodukten och fungera som dokumentation. Studien påvisar även några, om än subtila, skillnader i den information som samlas in med hjälp av prototyper med låg respekti-ve hög verklighetsfaktor. Hög verklighetsfaktor tycks medföra att fler krav samlas in, men göra respondenter mindre benägna att vilja komma med förslag på mer omfattandeförändringar. / Requirements Engineering (RE) in Agile Software Development (ASD) is a challenge thatmany face and several techniques exist when doing so. One such technique is prototyping, when a model of a product is used to gather important information in software develop-ment. To describe how much a prototype resembles the product the notion of fidelity is used. The aim of this study is to contribute to research regarding prototyping in ASD,and to examine the effect of a prototype’s fidelity when using prototypes in discussionsduring RE. A case study is performed at the company Exsitec where staff are interviewedregarding prototyping in software development. Thereafter, two prototypes of low andhigh fidelity are developed and used in interviews as a basis for discussion. Based on thisstudy, the use of prototypes in software projects can help customers trust the process,improve communication with customers, and facilitate when trying to reach consensusamong different stakeholders. Furthermore, depending on how they are used, prototypescan contribute to understanding the big picture of the requirements and can also serve asdocumentation. The study also shows some, albeit subtle, differences in the informationcollected using prototypes with low and high fidelity. The use of a high fidelity prototypeseems to generate more requirements, but makes interviewees less likely to come up withlarger, more comprehensive requirement changes.
01 December 2014
For many years, most IT departments used the same software development methodology called waterfall. This methodology outlines distinct phases for project completion; each phase needing to be completed prior to the start of the next. The primary accounting standard for allocating costs for software development is written in the language of waterfall. Costs are either capitalized or expensed depending on the type of activity that was performed. IT departments have been moving toward a new group of software development methodologies called agile. These methodologies do not follow the phases of waterfall. This makes the current accounting standard for software development difficult to interpret and determine the appropriate transaction. This further hinders IT organizations attempts to better quantify business value of software projects. To examine this issue, a new construct called accounting clarity is introduced in this research. Accounting clarity is an agreement between IT and accounting regarding the treatment of software development costs. This study shows that it is essential for both IT and accounting to work together to determine a solution. The accounting clarity construct is developed from the “ilities” of software quality models and the Capability Maturity Model (CMM) Level 3 key process area (KPA) of intergroup coordination. Intergroup coordination provides the concepts for accounting clarity as the two groups must coordinate to determine the appropriate accounting treatment. The “ilities” are characteristics that should be followed and measured throughout a software development project to ensure long term maintainability of software. This study proposes that accounting clarity should be one of the "ilities" in the software quality model. A portion of the study of accounting clarity examines the relationship between accounting clarity and project control, proposing a positive relationship between the two variables. Then the study examines factors that help to increase accounting clarity. These factors were derived from teamwork and coordination literature. To test the hypothesized relationships, a survey methodology was used. Individuals working on agile software development projects were participants in the survey. This study contributes to both the IT and accounting literature. The research provides a framework to examine other contexts in which the current accounting standards are unclear. As changes happen more frequently in business, this is more likely to occur on a frequent basis. The study has practical implication for software development as it highlights the importance of understanding the accounting implications prior to the project and continuously throughout the lifespan of the software. Adding accounting clarity to the “ilities” of software quality helps software development teams include this in project plans with any software development methodology.
A startup is a fledgling business designed to deliver a new product or service under conditions of extreme uncertainty. In the 21st century, startups have been growing significantly both in developed and developing countries. Since2014, startups are currently a new booming phenomenon in Indonesia. Nowadays, there are 1,716 registered startups that have been rapidly growing in Indonesia which also places the country in 4th place worldwide after theUnited States, India, and the United Kingdom. Startups in Indonesia were forecasted to grow significantly due to a strong macroeconomic outlook and favorable demographics. This research is a qualitative study to provide an academic literature for Indonesian startups, especially for agile software development. Regarding the high failure rate for startups, the purpose of this study is to explore the perceived success factors of Indonesian agile development startups. It also covers the adoption of implementing agile project management. This study was conducted through interviews from 20 participants within various IT-related startups in Indonesia. The implementation of agile methodologies has been broadly found in software development projects in Indonesian startups with Scrum as the common agile practice. Most of them have been using agile methods for less than a year. Contrarily, a minority of the participants refused to use agile methodologies and chose a traditional way, such as the waterfall method. It has been investigated that there are six perceived critical success factors that were found in implementing agile methodologies, as follows: project definition process, management commitment, project schedule, team environment, team capability, and delivery strategy. In addition, there is a positive correlation between those critical success factors with previous studies and startup characteristics.
Liu, Di, Zhai, Zhichao
Context. With the popularity of Agile methods, many studies about Agile software development has been done by researchers. Among the phases in Agile software projects, planning is critical because it provides an overview of the project and a guiding of future work. In addition, success factors are also mandatory to the success of Agile software development. The current literature focus on the success factors during the whole lifecycle rather than planning phase, and they don’t make an in-depth analysis on the factors. In this thesis, we perform an empirical study to deeply study the critical success factors at agile planning phase. Objectives. The main aim of our research is to identify the critical success factors at Agile planning phase and challenges associated with each factor. We list four objectives to support our main aim. First is to investigate the factors that are mandatory to the success of Agile software development at planning phase. Second is to investigate the challenges associated with each factor. Third is to find out the ways to address these challenges. The last is to identify the consequence of not ensuring these factors. Methods. We employed two research methods: systematic mapping and survey. Systematic mapping is used to identify the critical success factors of entire lifecycle in current literature. To find critical success factors at agile planning phase and make in-depth analysis, we conducted a survey based on an online questionnaire. The online questionnaire was consisted of open-ended questions and was sent to respondents who have experience on Agile development. Results. Through systematic mapping, we identified 13 papers and 47 critical success factors for Agile software development. We also made a frequency analysis for these factors and they will be the effective evidence to support the results of survey. Through the survey, we identified 13 critical success factors at agile planning and made an in-depth analysis for these 13 factors. These 13 factors are divided into two categories: people factor (individual-level, team-level) and process factor. Through the contrastive analysis of mapping results and survey results, we found that 7 factors of survey results are same or similar with some factors shown in mapping. The other 6 factors of survey are first shown. Conclusions. The factors proposed in this thesis are proved that they are important to the success of the project at planning phase. Failure to consider these critical success factors may lead to inefficient planning and even result in the failure ofthe whole project. The challenges and corresponding solutions can help organizations well manage these critical success factors. In conclusion, these detailed descriptions of critical success factors can be used as a guideline to help people increase the chance of successfully developing software with high quality and low cost in practice.
Integrating User Experience (UX)Development with Agile SoftwareDevelopment Practices. : A Multiple Case Study Involving Organizations DevelopingInteractive Healthcare Technology (IHT) ApplicationsNadikattu, Srikar Reddy January 2016 (has links)
Context. User Experience has become key to product development in recent years, as manyorganizations have realized its role in maintaining high user acceptance ratings. User ExperienceDevelopment and Agile Software Development are two highly iterative processes and user-centricprocesses. While both methods stack up well theoretically, there are many challenges encountered whenthey are integrated together in real-world development scenarios. Similar to Agile development, UserExperience Development, has many phases: performing user research, gathering UCD (User-CenteredDesign) requirements, iterating design activities, and performing usability evaluation through user tests.Executing both processes in parallel and mapping their corresponding phases is a major issue andapplying these principles in development environment is even more challenging. This integration bearseven more significance in the field of healthcare technology, where user-centered requirements ofpatients and medical practitioners need to handled systematically, as there are a wide range ofspecifications that cater to unique individuals. Hence, a case study was conducted in two majororganizations involved in the development of Interactive Healthcare Technology (IHT) applications. Objectives. Through a case study, the author attempts to investigate the factors that influence theintegration between UX development and Agile methodologies. These factors include the contemporarytools, processes and methods (TPMs) that are being used integration and the challenges that persistwhen it is applied in industry. The study aims to analyze the Agile-UX development approaches of twodistinct organizations, involved in the same domain, to get an understanding of the mentioned factors. Methods. The multiple case study was conducted through interviews, surveys and direct observation.The qualitative data analysis of the surveys was done through thematic analysis. Quantitative dataanalysis was performed on the data gathered from the surveys. A literature review was conducted priorto the case study to gain knowledge on this issue, which also partially answers the research questions.The case study design was kept consistent across both organizations. Results. Through the results of the case study and a literature review, current UX development practicesin the industry have been identified. The challenges encountered at both case organizations have been studied. These results are further validated and contrasted with the results of the literature review.Following, a retrospection of the methods employed at the case environments, a set of recommendationsfor better integration was generated. A detailed comparative analysis of Agile-UX integration at twoorganizations has been documented. At the end a generic framework has been proposed based on theanalysis of results acquired. Conclusions. Numerous conclusions were drawn from the results and data analysis. Several challengeswere identified through the study, in addition to those suggested by relevant literature. Some of thesewere uniquely prevalent in the field of IHT development. It was found that dynamically changing usercenteredrequirements and late integration of usability and UX development with Agile practices werethe most profound challenges. Adoption of UCD techniques such as Design Studio played a positiverole in easing integration. Usability evaluation and user research are also major factors in the integrationprocess. Lack of time to iterate design and issues in scheduling and performing usability testing had abig impact. Involving users in the design and development process from an early stage is essential toensure high usability and good user experience of the product. The framework designed to counter thesechallenges, takes into account, all these aspects to provide a meticulous Agile-UX integrationframework. Some key conclusion drawn from this framework, are that the application of the “One SprintAhead” approach diminishes many challenges, while performing usability testing in parallel withsystem testing can support integration.
Um novo enfoque para o gerenciamento de projetos de desenvolvimento de software / A new project management approach for software developmentMarisa Villas Bôas Dias 17 November 2005 (has links)
Esta dissertação tem por objetivo principal identificar o enfoque de gerenciamento de projetos ágil ou clássico mais apropriado para o desenvolvimento de software com o uso de Métodos Ágeis. De forma mais específica, a dissertação investiga se existe uma associação entre o desempenho dos projetos de desenvolvimento de software realizados com o uso de Métodos Ágeis e o enfoque de gerenciamento de projetos adotado. Este trabalho é decorrente de um estudo exploratório inicial, por meio do qual se buscou a ampliação do conhecimento sobre o tema, a elaboração de um estudo comparativo entre o Gerenciamento Ágil de Projetos e o Gerenciamento Clássico de Projetos, a investigação das principais características de um projeto de desenvolvimento de software realizado com o uso de Métodos Ágeis, a identificação de uma comunidade de pessoas que tivesse experiência em projetos desta natureza e, por fim, a estruturação de uma segunda etapa de pesquisa. Esta segunda etapa, de caráter quantitativo-descritivo, visou à descrição do conjunto de dados e a determinação das relações relevantes entre as variáveis de interesse. Para tanto, foram definidas as variáveis independentes, dependentes e intervenientes da pesquisa, como sendo, respectivamente, os enfoques de gerenciamento de projetos ágil e clássico, o desempenho dos projetos de desenvolvimento de software e os desenvolvimentos de software conduzidos com o uso dos Métodos Ágeis. Procedeu-se a uma amostragem intencional por julgamento, sendo selecionada uma amostra de pesquisa composta por pessoas com interesse e/ou experiência em projetos de desenvolvimento de software com o uso de Métodos Ágeis, associadas a grupos de internet especializados na discussão sobre o tema. Para a coleta de dados utilizou-se um questionário auto-administrado, enviado por meio de correio eletrônico à amostra selecionada. O tratamento dos dados foi feito com o uso de métodos estatísticos: análise descritiva, análise discriminante e regressão logística. A partir dos resultados da pesquisa pôde-se concluir que os Métodos Ágeis e o Gerenciamento Ágil de Projetos, apesar de recentes, já fazem parte da realidade brasileira. Quanto à resposta à pergunta problema, não houve evidência amostral para encontrar uma associação estatisticamente significativa entre o desempenho de um projeto de desenvolvimento de software e o enfoque de gerenciamento de projetos adotado, não sendo possível comprovar, de forma conclusiva, a existência de um enfoque de gerenciamento de projetos mais apropriado para o desenvolvimento de software com o uso de Métodos Ágeis. Porém, os resultados da análise descritiva sugeriram que a maioria dos respondentes indicou o Gerenciamento Ágil de Projetos como o enfoque mais apropriado para o desenvolvimento de software com o uso de Métodos Ágeis. Pôde-se constatar também a possibilidade de se adotar qualquer um dos enfoques de gerenciamento de projetos ágil ou clássico ou mesmo uma combinação deles, nos projetos desta natureza. Na pesquisa ainda foram identificados o critério primordial utilizado para mensuração do desempenho dos projetos de desenvolvimento de software realizados com o uso de Métodos Ágeis, as características principais destes projetos, seus fatores críticos de sucesso, além de se comprovar a importância do apoio da alta administração na adoção do Gerenciamento Ágil de Projetos. Cabe ressaltar que todas estas conclusões devem ficar restritas ao âmbito desta dissertação. Para pesquisas futuras recomenda-se a adequação do instrumento de pesquisa e o cuidado especial na seleção da amostra. Sugere-se a exploração de assuntos correlatos ao tema, como o estudo da prontidão das organizações para a adoção do Gerenciamento Ágil de Projetos, ou mesmo, a avaliação dos resultados obtidos com sua aplicação. Por fim, o cenário brasileiro atual favorece a realização de estudos nesta temática, atendendo às necessidades de pesquisadores que se interessam pelo assunto. / The main purpose of this here research is to identify the most appropriated project management approach for software development using the Agile Methods. Essentially, this study aims to determine if there is a statistical relationship between the software development project performance and its project management approach. This research is based on a preliminary exploratory study that ensured the content and context understanding, the comparison between the Agile Project Management and the Classical Project Management, the identification of the main characteristics of an agile software development project, the identification of the people involved in this kind of software development initiative and also provided the basis to structure a second phase of this research. This second quantitative-descriptive phase intends to describe the research data and to find the relevant relationships between the variables of interest. The independent variables of this study were defined as being the agile and classical project management approaches; the dependent variable was defined as being the project performance; and, the intervenient variables were defined as being the agile software development projects. A non-probabilistic intentional sampling was done. The sampling framework was drawn from people who have experience managing or participating in software projects conducted using one of the Agile Methods, and were associated to internet discussion groups on this theme. For data gathering it was used a self-applied survey, sent by e-mail to the selected groups. The respondents data were primarily analyzed using descriptive analysis and, after that, using discriminant analysis and logistics regression. It was possible to conclude that, although the Agile Methods and the Agile Project Management are quite recent, they are being used here in Brazil. Considering the main research question, there was not a statistical evidence to prove the relationship between the software development project performance and its project management approach. Thus, it was not possible to establish a final conclusion about the most appropriated project management approach for software development using the Agile Methods. Nevertheless, the results of the descriptive analysis indicated that most of the respondents tended to choose the Agile Project Management as the approach that better fits the agile software development initiatives. It was also possible to conclude that the referred projects may be managed using either the agile or the classical project management approach, or even using a combination of these two approaches. The main agile software development project success criterias were identified, as well as the project characteristics and the main critical success factors. The important role of the upper management in supporting the Agile Project Management adoption was also discussed. The research conclusions should be restricted to this here context. For future studies, special attention should be paid to the research instrument improvement and to the sampling process. The study of the organization readiness for the Agile Project Management adoption or the analysis of this project management approach implementation results could be the aims of new investigations. Finally, it is important to notice that the current Brazilian scenario stimulates and favors the development of future studies, meeting the expectations of the researchers that are interested in this subject.
Manyam, Venkata Sarath Chandra, Kurapati, Narendra
Context: Agile practices have created its own mark on recent software development strategies. The significance of agile core values and principles attracted several organizations towards agile software development. Agile methods incorporate core values & principles, whereas agile practices define how agile methods are implemented in practice. However, it is still unclear, which combinations of agile practices are adopted in practice and how are they adapted. Objectives: In this research, our main aim is to find the combinations of agile practices that are most commonly adopted in practice, which includes identifying the practices which mostly appear together and finding the evidences for adaptations of agile practices. Methods: We have developed a survey to collect empirical evidence regarding agile practice adoption and adaptation. The survey is based on a framework consisting of a set of questions to determine agile practice adoption and adaptation. The framework was validated with researchers and practitioners through interviews. In order to identify the practices and possible adaptations we conducted a literature review. The sample population of the survey includes primarily project managers, developers, agile coaches and system types includes majority of information systems, commercial type of software, outsourced and embedded. Results: We have collected 109 responses with the survey. It is important to make the tradeoff between the length of the survey and quality of the responses, so, we needed to pose many questions with regard to the ways how the practices are tailored/adapted. We found that there are certain practices which were given highest priority and mostly appear together, certain practices appears only with particular combinations of practices. Regarding practice adaptations, the empirical findings show the adaptations of each individual practice. Moreover, regarding employee and customer satisfaction, the results indicate that there is a significant level of satisfied employees and customers with agile software development. A conceptual model of agile practices and performance is developed and presented to make a better understanding of implications for practice. Conclusions: During adoption there are certain set of agile practices that were given higher importance, given highest priority during selection and also mostly appears together. Moreover, there are certain practices which are considered as most important, but are given with less priority during selection by practitioners. Furthermore, the empirical findings supports practice adaption depends on change in context factors. Finally, it is interesting to see that almost all of the stakeholders in agile software development are satisfied with its nature.
Saarnak, Stefan, Gustafsson, Björn
In the software industry a number of different software processes has been used throughout the years to address known problems with software development, despite their intention complains has been raised that some of these are too bureaucratic. The Agile Alliance was formed in 2001 and aimed to solve this problem, they developed a manifesto and twelve principles which are supported by all Agile software processes. The purpose with the manifesto and its principles is to uncover better ways of developing software and these are by many intercessors of Agile seen as common sense and not completely new ideas. The aim with this master thesis is to answer the question if companies that explicitly claim that they do not use any Agile software process are already applying some of these ideas since they are thought of as obvious and common sense. The comparison in this thesis is performed between the project lifecycles used in specific projects by five non-Agile software companies and four identified lifecycle characteristics and two more general characteristics of the Agile software processes Extreme Programming (XP) and Dynamic Systems Development Method (DSDM). The result from the analysis of these interviews has shown that it is very difficult to decide if a software company really is working as described by XP or DSDM, this is due to that many different factors affect the final outcome. For example type of project and is the software company using different software processes for different kinds of projects. Since we just covered specific projects we were only able to conclude with absolute certainty actions that really were performed in just these projects. The project lifecycles of these software companies had some similarities with the above mentioned Agile software processes, but as a whole the analysis showed that they are quite different due to that two very important characteristics according to us, namely iterative development and frequent releases, were not applied by any of the software companies and that their project phases differed tremendously compared to XP and DSDM. Our common sense hypothesis for Agile software development was shown in this investigation to be incorrect since important activities were not performed by any of the software companies. Instead of using an iterative approach with frequent releases they all followed sequential waterfall like software processes.
Saripalli, Phani Shashank, Darse, David Hem Paul
Context: In the last decade, Agile software development methods were proposed as a response to plan-driven methods. The main aim for this paradigm shift was to cope up with constant changes. Core values that are central to agile methods are described in Agile Manifesto. Agile practices define how agile methods are implemented in practice. Objectives: This study aims to investigate what practices were considered and adopted as part of agile philosophy, and identify evidence on the use of agile practices in reference to what defines agile. Methods: We conducted a systematic literature review. The review includes 186 primary studies published between 2000 and 2010. Quality assessment based on rigor and relevance as identified in the selected papers has been conducted. Non-empirical papers were classified based on themes they addressed. Empirical papers were analyzed based on two factors: 1. if they described the use of agile practices for a software project/product in general, 2. if they described the use of agile practices for a specific purpose/activity Application type, team size and experience of subjects in the primary studies were extracted. The alignment between practices reported in the studies with the core agile values is analyzed. Results: A total of 119 studies were conducted in industry and 67 in academia. Nearly half the papers published by researchers are non-empirical and present analysis of agile practices in various topics. Over half of the empirical papers were focused on evaluation/assessment of a specific aspect of agile. ‘Pair programming’ received most attention in this direction. Among the empirical studies that described agile practices for academic projects, ‘Pair programming’ and ‘Test driven development’ were the most considered practices. Among the 119 studies conducted in industry, 93 studies described the use of agile practices for the overall project/product development while the remaining studies described experiences of single practices like Pair Programming or the modification/adoption of agile for non-software aspects in software projects. Practices adopted have been ranked based on team size, practitioners’ experience and application type. A method for agile assessment based on core agile values is developed and exemplified. Conclusions: Practices that are considered agile vary with context although ‘Pair programming’, ‘Continuous integration’, ‘Refactoring and Testing continuous throughout the project are the most common practices used. ‘Test driven development’ was not highly adopted by practitioners. But it was not clear if test cases were written before code construction in projects where continuous testing was performed. However, this was completely opposite in academic projects. Practices ‘On-site frequently modified. In many of the studies inspected, practices adopted were not aligned with agile values. Although practices related to technical aspects of software development are in place, agile practices that focus aspects like ‘working together’ and ‘motivated individuals’ are often not used in practice. Moreover, many of the studies were not reported to an extent that it was possible to draw any inferences on the usability/applicability, benefits and limitations of the agile practices. To this end, a major implication is to improve the quality of the studies and a need for a common framework to report the results of agile practices’ adoption.
Page generated in 0.154 seconds