Strengths And Weakness Of Traditional And Agile Processes .

3y ago
298 Views
27 Downloads
1.36 MB
11 Pages
Last View : 15d ago
Last Download : 3m ago
Upload by : Grant Gall
Transcription

Journal of SoftwareStrengths and Weakness of Traditional and AgileProcesses A Systematic ReviewMahrukh Sameen Mirza, Soma Datta*University of Houston-Clear Lake, Houston, Texas, USA.* Corresponding author. Tel.: 12182833838 email: datta@uhcl.edu, mahrukh.smirza@gmail.comManuscript submitted February 25, 2019; accepted April 10, 2019.doi: 10.17706/jsw.14.5.209-219Abstract: In the software industry, there are several processes and methodologies that exist. The traditionalprocesses and Agile methodologies have their own strengths and weaknesses. Agile methodologiesovercome some of the weaknesses of traditional processes. Although in the recent years Agilemethodologies have been used by software development companies, there is still a high ratio of softwarefailures when compared with core engineering processes. The adoption of these processes in softwaredevelopment could alleviate software failures. This systematic study reviews the strengths and weaknessesof both traditional processes and Agile processes. The search strategy resulted in 91 papers, of which 25primary studies are investigated between 2012 and 2019. The detailed search strategy has been presentedin this study along with future directions.Key words: Agile, core engineering processes, extreme programming, feature driven development, Kanban,lean, scrum, systematic review, test driven development, traditional.1. IntroductionBefore 2001[1]-[13], the software industry used traditional software development processes (i.e.,Classical waterfall model, iterative waterfall model, spiral model, RAD model). While these traditionalmodels are known to be cost saving for bigger, off-shore projects, there is criticism that exists [13]-[25]. Dueto these criticisms and the high ratio of software failures that used traditional models, it led to a change insoftware process development in 1999. This evolution started to encourage lightweight processes and abroader approach for better software development.In 2001 [1], the original contributors of this evolution met and tried to identify the areas that theseexisting software methodologies had in common. Focusing on this common ground, led to the “AgileManifesto”.Since the introduction of the “Agile Manifesto” in 2001, Agile methodologies have gained much popularityand success. The software industry had a huge shift from practicing traditional software development tonow adopting Agile methodologies. There are several reasons why the software industry has chosen Agileover traditional models. Some of the reasons are faster product delivery, iterations, customer satisfaction,high product quality, etc. In general, the shift in Agile methodologies focuses more on individuals andinteractions over processes and tools, working process over detailed documentation, customercollaboration over contact negotiation and responding to change rather than following a plan [20], [22]. Itwas also seen that Agile software development could handle changing requirements flexibly [15]. This209Volume 14, Number 5, May 2019

Journal of Softwaremethod basically put more focus on quality product development, simplicity and enhancing knowledgefrom change incorporation. Several Agile methodologies such as Scrum, eXtreme programing (XP), and Leanwork well with the organization but also have potential risks associated with them. These Agilemethodologies are often easily misunderstood. It is also difficult to manage methods like Scrum in anorganization because it requires all team players to be motivated.The core engineering processes are well defined and followed properly because they are usually lifecritical products. Consider an example of the civil engineering discipline, it is important that the engineersproperly design and deliver whatever they make. People think software development is different from theengineering design practice. While every other discipline follows almost the same engineering process,software development has different approaches towards development. If these engineering designapproaches are integrated in the present software development practices, then there would be less failureand the process would turn out to be more advantageous.The rest of the paper is organized as follows – section 2 consists of the research process that was used todo this systematic review. It provides keywords that were used to search for research papers and theinclusion and exclusion criteria used to select important papers. Section 3 consists of the research question.Section 4 has the related work and section 5 is the conclusion and future directions.2. Research ProcessThere were 91 papers found by using the search keywords as in Table 1. Of these 91 papers, 72 paperswere selected by reading the abstract. 25 papers were selected for primary study by using the inclusion andexclusion criteria. The search process which involved identifying the relevant papers was done by usingdifferent combinations of keywords. The search took place in steps in which the very first step was tosearch papers using the search keywords. The quality of the papers was determined after reading thepapers in detail. Both the authors searched and downloaded the papers. Author 2 was responsible forreading the abstract and deciding if a particular paper was relevant or not by using the inclusion andexclusion criteria. Author 1 was responsible for determining the quality of the papers by reading them indetail. A summary of each paper after detailed reading was created by author 1.The search keywords used to find the papers are show in Table 1 and Fig. 1 shows the phases that wereinvolved in the searching process.Table 1. Search iesEngineeringSearch keywordsTraditional software development OR traditional Agile OR software development life cycleOR SDLC OR traditional models OR traditional model OR traditional software model ORtraditional software models OR waterfall AgileAgile methodologies OR Agile software OR Agile development OR XP Agile OR eXtremeprogramming Agile OR Scrum Agile OR Crsytal Agile OR DSDM Agile OR dynamic systemdevelopment method Agile OR FDD Agile OR feature driven development Agile OR LeanAgile OR Kanban Agile OR Agile manifestoCore engineering design processThe inclusion criteria was as follows –1) Papers were published between 2012 to 20192) Papers written in English3) Papers that were scholarly & peer reviewed and journal articles4) Papers having computer science and engineering discipline210Volume 14, Number 5, May 2019

Journal of Software5) Papers having search terms software engineering, software and engineering6) Papers where the search terms were found in the abstract7) Papers that spoke about Agile, traditional or core engineering design processThe exclusion criteria was –1) Papers that are duplicates of papers that were already included2) Papers that did not talk about traditional, Agile or core engineering design process3) Papers that were older than 2012Table 2 below shows the papers that were included in the study. The table provides a brief description ofeach paper along with the year they belong to.Fig. 1. Systematic search process.Fig. 2. Publication by year.The fig above shows that there was one paper from 2019, six papers from 2018, ten papers from 2017,three papers from 2016, three from 2015, one from 2013, and one from 2012 and there were none from2014.211Volume 14, Number 5, May 2019

Journal of SoftwareTable 2. Brief Description of each Paper with YearYearTitleBrief description2019Lean and Agile ironmentKanbaninSoftwareEngineering : A systematicmapping studyThe Proposed L-ScrumbanMethodology to Improve theEfficiency of Agile SoftwareDevelopmentDoPairProgrammingApproaches Transcend Coding?Measuring Agile Attitudes inDiverse Information SystemsCoursesBack to the future: origins anddirectionsofthe“AgileManifesto” – views of theoriginatorsWhat Do We (Really) KnowAboutTest–DrivenDevelopmentThe main objective of this paper is to show that both Lean and Agile approachescan be used depending upon what type of environment we are working on. Thepaper provides an overview of these approaches and identifies the well-knownpractices of both.This paper conducts a systematic mapping of Kanban in software engineeringbetween the years 2006 to 2016. From experience reports and primary studies,both the benefits and challenges of Kanban are identified.In this paper, a new methodology of L-Scrumban is proposed which integratesScrum, Lean and Kanban. The paper also validates this methodology whichconfirms its efficiency.2018On the benefits and challengesof using Kanban in softwareengineering:astructuredsynthesis study2017SXP:SimplifiedExtremeProgramming Process ModelAgile Software DevelopmentModels TDD, FDD, DSDM, andCrystal Methods: A SurveyCan FOSS projects benefit fromintegrating Kanban: a casestudyApplicability and issues intraditional model of ERPimplementations: an industryperspectiveAStudyofSoftwareDevelopment Life Cycle ProcessModelsInvestigating Agile Adoption forProject DevelopmentIn this paper, a tailored programming challenge is applied to a group of first yearstudents through senior Information Systems (IS) and non – IS majors. This is toanalyze how the attitudes of participants and perceived benefits ofprogramming language change. It also determines whether the quality andfunctionality of the solutions differ across educational levels and disciplines.A survey and an interview study with the original contributors of Agilemanifesto are presented in this paper. The paper talks about today’s perspectiveand the outlook on future of the manifesto.This paper talks about Test Driven Development. It answers questions like IsTDD better than any other development method? Does it really fulfill allpromises it makes? How do you decide whether or not to use TDD? And whatare TDDs secondary effects?The goal of this paper was to present the benefits and challenges of Kanban forthe practitioners so that they can understand and analyze them for real-timeprojects.In this paper, a simplified version of XP is presented which promises toovercome its drawbacks.This paper gives a review about TDD, FDD, Crystal and DSDM. It talks aboutphases that are involved in these processes, about misconceptions, advantagesand disadvantages of each.There is a lack of research in integration of Free and Open Source Software(FOSS) and Agile Software Development (ASD). This paper attempts to integrateboth and reports its benefits.This paper presents a literature review of the ERP model and the real-timescenarios of practitioners when they work with this model.A complete explanation of the SDLC models is given in this paper. The papertalks about Waterfall model, Iterative Model, Spiral Model, V-Model, Big BangModel, Agile Model, Rapid Application Development Model and SoftwarePrototype. The advantages and disadvantages are stated along with situations inwhich the model will best fit.The main goal of this paper is to highlight Agile transition in companies alongwith project management challenges. It also presents a comparison oftraditional and Agile software development212Volume 14, Number 5, May 2019

Journal of SoftwareYearTitleBrief descriptionSimplified FDD Process ModelThe main problems in FDD are that it is less responsiveness towards changingrequirements, inappropriate for small scale projects and reliant on experiencedstaff. To overcome these limitations, this paper proposes a Simplified FDDProcess Model.In order to provide a quality assessment of Scrum projects, a process has beenpresented in this paper followed by Bayesian network. This process can be usedby the Scrum masters for the improvement of business value delivery.Assistingthecontinuousimprovement of Scrum projectsusing metrics and BayesiannetworksEvaluating the Quality ofProposed Agile XScrum Model20162015Managing the requirementsflow from strategy to release inlarge scale Agile adoption: acase study at EricssonPerceived barriers to effectiveknowledge sharing in Agilesoftware teamsThe impacts of Agile and leanpracticesonprojectconstraints: a tertiary ematic ReviewThe Kanban approach, betweenagilityandleanness:asystematic reviewAchievingagilitythroughBRIDGE process model : anapproach to integrate the eviewofdistributed Agilesoftwareengineering2013Evaluating the impacts of anAgiletransformation:alongitudinal case study in adistributed context2012Agile software development formedium and large projectsXP and Scrum processes are integrated in this paper in order to enrich thestrengths of both and overcome their limitations. The paper also validates theXScrum process by performing three case studies of industrial projects.An in-depth study of the Ericson telecommunications node developmentorganization is presented in this paper. The study describes how therequirements flow beginning with strategy to release. Its related benefits andproblems are also highlighted in the paper.Based on an in-depth multi case study, this paper investigates how the projectmanager, developers, testers and user representatives think about barriers toeffective knowledge sharing in Agile development.A tertiary study with 13 secondary studies is presented in this paper. Itdiscusses how Agile and lean practices have their impact on projects. It alsoindicates that TDD has positive impact on external quality.This paper presents a systematic review of 30 research papers between theyears 2001 and 2015. It talks about the use of Agile in software maintenance inorder to increase software quality.A systematic review of Kanban is presented in this paper. A total of 37 primarystudies were selected and there are 20 different elements of Kanban that areconsidered and reported.The main goal of this paper is to show that agility can also be achieved bytraditional development process. This paper uses the BRIDGE model to depictthe same. It integrates the traditional and Agile software development andestablishes compatibility between these approaches.Distributed human resources in Agile come with a number of challenges thatneeds to be considered and mitigated. Firstly, this paper talks about theconditions that lead to adopting Distribute Agile Software Engineering (DASE).Secondly, it talks about the risks associated to DASE and the strategies that existto mitigate these risks. Lastly, it talks about the approaches that have beensuccessfully adopted by the organizations.This paper talks about what impact the introduction of Agile practices had inlarge software development organizations. The study concluded with tworesults. First, Agile practices has beneficial effects that were expected andsecond, with such a longitudinal study, it is possible to evaluate both the impactof Agile and its effects at very early stages in an organization.Despite several benefits, there are few limitations to XP which are weakdocumentation, lack of strong architecture, ignorance of risk awareness andinappropriateness for medium and large projects. An extended XP model hasbeen proposed in this paper which promises to provide equal benefits formedium and large projects like that of its benefits in small projects. Threeindustrial case studies are conducted to evaluate the proposed model. Theresults indicate that XP is equally beneficial to medium and large projects.213Volume 14, Number 5, May 2019

Journal of SoftwareOnly Journal articles were selected for this study. Table 3 below shows the publication channel and thenumber of articles related to that publication channel.Table 3. Papers by PublishersNumber ofpapersPublication channelSpringerInformaticaWiley online libraryJournal of software engineering and developmentInternational journal of electrical and computer scienceModern education and computer scienceInstitute of Engineering and Technology (IET) SoftwareJournal of information system educationJournal of system and softwareInstitute of Electrical and Electronic Engineers (IEEE)7141141121International journal of multidiscipline science and engineering1International journal of advanced computer research23. Research QuestionThis review has been done in order to address the strengths and weaknesses of traditional vs. Agilesoftware development. Hence, the research question is can an ensemble method help in achieving a highersuccess rate in software development?4. Related WorksAccording to Mandal et al. [16] the primary perceived weaknesses of traditional software developmentprocesses are as follows – excessive documentation, too sequential, excessive planning, a lack of resultsuntil the end, late communication to stakeholders, delays in project delivery and increased project costs.Agile methodologies were developed to overcome these weaknesses. Mandal et al. [16] also said that “Agilewas a significant departure from the heavyweight document driven traditional software methodologies”.There are 12 principles of Agile manifesto [1] whose detailed description is out of the scope of this paper.However, summarization of these principles was done by Mandal et al. [1] and are presented as follows –Customer satisfaction, incorporation of rapid system change, frequent working software delivery, continuescorporation of client and developer, motivated trusted individuals, continuous improvement, arrangementof face-to-face conversation, progress measurement, sustainable development, attention to technicalexcellence, simplicity, self-organizing teams, internal assessment for knowledge enhancement, qualityassurance and economic development.The meaning of these principles is often misunderstood, wrongly interpreted and commercialized [1].Many people claim to be Agile in the present software industry only because it is fashionable to be Agile [1].There is a difference between “doing Agile” and “being Agile” [1]. Agile methods and practices are oftenpoorly implemented [1]. There are still several organizations who are struggling to adopt Agile methodssuccessfully [8, 10].In spite of the fact that Agile has been accepted well by the software industry, it still has strengths andweakness which are highlighted by Tarwani et al. [25]. According to them, the strengths of Agilemethodologies are early warning of risk, constant testing, iterations, small teams, customer feedback,quality, on time and on budget. Tarwani et al. [25] said that “the main strength of Agile due to which it had214Volume 14, Number 5, May 2019

Journal of Softwaregained popularity over traditional and sequential waterfall model is that it is based on the concept ofiterations”.The weakness of Agile methodologies as presented by Tarwani et al. [25] aremiscommunication, resource increase, overall cost increase, inappropriateness for large projects and lack ofcoordination.Specifically talking about individual Agile methodologies, Scrum is one most of the widely used Agilemethodologies. This methodology mainly relies on effective and efficient communication among the teammembers [22]. It is one of the best in management practices. The core values as stated by Qureshi in [22]are daily inspections, self-organized teams, the Scrum master, every sprint having a delivery and productowner setting priorities to the product backlog. According to [3], Scrum has short iterations which involvecontinuous feedback from the customer that makes it easy to cope with the changing needs andrequirements of the industry. This in turn helps in delivering a quality product with customer satisfaction.Daily Scrum meetings and sprint meetings make it easier to measure the growth and productivity of aproduct and an individual working in that team. Also, testing is done at the end of each sprint whichguarantees the quality and bugs are fixed right away. With several Scrum meetings, it becomes easier tofollow the schedule and deliver the product on time. In spite of

failures when compared with core engineering processes. The adoption of these processes in software development could alleviate software failures. This systematic study reviews the strengths and weaknesses of both traditional processes and Agile processes. The search strategy resulted in 91 papers, of which 25

Related Documents:

2.5.1 The importance of a strengths-based approach to leader or leadership development 18 2.5.1.1 Strengths-based coaching 19 2.5.2 Background to 'strengths' 20 2.5.3 Character strengths as defined by positive psychology 21 2.5.4 The VIA Strengths test 22 2.5.5 Critiques of a strengths-based approach 22 2.6 COACHING 23

strengths and pick out in others listen to work with will help in. Spend more you provide examples of strengths is a way you know the definition of strengths is the labels for example, that my best and weaknesses. Lie of personal strengths and organization is why i get an. Sometimes the strengths and determined, describing the skills you are .

A. Team s Shared Character Strengths - Top character strengths that individuals share in common B. Character Strengths without strong representation C. Team s Character Strengths categorized by Virtue categories (the 6 VIA Virtues) D. Team s Character Strengths displayed along dimensions of the VIA Character Strengths Two-Factor Graph

What do we know about the strengths and weakness of different policy mechanisms to infl uence health behaviour in the population? Contents Page Prelims v 1 Background 1 2 Focus of the policy summary 3 3 What factors infl uence why people do or do not change their behaviour? 4 4 What mechanisms have been used to help infl uence health .

Strengths-Based Teaching Capitalizes on the instructors strengths for maximum teaching effectiveness Connects students’ strengths to strategies for mastering course content. Purpose of Strengths-Based Teaching is: To motivate and engage faculty in class design and interaction and in student interaction and feedbac

A strengths-based development approach is about identifying the ways in which employees most naturally think, feel, and behave, and building on those talents to create strengths — the ability to consistently provide near-perfect performance in a specific task. A strengths-based approach combines the

SOCIAL STYLE and Strengths Based Leadership The Strengths Based Model provides leaders with excellent feedback on their strengths and tips for increasing effectiveness within each of the 34 themes. The SOCIAL STYLE Model augments the Strengths approach by providing an easy-to-understand paradigm with specific and actionable information. In .

Spreitzer, the assumption underlying a strengths-based approach is that nurturing strengths, as opposed to focusing exclusively on correcting defi ciencies, creates subordinate leaders who are able to recognize and realize their full potential.1 In keeping with strengths-based leadership theory, Army leaders who focus on subordinates' strengths