Presenting And Evaluating Scaled Extreme Programming .

3y ago
22 Views
2 Downloads
306.26 KB
9 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Vicente Bone
Transcription

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 11, No. 11, 2020Presenting and Evaluating Scaled ExtremeProgramming Process ModelMuhammad Ibrahim1, Shabib Aftab2, Munir Ahmad3, Ahmed Iqbal4, Bilal Shoaib Khan5Muhammad Iqbal6, Baha Najim Salman Ihnaini7, Nouh Sabri Elmitwally8Department of Computer Science, Virtual University of Pakistan, Lahore, Pakistan1, 2, 4School of Computer Science, National College of Business Administration & Economics, Lahore, Pakistan2, 3, 6Department of Computer Science, Minhaj University Lahore, Lahore, Pakistan5Department of Computer Science, College of Science and Technology, Wenzhou Kean University, China7Department of Computer Science, College of Computer and Information Sciences, Jouf University, KSA8Department of Computer Science, Faculty of Computers and Artificial Intelligence, Cairo University, Egypt8Abstract—Extreme programming (XP) is one of the widelyused software process model for the development of small scaleprojects from agile family. XP is widely accepted by softwareindustry due to various features it provides such as: handlingfrequent changing requirements, customer satisfaction, rapidfeedback, iterative structure, team collaboration, and smallreleases. On the other hand, XP also holds some drawbacks,including: less documentation, less focus on design, and poorarchitecture. Due to all of these limitations, XP is only suitablefor small scale projects and doesn’t work well for medium andlarge scale projects. To resolve this issue many researchers haveproposed its customized versions, particularly for medium andlarge scale projects. The real issue arises when XP is selected forthe development of small scale and low risk project but graduallydue to requirement change, the scope of the project changes fromsmall scale to medium or large scale project. At that stage itsstructure and practices which works well for small projectcannot handle the extended scope. To resolve this issue, thispaper contributes by proposing a scaled version of XP processmodel called SXP. The proposed model can effectively handlesuch situation and can be used for small as well as for mediumand large scale project with same efficiency. Furthermore, thispaper also evaluates the proposed model empirically in order toreflect its effectiveness and efficiency. A small scale clientoriented project is developed by using proposed SXP andempirical results are collected. For an effective evaluation, thecollected results are compared with a published case study of XPprocess model. It is reflected by detailed empirical analysis thatthe proposed SXP performed well as compared to traditional XP.Keywords—Extreme Programming Process Model; XP;modified XP; scaled XP; customized XP; empirical comparison;empirical analysisI.INTRODUCTIONAgile process models replaced the conventional andtraditional software development methodologies due toeffective features which were not available in conventionalmodels [34]. These features include: emphasis on customersatisfaction, team collaboration and managing changingrequirements [20],[45],[50]. Agile models follow an iterativeand incremental way of development which delivers a highquality software [2-3], [32],[46]. Agile process models arebacked by Agile Manifesto which is considered a parentdocument of agile family. This document explains thefoundations of agile software development in the form of 12basic principles and practices. These basic principles are aboutfrequent team communication, customer satisfaction,managing frequent changing requirements even at later stagesof development and early delivery of partial working software[1],[28],[31],[33],[35],[47],[48]. Many agile process modelsare used by the software industry now a days such as: ExtremeProgramming (XP), Scrum, Feature Driven Development(FDD), and Dynamic System Development Method (DSDM)[3],[5],[11],[37]. Extreme programming (XP) is one ofpopular agile process models for the development of smallscale projects as well as widely used by the software industry[5],[41],[42],[43],[51]. XP is a light weight approach forsoftware development, designed and developed by Kent Beckin 2000 [6]. It develops a qualitative software in limited timeand lower cost by using some of the best engineeringpractices, principles and values in a disciplined way. The XPdevelopment life cycle (Fig. 1) has six phases: “Explorationphase, Planning phase, Iteration to release phase,Productionizing phase, Maintenance phase and Death phase”[7],[12],[13],[38]. Exploration phase deals with therequirement gathering and it is also responsible for theselection of particular architecture for development. Projectplanning phase deals with the overall planning, including:number of iterations, no of requirements to be implemented ineach iteration, cost and time etc. Iteration to release phasedeals with the development of a workable software, this phasemay consists of one or more iterations. Productionizing phasedeals with the testing of developed module. Maintenancephase deals with the addition of any new functionally (ifrequired) by keeping the old ones intact and finally deathphase deals with the completion of software as per client’srequirement and ends with the release of software product. Allof these phases are backed by twelve best practices ofsoftware engineering, including: “planning game, smallreleases, metaphor, simple design, continuous testing,refactoring, pair programming, collective ownership,continuous integration, 40-hour work per week, on-sitecustomer and particular coding standards [8],[9],[10]. Thestructure of XP process model along with the umbrella ofthese 12 practices is best suited for small scale project andalso can handle frequently changing requirements very163 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 11, No. 11, 2020effectively [4],[39],[40],[44]. However the structure of XPcannot handle medium, complex and large scale projects[13],[36],[49],[52]. To handle this issue, many researchershave introduced improved versions of XP process models.However real issue arises when XP is selected for thedevelopment of small scale project and gradually the scope ofthe project extends to medium or large scale project due toclients requirements. To resolve this issue, this paper presentsScaled Extreme Process (SXP) Model. The proposed modelcan be used as an effective alternative of XP which can handlesmall as well as medium and large scale projects. Moreover, inthe situation of sudden change in requirements and extensionof the scope of small scale project to medium or large scaleproject, SXP can be effective as well. This research alsoevaluates the proposed SXP with an empirical case study inwhich a real time client oriented project is developed andresults are compared with another published case study whereXP is used for the development of client oriented smallproject. Comparative analysis reflects the effectiveness ofproposed SXP process model.This paper is further organized in the following sections.Section II highlights and discusses some of the related studies.Section III elaborates the problem definition. Section IVpresents the proposed SXP process model. Section Vempirically evaluates the proposed SXP. Section VI presentsthe critical analysis on results. Section VII finally concludesthe paper.Fig. 1. XP Process Model.II. RELATED WORKMany researchers have proposed modified versions of XPprocess models to reduce its limitations, some of the relatedstudies are discussed here. Researchers in [14], customized theconventional XP process model in order to resolve: design,documentation and quality related issues. The proposedcustomized model performs the activities regarding nonfunctional requirements in a separate iteration. The proposedversion of XP has some drawbacks including the need of extrastaff members to refine each deliverable in each phase.Moreover, this process model is not good for that projectwhich has higher interdependencies among subsystems. Thisresearch also lacks the empirical validation of proposedmodel. In [15], the researchers, proposed an extended iterativemaintenance life cycle using XP practices for softwaremaintenance. This approach uses RC (Request for Change)stories and old software as an input and performs all thephases & produce upgraded software. This study is validatedthrough academic projects. However, academic projects areless complex than real-time oriented projects. In [16], theresearchers proposed a hybrid model named DXPRUM bycombining three agile process models DSDM, XP, and Scrum.The DXPRUM is proposed in order to achieve variousfeatures in one framework including: business solution,project management, agile team management, and coreengineering practices. The proposed model is validatedthrough the empirical case study in [17]. The DXPRUMprocess model performed much better as compared to DSDM.Researchers in [18], adopted XP for the development of largescale distributed project and introduced some new practicessuch as: stand-up meetings, code control, visual indicators,adaptive planning, XP project management, and code gallery.In [19], the authors proposed a new solution for development.It is a combination of seven principles of SOA and XPpractices. The proposed solution did not resolve the issue ofSOA complexities and did not sustain the agility of XP. Inaddition, the proposed solution has lacked empirical proof. In[20], the authors used Analytical Hierarchy (AHP) for theCRC cards prioritization process. The APH helps thedeveloper to identify the most significant classes for simpledesigns. However, the proposed model is not evaluated on realtime test cases. In [21], the author studied 40 different teamsthat use extreme programming for the development of smallscale projects. This study provided comprehensive factors andpractices which provide positive effects on team performanceincluding: release planning, planning game, on-site customer,small releases, and stand-up meeting. On the other hand theresearchers have also highlighted that unit testing, acceptancetesting, test-first design (using TTD), pair programming, andrefactoring impacts negatively. In [22], the authors proposedan integrated XP process model. This model has the bestengineering practices & management practices of XP, Scrum164 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 11, No. 11, 2020and DSDM process model. They suggested a new role named“Technical Writer”, who writes effective documentation thatenhances understandability and future maintenance. In [23],the authors customized the XP process model for medium andlarge scale projects. This proposed solution is appropriate forparallel and incremental project development. Extendedextreme programming is Omni-direction in nature and it hasfive phases including the risk management phase. However,this study did not provide statistical proof regarding largescale project about parallel development. In [24], the authorproposed an optimization model that assists in the activity ofrelease planning in XP. The proposed solution essentiallysupports the development team of XP and the client in therelease planning phase. In this model, the release plan isdeveloped based on stories and their relations along with thepriorities. However, it consumes a lot of time for datacollection which ultimately loses the agility.In [25], the authors presented a controlled empirical casestudy of XP and Waterfall methodology. Same project wasdeveloped multiple times over five years. The purpose of thisresearch work is to evaluate the efficiency of the XP andWaterfall process models. This research shows unexpectedsame results of both process models. However, this researchhas a lack of diversity of data source and data characteristics.In [26], the researchers proposed a hybrid process modelnamed eXRUP for small to medium scale projects byintegrating XP and RUP. The proposed solution has beenvalidated through a controlled case study. However, theproposed eXRUP has minimal interaction of programmerswith customers and needs higher management. In [27], theauthors proposed tailored extreme programming (TXP), asimple version of the XP process model. The author removedunnecessary practices and phases of the XP model to modify itfor small teams and small projects with predefinedrequirements. In [29], the authors identified the need ofsoftware process improvement (SPI) in small firms. Thesesmall firms face the same SE challenges as large softwareindustries face about SPI. This research develops an SPIstructure for small firms by using XP process model. In [30],the researcher introduced a modified XP for medium and largescale projects with large team size. The proposed solutionextends the capability of the conventional XP by resolving thedesign, and documentation related issues. A new phase named“Analysis and risk management” is also introduced to handlefailure risks. The new XP model is validated through two casestudies on two independent software houses.III. PROBLEM DEFINITIONXP process model was designed for small teams todevelop small scale projects having limited scope. In XP, thecollection of good engineering practices and simple SDLCsteps help to produce high quality software product withinscheduled time but with limited scope (small project). Manyresearchers have explored the capabilities of XP andcustomized its practices for various projects types (such asmedium and large) and nature (simple and complex) [30]. XPis ideal for small scale project however issue arises when therequirements of client constantly changes with the gradualpassage of time which increases the scope of project fromsmall to medium and large scale projects. In such cases, thefeatures of XP like simple design, less documentation andlimited testing and absence of proper change managementactivities can create hurdles to manage the quality as well asdelivery of the product within specified time. To handle suchissue, this research presents Scaled XP process model whichworks well for small scale to medium and large scale projects.Proposed SXP can tackle the issue of change management insuch cases where project starts with limited scope butgradually extends to medium and large scale projects due toclient’s frequently changing and increasing requirements.IV. PROPOSED SOLUTIONThis research proposes a customized XP process modelcalled Scaled Extreme programming (SXP) for small tomedium and large scale projects. The proposed solution isequally suitable for small, medium and large scale softwareprojects, unlike the conventional XP process model. The SXPpersonalized the current practices of XP model to eliminate itslimitations without effecting its agility. These limitations areeliminated by adding new phases and practices in SXP. Someeffective activities which are included in the proposed model,include: managing the Risk Register, addition of UMLartifacts, Effective Testing Mechanism, Formal RefinementTechniques and a formal procedure of Requirement ChangeManagement (RCM). The RCM provides managementsupport to the development team and customers to producesoftware products in a controlled & monitored environment.The workflow of SXP consists of seven phases as shown inFig. 2. These phases are named as: Start Phase, Planning &Analysis Phase, Design Phase, Development phase,Acceptance Phase, Refinement Phase, and Release Phase.A. Start PhaseThe first phase of the SXP model is similar to the firstphase of XP Model. In this phase, requirements are gatheredfrom the clients by writing user stories. Writing story card is avery effective XP practice. User stories provide a high-levelsummary of the requirements for the desired system, and theseare used as a primary input into estimating and scheduling.However, these user stories do not contain any technical detailof the desired software. In addition, Non FunctionalRequirements (NFR) are also explored with customer bykeeping in view the Functional Requirements.The extraction of NFR is also vital to the success of theproject as these are extracted in order to get rid of undesirableresults like unsatisfied client, as well as schedule & budgetoverruns, etc.B. Planning and Analysis PhaseThis phase consists of very important activities for theinitiation of project and initiates with the input of detailedrequirements which are further explored to estimate the risk,time, cost, budget and effort. Essential decisions regardingplanning are made & documented including: Iteration plan,team size, estimation of cost, budget & effort. Activities ofRCM are assigned to a team. Identification of the potentialrisk, Monitoring the risk and perform any actions required tomitigate the risk are included in the activities of RCM. Riskregisters are used to document the complete actions during theprocess of risk management.165 P a g ewww.ijacsa.thesai.org

(IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 11, No. 11, 2020Fig. 2. Scaled Extreme Programming.C. Design PhaseThe design phase of SXP initiates with the development ofUML diagrams including: Use Case, Sequence, and Class.These diagrams aim to help the developers to understand thefunctionalities of system in an easy way. These diagrams alsohelp in change management activity. Moreover, by keeping inview the developed UML diagrams, test planning iscompleted. During test planning, test classes are written thatverifies whether the certain pieces of code & classes areproperly working or not.D. Development PhaseIn this phase, designed artifacts are transformed intoworking software or modules. The UML artifacts and testclasses are the input of this phase. The design artifacts helpdevelopers to code in object oriented languages. The basicactivities performed in this phase include: Coding, FunctionalTesting, and Integration & Integration Testing. Aftercompletion of each component, functional testing is performedto check and analyze the working of that developedcomponent. If the developed component is working fine thenit is integrated with previously developed component and thenintegration testing is performed in order to check whether theintegrated components are working fine or not.E. Acceptance PhaseIt is a short phase in which testing is done by the tester inthe presence of customer. The tester is a member of thedevelopment team who is assigned the task of testing theproduct externally. Black-Box testing is performed to examinethe functionality and features of the system to meet clientrequirements. If the tester found any error during the test thenthis phase is aborted and refinement phase is initiated.However, if the tester passes the software then, the product isready for the acceptance testing which is performed by thecustomer. This activity is essential and crucial in order tosatisfy the customer. Moreover in this phase, the feedback iscollected on the software and if the new request ordissatisfaction is reflected by the customer then it will befurther handled and catered through RCM.F. Refinement PhaseThe phase initiates if the issues are found in Black-Boxtesting. The refinement starts with a formal meeting in whicha detail review is performed to check the stories, developedartifacts, test classes, and codes in order to identify the issues.At the end of review meeting, identified issues aredocumented and resolved through an implementation plan.RCM takes necessary action against the refinement decision.In addition, some important documents are also updated byRCM like, Risk register, Change request register and design.G. Release PhaseThis is the last phase, in this stage software is ready torelease or deliver to the client. The team moves to this stagewhen all user stories are implemented, and the customer issatisfied with the software. In addition, training, anddocumentation are provided to the

extreme programming is Omni-direction in nature and it has five phases including the risk management phase. However, this study did not provide statistical proof regarding large scale project about parallel development. In [24], the author proposed an optimization model that assists in the activity of release planning in XP.

Related Documents:

Scaled Agile, Inc. Marketing and Editorial Style Guide January 2020 7 Elevator pitches 80-word company description About Scaled Agile, Inc. (SAI) Scaled Agile, Inc. is the provider of SAFe , the world's leading framework for business agility. Through learning and certification, a global partner network, and a growing community of over 500,000

A majority ofArizona voters say that wildfires (84%), heat waves (79%), and drought (74%) have become at least somewhat more extreme in the past 3-5 years. 38% 36% 29% 36% 26% 43% 21% 55% 16% Drought Heat waves Wildfires Much more extreme Somewhat more extreme Not changed much at all Somewhat less extreme Much less extreme Perceptions of .

Extreme Programming Extreme Programming (XP) takes commonsense software engineering principles and practices to extreme levels For instance “Testing is good?” then “We will test every day” and “We will write test cases before we code” As Kent Beck says extreme programming takes

Extreme weather is also potentially destructive, although not all extreme weather events end in disasters. For some weather events, the idea of what constitutes an extreme can vary from place to place. It often depends on what a region is used to experiencing and what it is prepared for. A 20-cm snowfall would be an extreme event for Washington .

gauge the level of understanding of what extreme weather is. You might like to do this on an interactive whiteboard. Use the supporting film and images, which can be found on the slides, to introduce some different types of extreme weather and associated vocabulary. Activity steps 01 Exploring extreme weather Extreme weather

Extreme Programming John T. Bell Department of Computer Science University of Illinois, Chicago Prepared for CS 442, Spring 2017 2 Sources 1. Wikipedia: Extreme Programming 2. Wikipedia: Extreme Programming Practices 3. Wikipedia: Kent Beck 4. Kent eck and ynthia Andres, “Extreme Programming Explained: Embrace hange”, 2nd Edition 5.

1 x Extreme Summit X440 48P Stacked (2014) 8 x Extreme Summit X440 48P (2015) 2 x HP 1910-8G POE 8P (2014) 20 x SFP Modules WMS (Revised 2019) 1 x Extreme X460G2-48x-10G4 48p (2015) 1 x Extreme X460-48p (2015) 4 x Extreme X440

Here are a few suggested references for this course, [12,15,1]. The latter two references are downloadable if you are logging into MathSci net through your UCSD account. For a proof that all p{ variation paths have some extension to a rough path see, [14] and also see [6, Theorem 9.12 and Remark 9.13]. For other perspectives on the the theory, see [3] and also see Gubinelli [7,8] Also see, [9 .