<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2016.93005</article-id><article-id pub-id-type="publisher-id">JSEA-64676</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Quintessence of Traditional and Agile Requirement Engineering
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>alil</surname><given-names>Abbas</given-names></name><xref ref-type="aff" rid="aff1"><sub>1</sub></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><label>1</label><addr-line>School of Computing and Information Sciences, Imperial College of Business Studies, Lahore, Pakistan</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>sjshah786@gmail.com</email></corresp></author-notes><pub-date pub-type="epub"><day>17</day><month>03</month><year>2016</year></pub-date><volume>09</volume><issue>03</issue><fpage>63</fpage><lpage>70</lpage><history><date date-type="received"><day>17</day>	<month>December</month>	<year>2015</year></date><date date-type="rev-recd"><day>accepted</day>	<month>14</month>	<year>March</year>	</date><date date-type="accepted"><day>17</day>	<month>March</month>	<year>2016</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Requirement gathering for software development project is the most crucial stage and thus requirement engineering (RE) occupies the chief position in the software development. Countless techniques concerning the RE processes exist to make sure the requirements are coherent, compact and complete in all respects. In this way different aspects of RE are dissected and detailed upon. A comparison of RE in Agile and RE in Waterfall is expatiated and on the basis of the literature survey the overall Agile RE process is accumulated. Agile being a technique produces high quality software in relatively less time as compared to the conventional waterfall methodology. The paramount objective of this study is to take lessons from RE that Agile method may consider, if quality being the cardinal concern. The study is patterned on the survey of the previous research reported in the coexisting literature and the practices which are being pursued in the area.
 
</p></abstract><kwd-group><kwd>Requirement Engineering</kwd><kwd> Waterfall</kwd><kwd> Software Development Life Cycle</kwd><kwd> Agile Software Development</kwd><kwd> Elicitation</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>In software engineering, software development methodology known as software development life cycle (SDLC) is a sectionalisation of software development work. Common methodologies include Waterfall, Prototyping, Iterative and Incremental development, Spiral development, Rapid application development, Extreme Programming and other different kinds of Agile methodology. All these methods comprise of multiple phases and a variety of different activities. For instance design, re-factor, reuse, re-engineering and maintenance are some common activities, employed to complete software solutions. A wide variety of such frameworks have evolved over the years, each with its own recognized strengths and weaknesses. One software development methodology framework doesn’t adequately suffice for all projects.</p><p>Over the years, most of the software development methods have been made immaculate and then referred to as traditional methods. One of the oldest of these traditional methods is waterfall which was firstly explained by Winston Royce in 1970 [<xref ref-type="bibr" rid="scirp.64676-ref1">1</xref>] . It is still very much in vogue widely practiced both in large and small projects [<xref ref-type="bibr" rid="scirp.64676-ref2">2</xref>] . The Waterfall model is a sequential design process which is used in software development processes where progress palpably is flowing downwards like a Waterfall through the phases of requirement gathering and analysis, design, coding, testing and maintenance. Every stage is to be treated separately at an opportune moment so you cannot jump stages. Documentation is done at every stage of a Waterfall model, providing an opportunity to the people to decipher as what has been done. Similarly testing is carried at every stage. Waterfall method is understood for its concrete and complete requirements and these features make this approach more viable and stable. It is often said about this method that spending more time early in the cycle can pave way to greater success at later stages.</p><p>The Agile development method came to limelight as the result of gathering of seventeen representatives from the software development industry in snowbird, Utah in 2001 [<xref ref-type="bibr" rid="scirp.64676-ref3">3</xref>] . Their intention was to develop innovative approaches to software development that would make organization react rapidly and adapt to volatile requirements and technologies.</p><p>In Agile Manifesto [<xref ref-type="bibr" rid="scirp.64676-ref3">3</xref>] they gave the identification of the following four priorities:</p><disp-formula id="scirp.64676-formula144"><graphic  xlink:href="http://html.scirp.org/file/1-9302154x6.png"  xlink:type="simple"/></disp-formula><p>Priorities in Agile Manifesto</p><p>There exist multiple types of Agile methods as extreme programming, scrum, feature-driven development, dynamic system development method, adaptive software development, crystal and lean software development. What is common to all methods is the division of client’s requirements into multiple release cycle which are available in smaller portions regarding to their business value [<xref ref-type="bibr" rid="scirp.64676-ref4">4</xref>] . These methods comprise of most recognizable quality factors such as cost effectiveness, efficiency, extendibility, maintainability, portability, reusability and robustness [<xref ref-type="bibr" rid="scirp.64676-ref5">5</xref>] .</p><p>The remainder of the paper is organized as follows: Section 2 gives a comparison between traditional and Agile software development methodologies. Section 3 explains the Requirement Engineering process. Section 4 describes the RE in waterfall and RE in Agile, also the challenges of traditional RE resolved by Agile RE are discussed. Conclusion is given at the end of paper.</p></sec><sec id="s2"><title>2. Comparison of Agile and Waterfall Development Methods</title><p>Agile and waterfall methods stand apart so far as their activities are concerned, as they are put to use within the development process [<xref ref-type="bibr" rid="scirp.64676-ref6">6</xref>] - [<xref ref-type="bibr" rid="scirp.64676-ref9">9</xref>] . To understand clearly the difference between Waterfall and Agile the comparison is made in a tabular form and is provided in <xref ref-type="table" rid="table1">Table 1</xref>.</p></sec><sec id="s3"><title>3. Requirement Engineering</title><p>Software Requirements describe features and functionalities of the target system it also tells the expectations of the users from the software product .The requirements can be obvious or occult, either it is known or not known, expected or unexpected from client’s point of view. The formidable single part of making a software system is deciding clearly as what to build. No other part of the conceptual work is as formidable as making the detailed technical requirements. The process to glean the software requirements from client, analyze and document them is named requirement engineering. It is sometime overlooked or assumed to be a straight and undistorted task [<xref ref-type="bibr" rid="scirp.64676-ref26">26</xref>] , requirements collecting for software development projects is the most difficult phase of any software development methodology. To determine software requirements is the fulcrum to any successful project. Requirements cannot be easily defined and estimated for managing any project [<xref ref-type="bibr" rid="scirp.64676-ref27">27</xref>] . Some studies have exposed that around 37% of the problems occurred during the development of system related to the requirement phases [<xref ref-type="bibr" rid="scirp.64676-ref28">28</xref>] and is graphically depicted in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p><p>Requirement engineering stresses the use of systematic and repeatable techniques that ensure the completeness, consistency and relevance of the system requirements. The process used for RE changes widely depending on the</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Problems of challenging system</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9302154x7.png"/></fig><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Comparison of Waterfall and Agile development methods</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Metric</th><th align="center" valign="middle" >Traditional development process</th><th align="center" valign="middle" >Agile development process</th><th align="center" valign="middle" >Study that reported</th></tr></thead><tr><td align="center" valign="middle" >SDLC</td><td align="center" valign="middle" >Linear</td><td align="center" valign="middle" >Iterative</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref10">10</xref>]</td></tr><tr><td align="center" valign="middle" >Development style</td><td align="center" valign="middle" >Traditional methods are predictive (plan?driven)</td><td align="center" valign="middle" >Agile methods are adaptive</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref11">11</xref>] - [<xref ref-type="bibr" rid="scirp.64676-ref14">14</xref>]</td></tr><tr><td align="center" valign="middle" >Documentation</td><td align="center" valign="middle" >Enough documentation to be able to answer all questions that might be asked in the future.</td><td align="center" valign="middle" >Light (replaced by face to face communication)</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref15">15</xref>]</td></tr><tr><td align="center" valign="middle" >Customer involvement</td><td align="center" valign="middle" >in traditional approaches the customer is mainly engaged during the early phase of the project</td><td align="center" valign="middle" >Agile methods engage the customer throughout the whole development process.</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref16">16</xref>] - [<xref ref-type="bibr" rid="scirp.64676-ref18">18</xref>]</td></tr><tr><td align="center" valign="middle" >Change</td><td align="center" valign="middle" >Resistance to change</td><td align="center" valign="middle" >Welcoming to change, even changes are brought in late in the project.</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref19">19</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref20">20</xref>]</td></tr><tr><td align="center" valign="middle" >Size</td><td align="center" valign="middle" >traditional methods are able to manage effectively large project</td><td align="center" valign="middle" >Manage effectively requirements in small projects but not in large ones.</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref13">13</xref>]</td></tr><tr><td align="center" valign="middle" >Planning scale</td><td align="center" valign="middle" >Long term</td><td align="center" valign="middle" >Short term</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref13">13</xref>]</td></tr><tr><td align="center" valign="middle" >Management</td><td align="center" valign="middle" >process oriented, command and control</td><td align="center" valign="middle" >People oriented, leadership and conformity.</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref15">15</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref21">21</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref22">22</xref>]</td></tr><tr><td align="center" valign="middle" >Team organization</td><td align="center" valign="middle" >Pre- structured teams</td><td align="center" valign="middle" >Self organizing teams</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref23">23</xref>]</td></tr><tr><td align="center" valign="middle" >Ownership</td><td align="center" valign="middle" >Ownership belongs to only project manager</td><td align="center" valign="middle" >Shared ownership</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref19">19</xref>]</td></tr><tr><td align="center" valign="middle" >Prioritization</td><td align="center" valign="middle" >Requirements are typically prioritized once.</td><td align="center" valign="middle" >Prioritize feature lists repeatedly during development</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref24">24</xref>]</td></tr><tr><td align="center" valign="middle" >Customer feedback</td><td align="center" valign="middle" >At the termination of the project</td><td align="center" valign="middle" >At the completion of every sprint</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref25">25</xref>]</td></tr><tr><td align="center" valign="middle" >Risk identification</td><td align="center" valign="middle" >No risk identification.</td><td align="center" valign="middle" >Early identification and mitigation in every sprint.</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref25">25</xref>]</td></tr><tr><td align="center" valign="middle" >Time between specification &amp; implementation</td><td align="center" valign="middle" >Long</td><td align="center" valign="middle" >Short</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref13">13</xref>]</td></tr><tr><td align="center" valign="middle" >Delivery</td><td align="center" valign="middle" >Delivering artifacts phase wise and delivery of working software at the end of project.</td><td align="center" valign="middle" >Demonstration and delivering working software et the end of every sprint.</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref25">25</xref>]</td></tr><tr><td align="center" valign="middle" >Measure of Success</td><td align="center" valign="middle" >Conformance to plan</td><td align="center" valign="middle" >Business value delivered</td><td align="center" valign="middle" >[<xref ref-type="bibr" rid="scirp.64676-ref3">3</xref>]</td></tr></tbody></table></table-wrap><p>application domain, the people involved and organization developing the requirements. There exists a plethora of generic activities common to all processes. So RE process can be split up into 2-main assortments:</p><p> Requirement Development</p><p> Requirement Management</p><p>The goal of requirement development is to identify, capture and agree upon a set of functional requirements and product characteristics that will gain the stated business objectives. It contains four kinds of activities as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref> [<xref ref-type="bibr" rid="scirp.64676-ref29">29</xref>] .</p><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Requirement development activities</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9302154x8.png"/></fig><p> Elicitation: It is process discovering, reviewing, documenting, knowing user needs and constraints for the system.</p><p> Analysis: It provides feedback loop to refine user’s needs and restraints.</p><p> Specification: It is process of documenting the user’s needs and restraints.</p><p> Validation: This ensures that the system requirements are complete, correct, consistent and clear.</p><p>However, the requirement management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. A requirement is a capability to which a project outcome (product or service) should conform.</p></sec><sec id="s4"><title>4. Requirement Engineering in Agile and Waterfall</title><sec id="s4_1"><title>4.1. RE in Waterfall</title><p>Requirement engineering involves a number of processes for gathering requirements in accordance with the needs and demands of users and stakeholders of the software product. Waterfall Requirement Engineering involves some important features that are elicitation, analysis, documentation and managing of the requirements [<xref ref-type="bibr" rid="scirp.64676-ref30">30</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref31">31</xref>] as already mentioned in Section 3. In the waterfall model requirements engineering is presented as the first phase of the development process. This traditional approach to the RE process focuses on gathering all the requirements and preparing the requirements specification document up front before proceeding to the design phase [<xref ref-type="bibr" rid="scirp.64676-ref32">32</xref>] . In the waterfall method the project is separated into stages distinctly and commitments must be made at an early stage, which makes it hard to alter the requirements if customers change their minds. So waterfall is more suitable when the requirements will probably not be changed during the implementation time. In conclusion, the waterfall model takes a static viewpoint of Requirements Engineering by ignoring issues such as the volatility of requirements and its impact on earlier and later phases of development [<xref ref-type="bibr" rid="scirp.64676-ref33">33</xref>] .</p></sec><sec id="s4_2"><title>4.2. RE in Agile</title><p>According to various researchers Agile methodology and its family members are based on the following principles also known as Agile manifesto [<xref ref-type="bibr" rid="scirp.64676-ref34">34</xref>] - [<xref ref-type="bibr" rid="scirp.64676-ref37">37</xref>] :</p><p>These principles are fairly simple in concept, but are profoundly deep in practice.</p><p>Agile assumes that requirements engineering continues through the lifetime of a system. In Agile, RE is achieved through continuous collaboration while requirement gathering, developing and testing may happen at the same time. This is achieved by applying the practice of evolutionary requirements which suggests that requirements should evolve over time. In Agile, the business requirements are elicited and documented in the form of user stories, which are from portrays user’s perspective [<xref ref-type="bibr" rid="scirp.64676-ref38">38</xref>] . These user stories are used as a primary unit of work and continue to grow during the lifecycle of the project. Agile methods involve continuous planning, i.e. release planning, iteration planning and task level planning. Iteration planning is done for each iteration that spans from 1 to 3 weeks. It involves user story estimation, acknowledgement of the accomplishments of the previous iteration and determining overall progress and goals for the next iteration. Release plan is done for each release in which iteration length is decided, developers and customers unanimously decide what will be in a particular iteration; velocity points are determined per iteration. Task level planning involves the breaking down of user stories into subsequent tasks, allocation of tasks among team members and focus is put on implementation issues [<xref ref-type="bibr" rid="scirp.64676-ref39">39</xref>] - [<xref ref-type="bibr" rid="scirp.64676-ref42">42</xref>] . After the literature survey of RE in Agile the overall Agile RE process is accumulated and described in <xref ref-type="fig" rid="fig3">Figure 3</xref>.</p><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> RE process in agile</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9302154x9.png"/></fig><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Issues of RE in waterfall resolved by agile RE</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Issues of RE in Waterfall</th><th align="center" valign="middle" >Resolved by RE in Agile</th></tr></thead><tr><td align="center" valign="middle" >Customer involvement: Customers are involved only during the beginning of requirement gathering and analysis [<xref ref-type="bibr" rid="scirp.64676-ref40">40</xref>] .</td><td align="center" valign="middle" >Customers are involved throughout the complete process.</td></tr><tr><td align="center" valign="middle" >Prioritization of requirements: Complete requirements for the full project are prioritized upfront and the prioritization is kept up through the project lifecycle, and reprioritization is arduous [<xref ref-type="bibr" rid="scirp.64676-ref47">47</xref>] .</td><td align="center" valign="middle" >Priorities are setup for all iterations that offer opportunities for getting desirable results and customer satisfaction [<xref ref-type="bibr" rid="scirp.64676-ref48">48</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref49">49</xref>] .</td></tr><tr><td align="center" valign="middle" >Documentation: Totally emphasizes at properly gathering organizing and documenting all requirements and excludes any live meetings/conferences [<xref ref-type="bibr" rid="scirp.64676-ref14">14</xref>] .</td><td align="center" valign="middle" >User stories are concise and provide to-the-point explanation of user demands, obviate the need for maintaining long SRS documents.</td></tr><tr><td align="center" valign="middle" >Requirements validation: Validation happens late in the life cycle.</td><td align="center" valign="middle" >Prototyping helps in providing the customer with a blueprint of the product, and therefore helps in validating the requirements [<xref ref-type="bibr" rid="scirp.64676-ref50">50</xref>] .</td></tr><tr><td align="center" valign="middle" >Communication: It is a major factor in the delay and failure of software projects [<xref ref-type="bibr" rid="scirp.64676-ref40">40</xref>] .</td><td align="center" valign="middle" >It provides regular interaction with customer and among teams.</td></tr><tr><td align="center" valign="middle" >Over-scoping of requirements: It is the cause of rework, which in turn causes further investment.</td><td align="center" valign="middle" >Developers receive a list of features that are constantly prioritized so the chance of having to repeat allocation in projects is minimized.</td></tr><tr><td align="center" valign="middle" >Shall Argument: The worst thing of waterfall RE is “shall” argument i.e. system shall do it, etc. [<xref ref-type="bibr" rid="scirp.64676-ref46">46</xref>] .</td><td align="center" valign="middle" >Agile introduces the real time system.</td></tr></tbody></table></table-wrap></sec><sec id="s4_3"><title>4.3. RE in Agile VS RE in Waterfall Methods</title><p>It has been ascertained that traditional requirement process is a complex process where as real life development needs efficient requirement software which must have a flexible and speedy process. For a successful project an efficient RE process is needed. The objective of RE remains the same in all software methods, however RE in Agile and Waterfall methods is juxtaposed and opposite in nature [<xref ref-type="bibr" rid="scirp.64676-ref43">43</xref>] [<xref ref-type="bibr" rid="scirp.64676-ref44">44</xref>] . Remarkable variances are found in the process of carrying out RE activities in Agile methods when compared and contrasted to Waterfall methods. The traditional RE is facing many a challenges such as communication gaps, over scoping, requirement prioritization, validation and customer involvement [<xref ref-type="bibr" rid="scirp.64676-ref45">45</xref>] . These issues are resolved by Agile practices such as face to face communication for minimizing documentation and communication gaps, gradual detailing of requirements for reducing over scoping, requirement prioritization by customer based on the worth of business to deal with requirements validation and close interaction on the part of team and customer in order to avoid lack of customer participation [<xref ref-type="bibr" rid="scirp.64676-ref46">46</xref>] . Issues caused by the traditional RE and the solutions provided by the Agile RE are described in <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>Therefore, we can summarize that several detrimental challenges posed by traditional RE can be eradicated or minimized by using Agile RE.</p></sec></sec><sec id="s5"><title>5. Conclusion</title><p>Differentiation has been clearly drawn and found that the traditional RE and Agile RE are two different approaches so far as their rules and activities are concerned. Comparison between the two shows why people have gone from traditional RE to Agile RE. The underlying idea of this apparent shift was to shed light on the magnitude of Agile development for efficacious requirement engineering process. By doing so, resultantly Agile RE works better than the waterfall RE in disciplines like communication, customer collaboration, documentation, delivering outputs, requirement prioritization and validation, etc. Practitioners engaged will come to comprehend and evaluate the various impediments/obstacles encountered by them while using traditional RE.</p></sec><sec id="s6"><title>Acknowledgements</title><p>I, personally feel extremely beholden to Prof(R) Ghulam Qasim Shah who with self-abnegation graciously spared his time and reviewed this paper.</p></sec><sec id="s7"><title>Cite this paper</title><p>Jalil Abbas, (2016) Quintessence of Traditional and Agile Requirement Engineering. Journal of Software Engineering and Applications,09,63-70. doi: 10.4236/jsea.2016.93005</p></sec></body><back><ref-list><title>References</title><ref id="scirp.64676-ref1"><label>1</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Royce</surname><given-names> W.W. </given-names></name>,<etal>et al</etal>. (<year>1970</year>)<article-title>Managing the Development of Large Software Systems</article-title><source> Proceedings of IEEE WESCON</source><volume> 26</volume>,<fpage> 328</fpage>-<lpage>388</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.64676-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Alsultanny, Y. and Wohaishi, A.M. (2009) Requirements of Software Quality Assurance Model. Second International Conference on Environmental and Computer Science, Dubai, 28-30 December 2009, 19-23. http://dx.doi.org/10.1109/icecs.2009.43</mixed-citation></ref><ref id="scirp.64676-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Alliance, A. (2001) Manifesto for Agile Software Development. http://www.Agilemanifesto.org/</mixed-citation></ref><ref id="scirp.64676-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Hamed, A.M.M. and Abushama, H. (2013) Popular Agile Approaches in Software Development: Review and Analysis. International Conference on Computing, Electrical and Electronics Engineering (ICCEEE), August 2013, 160-166.</mixed-citation></ref><ref id="scirp.64676-ref5"><label>5</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Sirshar</surname><given-names> M. </given-names></name>,<etal>et al</etal>. (<year>2012</year>)<article-title>Evaluation of Quality Assurance Factors in Agile Methodologies</article-title><source> International Journal of Advanced Computer Science</source><volume> 2</volume>,<fpage> 73</fpage>-<lpage>78</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.64676-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Huo, M., Verner, J., Zhu, L. and Babar, M.A. (2004) Software Quality and Agile Methods. Proceedings of the 28th Annual International Computer Software and Applications Conference, Hong Kong, 28-30 September 2004, 520-525.</mixed-citation></ref><ref id="scirp.64676-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Boehm, B. (2002) Get Ready for Agile Methods, with Care. Computer, 35, 64-69. http://dx.doi.org/10.1109/2.976920</mixed-citation></ref><ref id="scirp.64676-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Dyba, T. and Dingsoyr, T. (2009) What Do We Know about Agile Software Development? IEEE Software, 26, 6-9. http://dx.doi.org/10.1109/MS.2009.145</mixed-citation></ref><ref id="scirp.64676-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Nerur, S., Mahapatra, R. and Mangalaraj, G. (2005) Challenges of Migrating to Agile Methodologies. Communications of the ACM, 48, 72-78. http://dx.doi.org/10.1145/1060710.1060712</mixed-citation></ref><ref id="scirp.64676-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Charvat, J. (2003) Project Management Methodologies: Selecting, Implementing, and Supporting Methodologies and Processes for Projects. John Wiley &amp; Sons, Hoboken.</mixed-citation></ref><ref id="scirp.64676-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Fowler, M. (2001) The New Methodology. Wuhan University Journal of Natural Sciences, 6, 12-24. http://dx.doi.org/10.1007/BF03160222</mixed-citation></ref><ref id="scirp.64676-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Boehm, B. and Turner, R. (2004) Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods. In Proceedings of 26th International Conference on Software Engineering, 718-719.</mixed-citation></ref><ref id="scirp.64676-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Okoli, C. and Carillo, K. (2012) The Best of Adaptive and Predictive Methodologies: Open Source Software Development, a Balance between Agility and Discipline. International Journal of Information Technology and Management, 11, 153-166. http://dx.doi.org/10.1504/IJITM.2012.044071</mixed-citation></ref><ref id="scirp.64676-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Leffingwell, D. (2007) Scaling Software Agility: Best Practices for Large Enterprises. Pearson Education, New York.</mixed-citation></ref><ref id="scirp.64676-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Boehm, B. and Turner, R. (2005) Management Challenges to Implementing Agile Processes in Traditional Development Organizations. IEEE Software, 22, 30-39. http://dx.doi.org/10.1109/MS.2005.129</mixed-citation></ref><ref id="scirp.64676-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Paetsch, F., Eberlein, A. and Maurer, F. (2003) Requirements Engineering and Agile Software Development. In: Null, p. 308. IEEE.</mixed-citation></ref><ref id="scirp.64676-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Sillitti, A. and Succi, G. (2005) Requirements Engineering for Agile Methods. In: Engineering and Managing Software Requirements, Springer Berlin Heidelberg, 309-326. http://dx.doi.org/10.1007/3-540-28244-0_14</mixed-citation></ref><ref id="scirp.64676-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Cockburn, A. and Highsmith, J. (2001) Agile Software Development: The People Factor. Computer, 34, 131-133. http://dx.doi.org/10.1109/2.963450</mixed-citation></ref><ref id="scirp.64676-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Regev, G., Gause, D.C. and Wegmann, A. (2006) Creativity and the Age-Old Resistance to Change Problem in RE. 14th IEEE International Conference Requirements Engineering, Minneapolis/St. Paul, 11-15 September 2006, 291-296. http://dx.doi.org/10.1109/re.2006.13</mixed-citation></ref><ref id="scirp.64676-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Boehm, B. and Turner, R. (2003) Using Risk to Balance Agile and Plan-Driven Methods. Computer, 36, 57-66. http://dx.doi.org/10.1109/MC.2003.1204376</mixed-citation></ref><ref id="scirp.64676-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Vinekar, V., Slinkman, C.W. and Nerur, S. (2006) Can Agile and Traditional Systems Development Approaches Coexist? An Ambidextrous View. Information Systems Management, 23, 31-42. http://dx.doi.org/10.1201/1078.10580530/46108.23.3.20060601/93705.4</mixed-citation></ref><ref id="scirp.64676-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Highsmith, J.A. (2002) Agile Software Development Ecosystems. Addison-Wesley Professional, Boston, Vol. 13</mixed-citation></ref><ref id="scirp.64676-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Ashmore, S. and Runyan, K. (2014) Introduction to Agile Methods. Addison-Wesley Professional, Boston.</mixed-citation></ref><ref id="scirp.64676-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Racheva, Z., Daneva, M., Sikkel, K., Herrmann, A. and Wieringa, R. (2010) Do We Know Enough about Requirements Prioritization in Agile Projects: Insights from a Case Study. 18th IEEE International Requirements Engineering Conference (RE), 147-156.</mixed-citation></ref><ref id="scirp.64676-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Moniruzzaman, A.B.M. and Hossain, D.S.A. (2013) Comparative Study on Agile Software Development Methodologies. arXiv preprint arXiv:1307.3356.</mixed-citation></ref><ref id="scirp.64676-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Kitapci, H. and Boehm, B.W. (2007) Formalizing Informal Stakeholder Decisions—A Hybrid Method Approach. 40th Annual Hawaii International Conference on System Sciences, Waikoloa, 3-6 January 2007, 283c-283c.</mixed-citation></ref><ref id="scirp.64676-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">https://www.pwc.com/us/en/.../pwc-adopting-Agile-methodology.pdf</mixed-citation></ref><ref id="scirp.64676-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Polini, A. (2010) Software Requirements. http://www1.isti.cnr.it/~polini/lucidiSE/Requirements1.pdf</mixed-citation></ref><ref id="scirp.64676-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Sommerville, I. and Sawyer, P. (1997) Requirements Engineering: A Good Practice Guide. John Wiley &amp; Sons, Inc., Hoboken</mixed-citation></ref><ref id="scirp.64676-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Pressman, R.S. (2005) Software Engineering: A Practitioner’s Approach. Palgrave Macmillan.</mixed-citation></ref><ref id="scirp.64676-ref31"><label>31</label><mixed-citation publication-type="other" xlink:type="simple">Sommerville, I. and Kotonya, G. (1998) Requirements Engineering: Processes and Techniques. John Wiley &amp; Sons, Inc., Hoboken.</mixed-citation></ref><ref id="scirp.64676-ref32"><label>32</label><mixed-citation publication-type="other" xlink:type="simple">Pandey, D., Suman, U. and Ramani, A.K. (2010) An Effective Requirement Engineering Process Model for Software Development and Requirements Management. International Conference on Advances in Recent Technologies in Communication and Computing (ARTCom), Kottayam, 16-17 October 2010, 287-291. http://dx.doi.org/10.1109/artcom.2010.24</mixed-citation></ref><ref id="scirp.64676-ref33"><label>33</label><mixed-citation publication-type="other" xlink:type="simple">Nuseibeh, B. and Easterbrook, S. (2000) Requirements Engineering: A Roadmap. Proceedings of the Conference on the Future of Software Engineering, 35-46. http://dx.doi.org/10.1145/336512.336523</mixed-citation></ref><ref id="scirp.64676-ref34"><label>34</label><mixed-citation publication-type="other" xlink:type="simple">Zhu, Y. (2009) Requirements Engineering in an Agile Environment. Uppsala University, Uppsala.</mixed-citation></ref><ref id="scirp.64676-ref35"><label>35</label><mixed-citation publication-type="other" xlink:type="simple">Kavitha, C.R. and Thomas, S.M. (2011) Requirement Gathering for Small Projects Using Agile Methods. IJCA Special Issue on Computational Science-New Dimensions &amp; Perspectives, NCCSE.</mixed-citation></ref><ref id="scirp.64676-ref36"><label>36</label><mixed-citation publication-type="other" xlink:type="simple">Lucia, A.D. and Qusef, A. (2010) Requirements Engineering in Agile Software Development. Journal of Emerging Technologies in Web Intelligence, 2, 212-220. http://dx.doi.org/10.4304/jetwi.2.3.212-220</mixed-citation></ref><ref id="scirp.64676-ref37"><label>37</label><mixed-citation publication-type="other" xlink:type="simple">Paetsch, F. (2003) Requirements Engineering in Agile Software Development. Diploma Thesis, University of Calgary University of Calgary, Alberta.</mixed-citation></ref><ref id="scirp.64676-ref38"><label>38</label><mixed-citation publication-type="other" xlink:type="simple">Manifesto, C.H.A.O.S. (2013) Think Big, Act Small. The Standish Group International Inc. http://versionone.com/assets/img/files/ChaosManifesto2013.pdf</mixed-citation></ref><ref id="scirp.64676-ref39"><label>39</label><mixed-citation publication-type="other" xlink:type="simple">Inayat, I., Salim, S.S., Marczak, S., Daneva, M. and Shamshirband, S. (2014) A Systematic Literature Review on Agile Requirements Engineering Practices and Challenges. Computers in Human Behavior, 51, 915-929.</mixed-citation></ref><ref id="scirp.64676-ref40"><label>40</label><mixed-citation publication-type="other" xlink:type="simple">Cao, L. and Ramesh, B. (2008) Agile Requirements Engineering Practices: An Empirical Study. IEEE Software, 25, 60-67. http://dx.doi.org/10.1109/MS.2008.1</mixed-citation></ref><ref id="scirp.64676-ref41"><label>41</label><mixed-citation publication-type="other" xlink:type="simple">Helmy, W., Kamel, A. and Hegazy, O. (2012) Requirements Engineering Methodology in Agile Environment. International Journal of Computer Science Issues, 9, 293-300.</mixed-citation></ref><ref id="scirp.64676-ref42"><label>42</label><mixed-citation publication-type="other" xlink:type="simple">Jun, L., Qiuzhen, W. and Lin, G. (2010) Application of Agile Requirement Engineering in Modest-Sized Information Systems Development. Second World Congress on Software Engineering (WCSE), Wuhan, 19-20 December 2010, Vol. 2, 207-210.</mixed-citation></ref><ref id="scirp.64676-ref43"><label>43</label><mixed-citation publication-type="other" xlink:type="simple">Araujo, J. and Ribeiro, J.C. (2005) Towards an Aspect-Oriented Agile Requirements Approach. Eighth International Workshop on Principles of Software Evolution, 5-6 September 2005, 140-143. http://dx.doi.org/10.1109/iwpse.2005.31</mixed-citation></ref><ref id="scirp.64676-ref44"><label>44</label><mixed-citation publication-type="other" xlink:type="simple">Martakis, A. and Daneva, M. (2013) Handling Requirements Dependencies in Agile Projects: A Focus Group with Agile Software Development Practitioners. IEEE Seventh International Conference on Research Challenges in Information Science (RCIS), Paris, 29-31 May 2013, 1-11. http://dx.doi.org/10.1109/rcis.2013.6577679</mixed-citation></ref><ref id="scirp.64676-ref45"><label>45</label><mixed-citation publication-type="other" xlink:type="simple">Liu, L., Li, T. and Peng, F. (2010) Why Requirements Engineering Fails: A Survey Report from China. 18th IEEE International Requirements Engineering Conference (RE), Sydney, 27 September 2010-1 October 2010, 317-322. http://dx.doi.org/10.1109/re.2010.45</mixed-citation></ref><ref id="scirp.64676-ref46"><label>46</label><mixed-citation publication-type="other" xlink:type="simple">Inayat, I., Moraes, L., Daneva, M. and Salim, S.S. (2015) A Reflection on Agile Requirements Engineering: Solutions Brought and Challenges Posed. Scientific Workshop Proceedings of the XP2015, Trondheim, p. 6. http://dx.doi.org/10.1145/2764979.2764985</mixed-citation></ref><ref id="scirp.64676-ref47"><label>47</label><mixed-citation publication-type="other" xlink:type="simple">Soundararajan, S. and Arthur, J. D. (2009) A Soft-Structured Agile Framework for Larger Scale Systems Development. 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, San Francisco, 14-16 April 2009, 187-195. http://dx.doi.org/10.1109/ecbs.2009.21</mixed-citation></ref><ref id="scirp.64676-ref48"><label>48</label><mixed-citation publication-type="other" xlink:type="simple">Mulla, N. and Girase, S. (2012) Comparison of Various Elicitation Techniques and Requirement Prioritisation Techniques. International Journal of Engineering Research and Technology, 1, No. 3.</mixed-citation></ref><ref id="scirp.64676-ref49"><label>49</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Wiegers</surname><given-names> K. </given-names></name>,<etal>et al</etal>. (<year>1999</year>)<article-title>First Things First: Prioritizing Requirements</article-title><source> Software Development</source><volume> 7</volume>,<fpage> 48</fpage>-<lpage>53</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.64676-ref50"><label>50</label><mixed-citation publication-type="other" xlink:type="simple">Papadopoulos, G. (2015) Moving from Traditional to Agile Software Development Methodologies Also on Large, Distributed Projects. Procedia—Social and Behavioral Sciences, 175, 455-463. http://dx.doi.org/10.1016/j.sbspro.2015.01.1223</mixed-citation></ref></ref-list></back></article>