Comparison Of Agile Method And Scrum Method With

2y ago
40 Views
2 Downloads
490.35 KB
5 Pages
Last View : Today
Last Download : 3m ago
Upload by : Baylee Stein
Transcription

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 10, No. 5, 2019Comparison of Agile Method and Scrum Method withSoftware Quality Affecting FactorsMuhammad Asaad Subih1, Babar Hayat Malik2, Imran Mazhar3, Amina Yousaf4, Muhammad Usman Sabir5Tamoor Wakeel6, Izaz-ul-Hassan7, Wajid Ali8, Bilal-bin-Ijaz9, Muhammad Suleman10, Hadiqa Nawaz11University of Lahore, Gujrat Campus, Gujrat, PakistanAbstract—The software industry used software developmentlifecycle (SDLC) to design, develop, produce high quality,reliable and cost-effective software products. To develop anapplication, project team used some methodology which mayinclude artifacts and pre-defining specific deliverables. There aredifferent SDLC process models such as waterfall, iterative, spiraland agile model available to develop a quality product. In thispaper we focus only on agile software development model, andScrum model and their techniques. There are many papers andbooks written on agile methodologies. We will also use theirknowledge in this paper. To collect data for comparison of agilemethod with software quality affecting factors, an onlinequestionnaire survey was conducted. The survey sampleconsisted of software developers with several years of industryexperience using agile methodologies. The main purpose of thisstudy is to compare soft-ware quality affecting factors with agileand scrum model.Keywords—Component; SDLC; Software Quality AffectingFactors; Agile methodologies; ScrumI.INTRODUCTIONAgile methodologies have played a vital role in thedevelopment of software as compared to other methodologies.Because many companies want to implement good-qualitysystems, and they want to do it in a minimum period of time, ata less cost [1][2][5]. Therefore, many companies have startedto follow agile methods to develop software [1], and it hasbeen found that the extent of the organizational team‟s skills[1], culture of the organization [1], nature of project [1], andproject constraints must be given in-depth consideration [1]when selecting an Agile method. Agile Software DevelopmentMethodologies [1][2][3] are based on both incremental anditerative development.There are different agile methodologies such as opment, Feature Driven Development, [1][2][3][5]. Asour research aim is focus only on agile software developmentmodel, and Scrum model and their techniques. The mainpurpose of this study is to compare software quality affectingfactors with agile and scrum model [1]. Nowadays, manyorganizations are using agile methodologies because thesemethodologies support flexibility, changes at any stage, andlight documentation.Scrum [1][5][6] is an agile framework focuses softwaredevelopment. This method is based upon consistentinstallments, and regular collaboration among self-organizingcross-functional departments. This method is for 3 to 9members team who break their work into actions that can becompleted within time boxed iterations, called “sprints” [1].The sprints are not more than one month and most commonlytwo weeks, re-plan in 15min standup meetings, called “dailyscrums”. Scrum rules are product owner, scrum master andteam. Scrum is easy with changes; it accommodates withchanges [1]. Agile methodologies address quality issues andfocusing on the role of quality.II. RELATED WORKIt is important to work on product quality and to measuringsoftware development projects to get a better understandingabout the progress of project [2]. Agile methodologies addressquality issues repeatedly and continuously. Agile methodfocuses on software quality through customers [2], minimumerror rate, faster development and welcome to changingenvironment.As Oberscheven [1] research aim is focus on agilesoftware development model, and Scrum model and theirtechniques. The main purpose of this study is to comparesoftware quality affecting factors with agile and scrum model.Nowadays, many organizations are using agile methodologiesbecause these methodologies support flexibility, changes at anystage, and light documentation. There are different agilemethodologies such as Scrum, Kanban, Extreme Programming,Crystal, Dynamic System Development Method, FeatureDriven Development, and Adaptive Software Development. AHossain, MA Kashem: [2] describe that the agile techniquesare used to minimize risk factors by developing software inshort period of time. During the software development thechanges are welcome in agile method. In the end, this paperconcludes that agile techniques are using to increase the qualityof software all the way through increased customer value. Itde-scribes how we can increase the quality of software byusing agile techniques.Sheetal Sharma [4] describe the factors that affect thequality of software [4] are correctness, reliability, rtability,maintainability, and efficiency. This research paper is aboutSDLC models and different scenarios which are using bydevelopers for developing a well-engineered software. SheetalSharma describes some advantages and disadvantages of agilemethodologies in our research paper. According to this, thereare least documentation in agile method and ensure thecustomer satisfaction but meanwhile least documentation isalso disadvantage of agile methodology.531 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 10, No. 5, 2019III. SOFTWARE QUALTY AFFECTING FACTORSSoftware quality is related to customer satisfaction and lowerror levels in software. The external and internal qualitycriterion are used to evaluate the quality of a software. Externalquality is relating to the functionality of the software. Internalquality relates to coding, and that are not visible to the end-user[2][6][8]. These Software Quality factors are shortlisted by thebrief literature study and are supported by the literature reviewas in [2][6][8]. The factors under the study are supported byabove mentioned literature.Generally, the software qualities are of three types: Quality of design Quality of performance Quality of AdoptionThese three qualities can be further divided into otherquality attributes. Table I shows the factors affecting thesoftware quality and their attributes.TABLE I.SHOWS THE SOFTWARE QUALITY AFFECTING FACTORSSoftware Quality FactorsQuality of DesignDescriptionCorrectnessIf software doesn‟t work correctly as requiredthen it is wasteful.MaintainabilityIf software is not able to add new features or toremove error, then it has no worth.Quality of PerformanceEfficiencyIt is a factor relating to all issues in theexecution of software.ReliabilityIt defines how well the software meets hisrequirements.UsabilityIf software is not user friendly then it is hard foruser to use.TestabilityIf testing is not done properly then it makessoftware errors.Quality of AdoptionExtensibilityIf software coding is not extendable by addingnew features then it has no worth.PortabilityIt is the effort required to transfer the softwarefrom one configuration to another.ReusabilityIf software is not reusable then it is limitedproduct.IV. SOME POPULAR AGILE METHODOLOGIESAfter All of the agile methodologies acknowledged toproduce higher quality software and more significantly thesatisfaction of customer [1][7]. Here, some of agilemethodologies are listed below.A. Extreme Programming (XP)XP [3][4][6][7] is one of the most successful agile method.This method focuses on customer satisfaction. It divides theSDLC into various number of short development cycles. Atany phase of SDLC, it allows changes or requirements from thecustomers. First phase of Extreme programming is collectinguser requirements, and then these requirements are divided intovarious small no of cycles. Now the upcoming phase isiteration planning. If any new user requirement may comeduring the development phase then according to that, iterationplan should be tuned [4]. Next step is testing and errors will beremoved in the next iteration.B. Feature Driven Development (FDD)FDD [3][6][7] is one of the agile development methods.Designing of the domain of software is the main feature of thismethod and it also focus on the building phases of thesoftware. The first phase of the method is to get userrequirements and constructing the overall model of the project.Next phase is to list down features relates to the user-valuedfunctions [3] [6]. For example, „calculation of company‟s eachemployee‟, „calculation of tax each company‟s employee‟.There are different groups of features are made based on theirdomains i.e. related features are combined into a single group.In another step make a plan for developing and assigned thesetasks to development team.C. Scrum MethodScrum [1][5][6] is an agile framework focuses softwaredevelopment. This method is based upon consistentinstallments, and regular collaboration among self-organizingcross-functional departments. This method is for 3 to 9members team who break their work into actions that can becompleted within time boxed iterations, called “sprints” [1].The sprints are not more than one month and most commonlytwo weeks, re-plan in 15min standup meetings, called “dailyscrums”. Scrum rules are product owner, scrum master andteam. Scrum is easy with changes; it accommodates withchanges. Scrum [1][5][6] is a simple framework used toorganize teams and get work done more productively and withhigher quality. Scrum is easy with changes; it accommodateswith changes. Some key scrum practices are discussed below[1][3][4][5]. These key factors are taken in account fordescription one by one. Product Backlog – The software development teamidentified all tasks and makes a list called the Backlog. Sprints – Sprint is 3 to 9 members team who breaktheir work into actions that can be completed withintime boxed iterations, called “sprints” [1]. The sprintsare not more than one month and most commonly twoweeks. Sprint planning meeting – There are differentstakeholders are involved in sprint planning meeting.They decide the functionality of the system. Thestakeholders are customers, product owner and scrumteam. Sprint Backlog – When a list of tasks is completed thana new iteration of the software product is delivered. Daily Scrum – These daily scrum meetings are notmore than 15minutes long [9].532 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 10, No. 5, 2019V. EVALUATION OF SOFTWARE QUALITIES WITH AGILETECHNIQUESA. System MetaphorThe system metaphor is all about that how system works.In system metaphor customers, programmers, and managersare involved. The System metaphor [2] is used to facilitatecommunication between customer and developer. It helps theagile development team [2] in the development of software byin-creasing communication between developers and users. So,by using system metaphor maintainability, efficiency,reliability and flexibility of the system enhance.B. Architectural SpikeAn architectural spike is technique that can re-duce thetechnical risk factor from the product and it comes fromExtreme Programming (XP). The main purpose of thistechnique is to reduce the risk of a technical problem [2]. Thespike is between product owner and development team.C. Onsite Customer FeedbacksCustomer are only involved while the development ofsoftware. In agile methodologies, communication with thecustomers are required, which is in-tended to improveproductivity [2]. Agile methodologies emphasize a lot oncustomer feedback.D. RefactoringDuring the development of software, we can improve theinternal structure of the software without effect on externalbehavior. So, by using refactoring, efficiency, reliability, intraoperability and interoperability [2], testability of the systemenhances.E. Pair ProgrammingIt is a technique in which two programmers are involved onsame code. One programmer writes code while the othermonitor the code and gives reviews. So, by using Pairprogramming correctness, verifiability [2], testability of thesystem enhances and reduces defects.F. Stand-Up-MeetingThis method is for 3 to 9 members team who break theirwork into actions that can be completed within time boxediterations, called “sprints” [1]. The sprints are not more thanone month and most commonly two weeks, re-plan in 15minstandup meetings, called “daily scrums”. Stand-up-meeting isvery useful for improving the quality of the software likereliability and flexibility.G. Continuous Integration (CI)The programmers are sharing the code in CI technique [2].In continuous integration like the auto-mated compilation, unittest execution, and source control integration are configure byagile teams.Table II shows the software qualities in the agiledevelopment. The software qualities contain Maintainability,Verifiability, Efficiency, Integrity, Reliability, Usability,Testability, Expandability, Flexibility, Portability, Reusability,Interoperability and interoperability. Table II further describestheir use in the agile development technique.TABLE II.SHOWING THE SOFTWARE QUALITIES IN AGILE DEVELOPMENTTEAMSoftware QualitiesAgile TechniqueMaintainabilityContinuous IntegrationVerifiabilityContinuous IntegrationEfficiencyPair programming System metaphorIntegrityContinuous IntegrationReliabilityRefactoring System metaphorUsabilityContinuous IntegrationTestabilityPair programming Acceptance testingUnit testing RefactoringExpandabilityContinuous Integration Onsite customer feedbackFlexibilityStand-up meeting System metaphorPortabilityPair programming Acceptance testingReusabilityRefactoring Continuous IntegrationInteroperabilityRefactoring System metaphorIntra-operabilityContinuous IntegrationVI. QUESTIONNAIRESThe following is a questionnaire developed to compare thesoftware quality affecting factors with agile methodologies.The data on agile methodology was collected with the help ofquestionnaire survey. A summary of the survey and theirresults are given below.A. Questionnaire FormatThe questions were divided into three parts: First partdeals with the respondent‟s position in the organization andexperience on agile methodologies. Second section related tothe agile methodologies and scrum method. Last section dealswith the software quality affecting factors of agilemethodologies.B. QuestionsFollowing the questionnaire survey approach, weformulated questions which help us to assess goals. Thedefined questions are presented in this section.Table III shows the questions being asked and their relationto the agile development and software qualities. Table III isdivided into three main sections.First section is about the personal information of therespondent, his positions in the organization and his experienceabout the agile development. Second section queries about theagile methodology and the Scrum development technique andthe last most and the third section inquiries about the softwarequality affecting factors with respect to agile methodology.533 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 10, No. 5, 2019TABLE III.SHOWS THE QUESTIONS RELATING TO AGILE METHOD ANDSOFTWARE QUALITIESQuestionsRespondent‟sposition in theorganization andexperience onagilemethodologies.Q1.1 What is your name?Q1.2 What is your company name?Q1.3 What is your job title?Q1.4 How long have you Experiences with AgileMethods? 1-year 1-2 years 3-5 years.Agilemethodologies andScrum methodQ2.1 What are the key reasons to start agile? Quality Productivity Predictability Team healthQ2.2 Starting Scrum Meeting Practice Difficulty? Easy HardQ2.3 What is the frequency of using Scrum meeting? Never Irregularly Frequently DailyQ2.4 Frequency of Using agile methodologies? Never Rarely Frequently AlwaysSoftware qualityaffecting factorswith agilemethodologiesQ3. By using agile methodologies for the developmentof software, then the software has following qualities:give answer of every option as “agree, disagree,strongly agree, strongly disagree”. Software does work correctly as required. Software is error free. Software is user friendly for use. Software coding is extend-able for addingnew features. Software can be reused in other relatedapplications. Software has testability quality. Software can be transfer from oneconfiguration to another. Software is able to add new features or toremove error. Software is efficient.Fig. 1. Shows Agile Methods and Software Quality Factors QuestionnaireResults Experiences with Agile Methods.Second section related to the agile method and scrummethod (see Fig. 2, 3, 4 and 5). Fig. 2 shows that what are thekey reasons that developers are using agile methodologies.Graph show that 10 developers are using agile methodologiesbecause of quality, 6 developers are using agile method due toteam health and five dues to productivity.Fig. 3 show that 10 respondents state that starting scrummeeting practice is not difficult.Fig. 2. Agile Methods and Software Quality Factors Questionnaire Results–Key Reasons to Start Agile methodologies.C. Questionnaire DistributionThe questionnaire was distributed through e-mail. Due toshortage of time, questionnaire was distributed among 15different software developers. Then 10 of the softwareprofessionals responded within 2 days. One of the mainreasons to select these persons which are working in soft-waredevelopment companies was, easy to access and easycommunication.D. Questionnaire ResultsFirst questionnaire section deals with the respondent‟sposition in the organization and experience on agilemethodologies. Fig. 1 represent that 28% respondents havelonger experience in agile, 27% of the respondents have 3 to 5years‟ experience and only 18% respondents have less than 1year experience.Fig. 3. Shows Agile Methods and Software Quality Factors QuestionnaireResults–Starting Scrum Meeting Practice.534 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 10, No. 5, 2019Fig. 4 shows that 75% of software professionals are usingscrum meeting frequently and only 25 % irregularly. Fig. 5shows that 70% respondents are always using agilemethodologies for the development of software.Last section (Fig. 6) deals with the software qualityaffecting factors of agile methodologies. Fig. 6 shows that thecomparison of software quality affecting factors with agilemethodologies. The questionnaire result indicates that almostall developers use agile methodologies to fulfill the qualities ofsoftware. In the survey, 10 respondents answer that they useagile methodologies for the development of software and thereason behind that software qualities like correct-ness,reliability, usability, extensibility, reusability, testability,portability, maintainability and efficiency.Fig. 4. Shows Agile Methods and Software Quality Factors QuestionnaireResults–Percentage of using Scrum Meeting.E. Data ValidationFor the confirmation of data validation, we interact with therespondents and asked them about the surety of their answers.Then, they inform us that, they also consulted with other teammembers in the company who had higher experience in theagile field. So, after sure about the opinion of the professionals,they filled in the questionnaire. That‟s why, respondents wereconfident about their answers.VII. CONCLUSIONS AND FUTURE WORKIn this paper, a questionnaire survey was conducted. By thissurvey we collect data from different software developmentcompanies‟ employees for the comparison of software qualityaffecting factors with agile and scrum method. We haveidentified software quality affecting factors such as correctness,reliability, portability, testability, efficiency and extensibility.The main advantage of agile technique is customer satisfactionand its welcome user requirement changing at any phase. Byusing agile method, the software has almost all softwarequalities. In future work the questionnaires should be repeatedwith additional respondents to the results from the userfeedback presented in this study. We will enhance our area ofresearch about agile methodologies and software qualityaffecting factors. In current research we only target theproblem that is comparison of agile methodologies with software quality affecting factors, but in future we will try toidentify the all identified issues of agile methodologies andtheir effect on software product and customer‟s trust.According to the questionnaires the percent-age of softwarequalities increased by using agile methodologies. In futurework we should work on customers satisfaction by using agilemethodologies. How well agile methodologies fulfillcustomers‟ satisfaction for the development of software.[1][2]Fig. 5. Shows Agile Methods and Software Quality Factors QuestionnaireResults–Frequency of using Agile Methodologies.[3][4][5][6][7][8][9]Fig. 6. Comparison of Software Quality Affecting Factors with AgileMethodologies.REFERENCESOberscheven, Falk Martin. "Software Quality Assessment in an AgileEnvironment." Faculty of Science of Radboud University in Nijmegen.(2013).Hossain, Amran, Md Abul Kashem, and Sahelee Sultana. "Enhancingsoftware quality using agile techniques." IOSR Journal of ComputerEngineering 10.2 (2013): 87-93.Awad, M. A. "A comparison between agile and traditional softwaredevelopment methodologies." University of Western Australia (2005).Sharma, Sheetal, Darothi Sarkar, and Divya Gupta. "Agile processes andmethodologies: A conceptual study." International journal on computerscience and Engineering 4.5 (2012): 892.Khalane, Tiisetso, and Maureen Tanner. "Software quality assurance inScrum: The need for concrete guidance on SQA strategies in meetinguser expectations." Adaptive Science and Technology (ICAST), 2013International Conference on. IEEE, 2013.Sirshar, Mehreen, and Fahim Arif. "Evaluation of Quali-ty AssuranceFactors in Agile Methodolo-gies." International Journal of AdvancedComputer Sci-ence 2.2 (2012): 73-78Ullah, Malik Imran, and Waqar Ali Zaidi. "Quality Assurance Activitiesin Agile: Philosophy to Practice." (2009).Sharma, Mohit Kumar. "A study of SDLC to develop well engineeredsoftware." International Journal of Advanced Research in ComputerScience 8.3 (2017).Rodríguez-Hernández, V., et al. "Assessing quality in softwaredevelopment: An agile methodology approach." Journal of AdvancedComputer Science & Technology 4.2 (2015): 225-230.535 P a g ewww.ijacsa.thesai.org

scrums”. Scrum rules are product owner, scrum master and team. Scrum is easy with changes; it accommodates with changes. Scrum [1][5][6] is a simple framework used to higher quality. Scrum is easy with changes; it accommodates with changes. Some key scrum practices are discussed below [1][3][4][5].

Related Documents:

1. The need for an agile way of working 6 2. The need for an agile way of working 9 3. Agile Core Values - Agile Project Management Vs. 10 Agile Event Management 4. Agile principles 12 _Agile Principles of Agile Project Management 13 _Agile Principles of VOK DAMS Agile Event Management 14 5. Agile Methods 16 _Scrum in Short 16 _Kanban in Short 18

Agile Estimating and Planning by Mike Cohn Agile Game Development with Scrum by Clinton Keith Agile Product Ownership by Roman Pichler Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and .

1.1 Purpose of the Agile Extension to the BABOK Guide1 1.2 What is Agile Business Analysis?2 1.3 Structure6 Chapter 2:The Agile Mindset 2.1 What is an Agile Mindset?7 2.2 The Agile Mindset, Methodologies, and Frameworks8 2.3 Applying the Agile Mindset9 2.4 Agile Extension and the Agile Ma

Agile World View "Agility" has manydimensions other than IT It ranges from leadership to technological agility Today's focus is on organizational & enterprise agility Agile Leaders Agile Organization Change Agile Acquisition & Contracting Agile Strategic Planning Agile Capability Analysis Agile Program Management Agile Tech.

2. Quality Assurance AND Methods of Agile 3. Metrics of quality AND Agile quality assurance 4. Agile AND Quality 5. Agile Quality AND Software Development 6. Agile quality AND Agile methods The search keywords for agile particulars have been merged by using the Boolean ''OR" operator, which

The most popular agile methodologies include: extreme programming (XP), Scrum, Crystal, Dynamic Sys-tems Development (DSDM), Lean Development, and Feature Driven Development (FDD). All Agile methods share a common vision and core values of the Agile Manifesto. Agile Methods: Some well-known agile software development methods include: Agile .

1. Agile methods are undisciplined and not measurable. 2. Agile methods have no project management. 3. Agile methods apply only to software development. 4. Agile methods have no documentation. 5. Agile methods have no requirements. 6. Agile methods only work with small colocated teams.-7. Agile methods do not include planning. 8.

Course 1: Foundations of Agile and Agile Frameworks In this course, students will be introduced to The Agile Mindset and how it sets the tone for "Being" Agile versus just "Doing" Agile. Students will learn to leverage The Agile Manifesto as the foundation for all Agile Frameworks, as well as identify the practical differences between .