<<

International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 4 Issue 11, November-2015 A Comparative Study on Utilization of Scrum and Spiral Development Methodologies: A Review

Akanksha Mathur Archana Acharya and Engineering Computer Science and Engineering Govt. College of Engineering and Technology Govt. College of Engineering and Technology Bikaner, Rajasthan, India Bikaner, Rajasthan, India

Abstract— life cycle (SDLC) is a different methodologies and practices to embrace and framework that consists of detail illustration of developing, respond to inescapable change they were experiencing. designing, maintaining and deploying a high quality software These methodologies and implementation are based on system. In SDLC project can be developed using traditional iterative improvement, a technique that was discovered in and agile structures. Spiral process model is referred as the 1975 and introduced as agile methodologies. traditional software development methodology and scrum is one of the agile software development methodologies. For The name Agile came in 2001 when 17 process reducing delivering time and improve the quality of software methodologies discussed future in software development. many companies are moving towards agile software Developers noticed that their method has many development. The goal of agile is to translate the requirements characteristics in common so they decided to name these to the form the customer will easily relate and gain more processes Agile which means both “light and ample”. reliable feedback. The objective of this paper is making a Therefore agile organization and its issuance for agile comparison between spiral process and scrum methodologies software development came into being. The Agile methods to show their features and defects. Also examine the claim to place more emphasis on propel, interaction, circumstances of using either spiral process model or scrum working software, customer, collaboration and change methodology while developing software project. rather than on processes, tools, contracts and plans. Keywords—SDLC; traditional; Agile; spiral model; However empirical studies are urgently needed for scrum methodologies evaluating the effectiveness and probability of using agile software development methods. In today’s world problems are changing, community are I. INTRODUCTION changing, concepts are changing. This tends to move “The SDLC is a framework defining tasks performed at towards organizations in which we have more control over each step in software evolution process. International how we work and how we interact with peers, customers organization for standardization / International Electro and management. This paper will investigate heavy weight technical Commission 12207 is an international standard and agile methodologies for their sustainability in software for software life cycle process [1]. SDLC is a process development and creates a review of data to determine followed for a software project, within a software which methodology suits best. Additionally tried to fill the organization. It comprise of outline describing how to gap by conducting a detailed review of both spiral and develop, prolong, replace and alter or strengthen specific scrum methodologies. software. Life cycle is a methodology for improving the II. TRADITIONAL V/S AGILE METHODOLOGIES quality of software and overall development process. A selection criterion in SDLC is crucial as it ensures the organization to maximize the change to deliver software This section describes overview of traditional and agile successfully. software methodologies. SDLC introduces various traditional process A.Traditional Software Development models including , iterative model, Process models based on traditional software development incremental model, prototype model, RAD, V model, spiral methodology are waterfall model, iterative model, model. Traditional methodologies are plan driven in which incremental model, spiral model, prototype model etc. work begins with selection and documentation of entire set These methodologies follow a sequential series of steps of requirement specification followed by architectural and including requirement analysis, planning and high level designed development and inspection. These documentation, designing, coding, maintenance and methodologies found to be very complex due to these deployment. There are many different methodologies but heavy aspects and when rates are relatively low in software this reference paper limits the discussion to the most development, practitioners posses difficulties in it. As a significant methodology: Spiral Methodology. result, several consultants independently discovered

IJERTV4IS110154 www.ijert.org 90 (This work is licensed under a Creative Commons Attribution 4.0 International License.) International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 4 Issue 11, November-2015

Spiral Model: tough. Easy to change requirements and Due to various customizations Spiral model is traditional development model, which documentation, if any change allowed from the client using the combines the elements of both designing and prototyping happens in middle of development. same prototype in other project in in stages. This was defined by Barry Bohem [1] based on future is difficult. experience with various refinements of the waterfall model It is used when experimenting on It is not suitable for low risks technology trying out new skills projects. as applied to the large software products. There are four and when is not able to offer different phases of spiral process model requirements in clear terms 1. Objective setting: Specific objective for the Here project monitoring is very Meeting, budgetary and scheduling, project phase are identified. effective and easy. Each phase as requirements is tough if this 2. Risk assessment and reduction: Key risks are well as each loop requires a review development process is followed from concerned people. This identified, scruntinize and information is obtained makes model more transparent. to reduce these risks. Control towards all phases of Amount of documentation is 3. Development and validation: An appropriate development. required in intermediate stages model is chosen for the next phase of makes management of project very complex affair. development.

4. Planning: The project is reviewed and plans are drawn up for the next round of spiral. A. Agile Software Development Agile-denoting “the quality of being Agile, readiness for motion, nobleness, activities, dexterity in motion” as mentioned in oxford dictionary [3]. Agile software development is a group of software development methodologies which is based on incremental and iterative development where requirements a solutions evolve through flexibility and collaboration of independent teams. It is alternative to traditional typically used in software development. There are number of methodologies used to develop and improve the system named as Adaptive Software Development, Agile Modeling, Crystal Method, Dynamic System Development, Lean Development and Scrum. All these methodologies acknowledge that high quality software and more importantly customer satisfaction could only be achieved by bringing lightness to their processes. However this section will focus on: Scrum Methodology. Figure 1: Spiral Model

Spiral process model also called “meta-model” because it Scrum Model consists of other models of SDLC. Waterfall and prototype : both models are used in it. So we perform software In 1995 Ken Schwaber and Jeff Sutherland presents a study based on software development method and called it development systematically over the loops and at the same “SCRUM”. Basically Scrum is derived from rugby where time we make prototype and show it to the user after completion of various phases. In this way we are able to scrum restarts the gone after the ball has gone out for play. reduce risks, as well as we follow organized approach. Applying this interpretation in technical terms a software Below discussed table1 for advantages and disadvantages scrum gets the team back together and everyone is moving of spiral model in detail. in appropriate direction. Scrum is process framework that is used to manage complex product development [8]. TABLE 1: FEATURES OF SPIRAL MODEL 1. Sprint Planning: The work to be performed in Advantages Disadvantages sprint is created by collaborative work of entire Good for large mission censorious Doesn’t works well for smaller team. projects. projects. 2. Daily Scrum: The development team uses daily Software is produced early in Highly customized limiting Scrum to inspect progress towards the sprint goal software lifecycle. reusability. and to observe the progress is trending towards It is suitable for high risks projects Cost involved in this model is completing the work to meet the sprint goal. where business needs may be usually high. 3. Sprint Review: Sprint review is held at end of the unstable. Strong approval and It is complicated approach specially sprint to inspect the increment and adopt the documentation control. for projects with clear SRS product backlog if needed. More and more features are added Skills required evaluating and review 4. Sprint Retrospective: It is an opportunity for the in systematic way. project from time to time need Scrum team to direct itself and create a plan for expertise. Estimates (i.e. budgets, schedule Rules and protocols should be improvements to be enacted during next sprint etc) become more realistic as work followed properly to implement planning. progress because more important effectively this model. Doing so issues are discussed earlier. throughout the span of project is

IJERTV4IS110154 www.ijert.org 91 (This work is licensed under a Creative Commons Attribution 4.0 International License.) International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 4 Issue 11, November-2015

due to self organizing and self managing structure the entire development process becomes more active. Aitken [9] introduced differences between traditional and agile methodologies and technique which shows the approaches for modeling the model system. Accordingly agile software development helps and motivates emergent and evolving architecture whereas traditional software development encourages architecture with justification and evaluation of options. It concludes that there is nothing really incompatible with applying all the principals and values of agile software development along with most of the practices, to traditional software development. Kumar G [13] The goal of is Figure 2: Scrum Model to develop a quality software product meeting deadline,

maintaining budget and requirements of customers. The TABLE 2: FEATURES OF SRUM MODEL paper examines different life cycles of process models Advantages Disadvantages which aims showing advantages and disadvantages of both Scrum methodology enables Adapting scrum framework in projects where the business larger team is challenging. traditional and agile methodology with detailed description requirement documentation is of adopting and knowing good and bad practices. It hard to quantify to be concludes that a highly critical projects having large successfully developed. number of developers with limited requirements and It is lightly controlled method Daily meeting at times can go too which insists on frequently strict and frustrating for team limited features can be developed by using traditional updating the progress in work members. methodologies whereas projects having iterative and through regular meeting. Thus incremental deployment, enhancement in quality, easy fault there is clear visibility of project detection capabilities developed by using modern development. Like any other agile If any team member leaves the methodologies. methodology this is also iterative project in between, it affects the Pozgaj Z [12] developed and described model in nature. project badly. based on scrum which is most popular agile methodology. It requires a continuous feedback Scrum is basically a framework which manages software from user. Due to short sprints and constant Quality is hard to implement till the project and application development which was compared feedback it becomes easier to team goes through aggressive with teaching process model based on 3 units: 1) cope with changes. testing progress. theoretical knowledge 2) practical knowledge and student’s Agile scrum can work with any This methodology needs projects 3) exam and admission of grades. Each unit technology/programming experienced team members only. If represents a scrum that’s results with particular product. It language but is particularly the team consists of people who are useful for fast moving web2.0 or novices, the project cannot be concludes that this teaching model will be useful in new media projects. completed in time. education system. The overhead costs in the terms If the task is not well defined Agrawal A [14] introduced with agile methods of process and management is estimating project cost and time and their growth from 2001 to 2014 in field of software minimized, thus produces will not be accurate. quicker and cheaper result. development. They notified the journey of agile methods It emphasis on face to face Usually established organizations and vigorous demand in industries, organizations, people, communication, cross functional, have a hard time accepting scrum. jobs, professionals and other purposes. This comparison is self organizing team. helpful survey in acknowledging various social aspects and It is easier to deliver a quality The peer pressure within the team product in schedule time. can be immense. current in large systems. Works well for fast moving Easy to slack and let discipline go. Akbar [15] discussed the trends of global software developments project. development and emphasis on need of shifting from Developments are coded and Team needs to embrace the traditional to agile methodologies. Therefore GSD (Global tested during sprint review. methodology, for this needs a very Software development) in modern technologies is open and communicative mindset. challenging to meeting the requirements which are not III. OVERVIEW fulfilled by conventional systems. In this regard software process tailoring provides flexible solution to modification Hu Zhigen [4] discussed an example based on agile and adjusting existing process and practices. Such as code development methodology. This introduced how scrum (an quality, disruption in team work, mature/immature scrum, agile method) being useful in software development and release process, backlog management, communication, how it helps us to manage project efficiently as being scrum ceremonies along with solutions are identified for adaptive process in many of the countries. It concluded that these above mentioned issues. Sonali Pathak [7] has taken a real time small case basis of this survey it was found that the most of the study on “COLLEGE MANAGEMENT SYSTEM” which academic projects are facing a common problem of shows scenario of development technology that applies controlling, monitoring and management of small projects human centric approach to software development. On the and there is a need to improve the project development in

IJERTV4IS110154 www.ijert.org 92 (This work is licensed under a Creative Commons Attribution 4.0 International License.) International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 4 Issue 11, November-2015 this area. Also the study focuses on adaption of newer TABLE 3: FEATURES OF TRADITIONAL, SPIRAL, AGILE AND SCRUM . technologies in academic environment are a better method Traditional Spiral Model Agile Scrum Model of development such as implementation of agile methods in Methodology Methodology the academic projects. This research paper concluded that the scrum methodology has proven the best solution for the

Features issue of handling academic software projects. Mahalakshami [10] has done a comparative study According to This model Agile Scrum was on Traditional SDLC v/s Scrum Methodology. The paper Elliott, was first software first concluded that requirements of customer are changing Strachan & described by development introduced in frequently, so the software development is expanding and Radford Barry Bohem model was 1995 by Jeff traditional in its 1986 evolved in the Sutherland & becoming more complex making the project development software paper “A mid of 1990’s Ken difficult. According to this research paper traditional SDLC development spiral model and in 2001, schwaber. It is not able to meet the requirement of market so scrum was originated of software seventeen was first tried methodology was introduced to the new requirements of in 1960. development” software and redefined . developers at Fidelity

software companies. Hence it states that it depend s on not published the Investment able to meet the requirement of market so scrum manifesto for and IDX. methodology was introduced to the new requirements of agile software

History software companies. Hence it states that it depend s on development. All the Requirements Eventual Requirements organization which model to use. requirements are changes in are based on Luigi [5] presented the paper which was based on are stable compatible user meetings the report of applying Scrum in open source software java with all the requirement between tool. The aim of the paper was to rectify these issues 1) Is it key system, according to product stake holders, demand in owner and possible to switch successfully to the scrum methodology and industry. developer. in an ongoing open source software development process? expectations Requirements The product 2) Is it possible to apply Scrum when the developers are including are gathered owner is only geographically distributed? 3) Does Scrum help improve users, in inception responsible customers, phase. for the quality of the product and productivity of the process? developers, management The paper concluded by identifying the set of measures and maintainers of by comparing the data before and after the instigation of and investor. requirements. Scrum. The result shows that the scrum can be introduced The nature of Requirements

requirement are therefore and used in an ongoing geographically distributed open will not flexible. source software process and it helps control the change very development process better. much during development

Danh [11] presented the review of current Requirement and evolution. literature on effort estimation in Agile, iterative, Every activity Documentatio Light Minimal incremental software projects. It shows the affirmations is measured by n is done in documentatio document about common trends, gaps and recommendations for intensive iterative n rather than no future work. The research paper concluded the need for documentation manner at documentatio . Hence heavy each phase. n. Level of

future research on estimating effort, analyzing the impact documentation documentatio of historical and current data and empirical validation of n remains estimation model. upto the tean to decide on OMPARATIVE NALYSIS AND ISCUSSION case-by-case IV. C A D Documentation basis. Depends on Partially Depends on Comparativel On the basis of above literature survey, tabulated process model variable. process y low and set and model during each

comparison between traditional, spiral, agile and scrum determined sprint. methodologies is being formulated to gather information on during different parameters showing strengths and weakness of Budget planning. spiral and scrum process model useful for selecting which It is It is Agile is a Scrum is software model is appropriate according to the user characterized traditional group of simple set of requirement and definition. by a sequential software software roles, series of steps development development responsibilitie like model which methodologie s and meeting requirement combines s based on that never definition, elements of incremental change. planning, both and iterative building, incremental approach. testing and and deployment. prototyping in difference Conceptual stages.

IJERTV4IS110154 www.ijert.org 93 (This work is licensed under a Creative Commons Attribution 4.0 International License.) International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 4 Issue 11, November-2015

Simple and High amount Simple and Adaptive V. CONCLUSION ease of working of risk easy models. simplified

Software development methodologies came into existence depends on analysis. approach. various models. since 1970’s. The aim of this survey paper is to try to assure that if spiral process methodology and scrum

Simplicity methodology are compatible in terms of process, tools, Long term. Time is Short term. Project interaction, implementation, functionalities, efficiency etc

defined in development in software development or not. This paper surveyed that terms of years time vary traditional methodology and agile methodology seem to be and months. from days to weeks. growing rapidly. Modern technologies demand for scrum methodology and it is up to organizations requirement Time frame Time which model to use. Therefore it is important for Efficiency is Due to high High Efficiency variable on the risk analysis efficiency. may vary from development team to select software methodology best basis of efficiency is case-by-case suited for software projects. requirements of low for large basis as it software and complex depends on

models. software and daily scrum REFERENCES high for meetings. middleware However [1] B.Boehm, “A Spiral Model of Software Development and software. scrum is more Enhancement”, IEEE computer, May1998. Efficiency efficient. [2] R.S Pressmen, “Software Engineering A practioner Approach”, 5th Involvement is From Continuous Development edition, Newyork Mc-grawhill, 2001. considered at beginning to customer of software [3] http:// WWW.dictionary.oed.com, Accessed 20/4/2005. the beginning. evaluation interaction is product using [4] Hu Zhigen, YUAN Quan, ZHANG Xi, “Research on Agile Project phase. very essential scrum totally Management with Scrum Method”,IEEE 2009. to get proper relies on product product owner [5] Luigi Lavazza, Sandaro Morasca, Davide Taibi and Davide Tosi, “ requirement. so it has high Apply Scrum in An OSS Development Process: An Empirical Evaluation “, Springer, 2010. user/customer User /customer /customer User involvement involvement. [6] Akif, R. H. Majeed, “Issues and Challenges in Scrum Suitable for the Suitable for Best suited for Easy to Implementation”, IJSER, 2012. software large and web based change [7] Sonali pathak, Pushpendra Pateriya, Preet Pal, “A Case Study on products mission application directions as Software Development Projects in Academic Knowledge Centers having clear list critical where its the using Scrum”, IJCA 2012. of requirements projects where iterative requirement [8] K.Schwaber, J. Sutherland, “The Definitive Guide to Scrum: The which are not risk analysis nature helps in changes. Rules of Game”, 2013.

likely to be contains high incorporating, [9] Ashley Aitken, Vishnu Ilango,” A Comparative analysis of modified. priority. correcting traditional Software Engineering and Agile Software Development, various bugs IEEE 2013. arises over Suitability time. [10] M. Mahalakshami, DR. M.Sundarajan,”Traditional SDLC v/s Scrum Methodology- A Comparative Study”, IJETAE, 2013. Limited Limited Limited Unlimited cookbook cookbook cookbook during [11] Danh Nguryen –Cong, De Tran- Cao, “ A review of effort approach. approach. approach. iterations. estimation studies in agile, iterative and incremental software development”, 2013 IEEE RIVF conference. [12] Z . Pozgaj, N. Vlahanic and V. Bosiliz- Vuksic,” Agile Management : A Teaching Model Based on Scrum”, IEEE, 2014.

Flexibility and and Flexibility Functionality [13] Ashish Agrawal, Sadhana Singh , L.S Maurya, “A study on the Performed after Testing is It is performed Done at each Growth of Agile Methods n India till 2014” , ICACEA 2015, IEEE coding. done in at each sprint. conference. engineering iteration. phase. [14] Rehan Akbar, Sohail Safdar, “A Short Reviewof Global Software Development (GSD) And Latest Software Development Trends”, I4CT 2015 IEEE Conference.

Testing [15] http://WWW.itinfo.am/eng/software-development Process Process People People methodologies/- oriented. Oriented. oriented. oriented. [16] ]http://en.wikipedia.org/wiki/Agile-software development. [17] http://en.wikipedia.org/wiki/Scrum-model. WWW.Scrumguides.org/history/html

Software Software development Based on skill Highly skilled Self

level of and organizing individual team experienced teams. members. team members.

Team role role Team assignments

IJERTV4IS110154 www.ijert.org 94 (This work is licensed under a Creative Commons Attribution 4.0 International License.)