Software Quality Assurance in XP and Spiral - a Comparative Study

Software Quality Assurance in XP and Spiral - a Comparative Study

Fifth International Conference on Computational Science and Applications Software Quality Assurance in XP and Spiral - A Comparative Study Sajid Ibrahim Hashmi and Jongmoon Baik Information and Communication University, 109 Munji-ro, Yuseong-gu, Daejon, South Korea {hashmi,jbaik}@icu.ac.kr Abstract and test drivers rather than focusing on software requirements and designs. This immense focus on Agile processes have been introduced to avoid the source code makes XP controversial [2], but the fact is problems most of software practitioners have run up that XP is highly valuable in terms of simple design, against by using traditional software development emphasis on refactoring, testing, and code inspection methodologies. These are well known for their benefits by means of its related practices. like focus on quality, early business value delivery, There are two of the main advantages of agile higher morale of stakeholders, and the reduced approaches: Firstly, they can effectively handle the cost/schedule. Also, they can support the earlier and unstable/changing requirements throughout the quicker production of the code by dividing the product software development life cycle. Secondly, they can into small segments called iterations. However, there deliver the business values earlier by small increments are on-going debates about their flexibility to of the product under budget and schedule constraints accommodate changing requirements and whether the when compared to traditional plan-driven software productivity and quality of the agile processes is development methods [3]. One of the most important satisfactory for the customers or not. Previously issues is to satisfy customers with high quality available studies have mostly focused on comparing products, which agile methodologies are supposed to XP(eXtreme Programming) with some other Agile resolve in an appropriate way. Is it possible to satisfy methodologies, rather than comparing it with the customer with high quality products throughout the traditional plan-driven software development QAs of agile methods,? Is the level of QA in XP the methodologies. In this Paper, we identify the XP same as that in Spiral? In order to address this issue, phases and practices, how they ensure product quality, we compare the quality assurance techniques of both and map XP phases against the Spiral model phases to XP and Spiral development models. prove that XP has built-in QA(Quality Assurance) A recurring aspect of many XP practices is a focus practices in its life cycle, in addition to its focus on on product development risk control (or management). productivity. A case study is also included to Instead of producing an artifact to satisfy the process, empirically investigate quality of the product XP encourages developers to ask the question what developed using XP with comparison to the product would happen if the artifact is not produced. Apart developed using Spiral Model. from focusing on risks only, XP also focuses on building quality into the product rather than relying on a quality process that verifies a product after 1. Introduction development. This built-in QA of XP is obtained by means of its practices like refactoring, metaphor, Agile methods have been known to be effective simple design, and Test Driven Development. software development processes which can result in The primary purpose of this paper is two-fold. First, high quality products. However, it is a controversial it identifies and describes the built-in QA practices in topic in software engineering. Many practitioners and both XP and Spiral Model. Secondly, it provides a case researchers still doubt about its benefits, some are study to investigate the relation of quality in both strongly against the agile development, while others processes. Quality is chosen because this is one of the suggest a mix of agile and plan driven development major issues for which XP is supposed to answer [1]. XP, which has been one of the widely used agile properly. methods, concentrates on producing executable code 0-7695-2945-3/07 $25.00 © 2007 IEEE 367 DOI 10.1109/ICCSA.2007.65 Authorized licensed use limited to: IEEE Xplore. Downloaded on April 1, 2009 at 14:47 from IEEE Xplore. Restrictions apply. Our research question is that quality is built into XP vague, unstable, and changing requirements. It has process, and XP addresses this issue better than any gotten four core values that are used to guide its other traditional plan-driven software development employed practices. These values include method. The proposed approach consists of identifying communication, simplicity, feedback, and courage (or the phases of XP, figuring out how those activities are morale). A typical XP project has been applied to small involved at each phase, how they ensure the quality projects with less than 20 developers, and it is mostly like Spiral model, and what is the empirical relation of used for the projects without any strong base [2], i.e. quality in both processes. This approach can be helpful without much documentation. It is important to to investigate XP’s support for software quality within understand the different phases of XP and role of each its life cycle. phase in order to establish the link with any other The rest of paper is organized as follows: Section 2 software process. Life cycle of an ideal XP project describes XP and Spiral processes in terms of stages consists of the following phases [4]. and practices involved at each phase, Section 3 gives a life cycle comparison of both processes, Section 4 z Exploration: It deals with ensuring that one is investigates the QA activities in Spiral and XP capable of going into production using XP. During supported by a case study, and finally Sections 5 and 6 the phase, programmers experiment with the contain discussion and conclusion respectively. limitations of the technologies they are supposed to use. They also experiment every programming task 2. Related Works to figure out the exact time it would take while they are developing the product; meanwhile the Currently available research works about XP varies customer is busy in writing the stories for the in its nature in terms of the ways how quality is desired system. focused. Mainly practices like solo and pair z Planning: Here customers and programmers agree programming have been investigated for productivity upon the date by when the smallest set of “stories” and quality. Mostly empirical data has been used by will be completed. Planning for the first release researchers to prove their hypotheses in favor of QA should be between 2 to 6 months; this commitment ability of XP; [2,14,15] have used different types of schedule is further broken into the iterations of one data to prove the quality support in XP; [20] has to four weeks duration. Each iteration will also proved some drawbacks in XP based on some produce the set of functional test cases for each of empirical data. [8] Has made life cycle comparisons the stories. between generic Agile and Waterfall process but there z Productionizing: It tightens up the feedback is not any empirical investigation to support the claim. cycle. Performance of system must also be tuned up On the whole, agile processes have not been for this phase. It is recommended to slow down the investigated thoroughly against the plan driven software production at this stage so that the risks methods. In general, empirical data has been used for become more evident for evaluation and mitigation. the validations of results on QA of XP. However, the z Maintenance: It deals with keeping the existing problem with these types of investigations is that data system running while at the same time producing may vary from place to place and situation to situation. the new functionality. The important thing about A same kind of validation may not hold true for all maintenance is that you have to be prepared for situations. Our approach is different in this sense. We development interruption in case any production have tried to make the validation based on the life problems occur; but on the other hand one must be cycle similarities of both XP and Spiral life cycles, careful enough to change the design. rather than relying only on an empirical investigation. z Death: Dying well is also important for A good life. If customers do not come up with new stories, 2.1. eXtreme Programming (XP) then it is time to wrap up the system. Customer’s happiness is very important for this kind of death. XP is one of widely used agile methods which can Another reason for death might be the inability of deal with unstable requirements by using a number of system to accommodate further stories. different techniques like simple planning, short QA in XP is achieved by means of its different iteration, earlier release, and feedback from customers practices like testing, refactoring, system metaphor, on frequent basis. These characteristics enable agile pair programming, and Test Driven Development methods like XP to deliver product releases in much (TDD). These core practices complement each shorter cycle time. XP was developed to address the other.Testing is normally carried out by means of TDD needs of small teams who have been confronted with which determines not only the design but also ensures that written code is defect free. Refactoring deals with 368 Authorized licensed use limited to: IEEE Xplore. Downloaded on April 1, 2009 at 14:47 from IEEE Xplore. Restrictions apply. ensuring that code is always kept simple so that the Evaluat , Id probability of faults is minimized. System metaphor s s ve entify ti c e je Al gives an understanding of system architecture. Hence b & O R ter ne es na the possibility of things going wrong is reduced if olve Riskstives ermi tives, Constraint a , development is carried out based on the architecture.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us