Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Review On Extreme Programming-XP: April 2019

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8
At a glance
Powered by AI
Extreme Programming (XP) is an agile software development methodology that focuses on rapid releases, customer feedback, pair programming, and other practices.

The main phases involved in the cycle of XP are planning, design, coding, and testing.

Some core practices of Extreme Programming include pair programming, testing, refactoring, and small releases.

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/332465869

Review On Extreme Programming-XP

Conference Paper · April 2019

CITATIONS READS

0 2,423

1 author:

Maleeha Arif Yasvi


Indraprastha Institute of Information Technology
3 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Hybrid Text Summarization View project

Ontology Design Recommendation View project

All content following this page was uploaded by Maleeha Arif Yasvi on 17 April 2019.

The user has requested enhancement of the downloaded file.


Review On Extreme Programming-XP
Maleeha Arif Yasvi Shubhika
Khusbhu Sahendrasingh Yadav
Department Of CSE Department Of CSE
Department Of CSE
IIITD IIITD
IIITD
Delhi,India Delhi,India
Delhi,Indiai
maleeha18112@iiitd.ac.in shubhika18085@iiitd.ac.in
yadav18087@iiitd.ac.in

Abstract—Extreme programming is an iterative software requirements have to be known beforehand, so there is no


development methodology which aims to produce higher scope of changing the requirements once the project
quality software and helps in providing an optimal solution. development starts. So the waterfall model is not flexible to
Extreme Programming differs from other software the changing requirement needs. On the other hand, XP
development methodologies as it focuses more on adaptability focuses on iterations and allows for changing requirements
and responsiveness to the changing customer requirements. By even after the initial planning has been completed [2]. Also,
using extreme programming as a software development the waterfall model does not require the participation of
methodology, better results have been obtained in software customers while as XP focuses on customer participation and
development.
satisfaction and regards it as a primary goal during software
Keywords—Extreme Programming, Testing, Pair
development process. So, XP is a preferred model in the
Programming, Refactoring, Small releases software development these days.
XP is a framework of the agile software development
I. INTRODUCTION model, and it primarily aims at producing higher quality
software. Agile software development advocates adaptive
Extreme Programming is a software development model
planning, evolutionary development, continuous
which primarily focuses on the software quality
improvement and encourages rapid and flexible response to
improvements and responsiveness to the changing customer
changes. It focuses on customer satisfaction, simplicity and
requirements. It is a type of agile software development
continuous attention from the developers as well as the
model. It advocates frequent releases in short development
customers. XP is the framework of the agile software
cycles. These releases are intended to improve the
development and hence all these practices are implemented
productivity and enhance the quality of the software by
in XP.
introducing certain measures that focus on initiating certain
checkpoints at which the customer requirements can be
adopted and met. III. TRADITIONAL VS XP
Extreme Programming focuses on light-weight processes. The Waterfall model, often termed as a linear
The main phases involved in the cycle of XP are- Planning, sequential development model has been used widely in the
Design, Coding, Testing [2]. As it is an iterative model, the last few decades whereas extreme programming (XP) has
system is developed by dividing the overall project into small shown its popularity in the recent past. There was a need to
functions. The cycle of development from the design to the analyze both these methodologies to choose one that serves
test phase is performed for one function. After executing for as the best fit for any software development process. The
one function and debugging it properly, the developers then factors upon which decision lies are time constraint and risk
shift to the next [2]. mitigation and adaptability to the requirement changes
XP is based on rapid release cycles and continuous during any phase of software development.
communication between the developers and the stakeholders; The Waterfall methodology comprises of five
that is, the customers [4]. It strongly relies on oral phases including requirement gathering and specifications,
communication, frequent testing, code review and designing design phase, implementation phase testing and deployment
[5]. Communication is regarded as an important criteria in phase. As stated in [19] and [20], waterfall methodology
XP. The communication should frequently happen among spent most of its time in documentation i.e. during the first
the concerned parties like the developers, customers, and phase, and implementation phase also shows a significant
managers [6].
amount of time consumption whereas extreme programming
methodology devotes maximum time in the testing phase.
II. BACKGROUND
Extreme Programming (XP) being iterative in
XP was created by Kent Beck during his work on
nature, proposes short releases periodically. It follows an
Chrysler Comprehensive Compensation system (C3) payroll
project. Kent Beck became C3 project leader in March 1996 automated testing strategy that prevents risk propagation in
and refined the development methodology used in the project the later stages. To avoid any kind of risk, XP performs
and wrote a book on the Extreme Programming methodology continuous checks in each phase and resolves it in that
in 1999. particular stage if found any. In the case of waterfall
methodology, if the requirements are misunderstood in the
XP is regarded to be better than the traditional waterfall initial phase then it may lead to the development of a faulty
model. It is increasingly adopted by companies worldwide system as it lacks communication process throughout the
for software development. Since in the waterfall model, the development. As waterfall tries to find errors in the later
development process is completed on a single project and the
phase, risk propagation in the upcoming phases increases 1. Planning Game
which eventually end up costing high amount to fix the
2. Small Release
risks.
3. Metaphor
Waterfall model is sequential. Hence there is no
way one could backtrack to the previous stage. Hence it 4. Testing
causes a problem in making corrections. It is not possible to 5. Refactoring
adapt to the changing business requirements in the later
stages. In Extreme Programming, several checkpoints are 6. Pair Programming
being introduced which could be used for adapting the new 7. Collective Ownership
customer requirements. However, adapting frequent
requirement changes late in the development process may 8. 40-hour week
cause a delay in the completion of the project. It may also 9. On-site customer
result in increasing the complexity of the project.
10. Coding Standards
XP model helps to deliver fast with minimum risk
exposure and is well suited for small sized software project Planning Game: This involves the developmental
whereas waterfall serves as the foundation for a large scale strategy of releasing plans for the project and the meetings
between the developers and the customers. The strategies to
software project.
improve communication among the stakeholders are also
focused upon in this practice of XP. The system releases
IV. KEYS TO SUCCESS IN EXTREME PROGRAMMING plans and dates for the meetings and the project reviews [1].
 Management Backing: Management encourages General discussions to know about the progress of work are
the team to try different scenario related to the size held through XP. Discussions among the stakeholders ensure
of teams, duration of iterations. that the queries are resolved and both the developer as well
as the customer has a proper understanding of the system and
 Coach Role: Technical lead and Project Lead on
the project flow [3].
the project, guide and push the teams to follow the
process to which team has committed. Small Release:- The entire project is distributed into
 Simple Coding: XP works best when the simplest functions, and after completion of each function, the
solution is implemented for the current iteration development team releases its version to the customers. The
and refactoring is done after each iteration when release cycles in XP are shortened to speed up the feedback
stories require it. from the customer. It is done to handle the risks and errors
according to the release of each version [3]. It ensures better
 Adaptation: If the process is the same as one year
accountability and efficiency. After the release of each
before, then the process is not agile as it was a year
function, it is integrated with the previously released
ago. So, adaptation is an important step in the functions. So, continuous integration is done [5].
success of XP.
 Team Coordination: The coordination between the Metaphor:- It describes how the program looks. It is a
members of a team plays a vital role in the success document that describes the working of the system and
of an XP project. expresses the evolving project vision that would define the
 Tester Roles: Testers are a critical part of the system scope and purpose. The metaphors are directly
derived from the principle and standards of the project
success of an XP project, while their role may look
architecture and requirements [4].
different on an XP team, make them part of the
team. Testing:- XP focuses on frequent testing. Testing is
 Test First: Testing saves developers from coding done to ensure that the code is free from errors. Unit testing
the same model again and again. Testing after is performed in which every piece of code that is written of a
almost every iteration shows the flaws in the particular function is tested before moving on to the next
system and hence provide a means to achieve good function. Apart from the testing involving rectification of the
quality software. coding errors, acceptance testing is also done. Acceptance
test verifies the requirements as understood by the developer
and whether it meets the requirements of the user or not.
Integration testing is also done which helps in testing the
A healthy XP project can run for a long time, but you need system when different functions of the system are integrated
to change and adapt along the way. Change is good and into one unit [1]. The testers and developers work together to
necessary, including changing the process along way. 14
find out faults. Therefore, in XP the tests are initially run on
small codes and then the whole system [3]. In some of the
software applications, J-Unit is used for testing. It allows
V. PRACTICES testing localization classes, entire package or even entire
XP has 12 basic practices which are always project [8].
implemented. These practices ensure better code readability Refactoring:- It is a way by which the code is kept in an
and understandability and also help in enhancing easy to understand form. It ensures the removal of duplicate
communication between the developer and the customers so code and makes the code easy to understand. The use of
that a better product is made. complex coding schemes is not appreciated in XP and stress
The 12 practices of XP are listed as:- is given on forming an easy code [3]. Long methods, use of
unnecessary classes are avoided [5]. In this phase, implementation can be carried through them or not. The
restructuring is implemented. It is the change made to the output of the analysis phase is the feasibility report. For
internal structure of the software to make it easier to forming the stories, brainstorming sessions are encouraged
understand. Refactoring helps to modify the structure among the stakeholders [2]. Value graphs which help to
without changing its observable behavior [1]. answer questions such as „why‟, „how‟ are also followed.
Pair Programming:- It is the concept of having two Value graph is a tool used for finding value and requirement
programmers work together for a particular function code. functions [2].
One programmer writes the code while as the other is the Followed by the analysis phase is the planning phase in
observer who reviews the code written by the programmer which the strategy is planned. It is done according to the
[1]. It ensures better efficiency and helps in determining planning game practice of XP. Failed stories will be
more alternatives [5]. analyzed in this phase and new stories will be created to
overcome the failed stories.
As Extreme Programming focuses on pair programming
After the analysis phase, designing and implementation
for implementing the user stories, it gives rise to observe the phase is executed which ensures extensive testing. Pair
personality traits which will impact the development programming is followed while coding.
process. It is being observed that the efficiency of pair
programming depends on whether both the persons are The last stage of the life-cycle is the delivery stage. This
working remotely or at the same location. It has been phase includes the activities like the installation of the
checked by a well-known personality test model namely software, training of the customer to accustom with the
Myer-Briggs Indicator which takes into account following enhancements or changes [1].
traits: extraversion/ introversion (how people get influenced
by surrounding), sensing/intuition, thinking/feeling (how an VII. APPLICATIONS OF XP
individual takes a decision) and judging/perceiving XP practices are widely used in the software
(organizing plan of developers). The final results stated in development process.
[23] showed that overall efficiency reduces if two different
personalities are working together on a specific module at a XP practices are used in the development of web-based
foreign location. On the other hand programmers with applications [7]. This is done to ensure software organization
responsiveness while decreasing the developmental overhead
similar traits tend to understand and communicate easily
[7].
regardless of the location thereby leading to enhance the
efficiency. By ensuring frequent meetings between the customer and
the developer, XP has also been helpful in global software
Collective Ownership:- It is a practice in XP which development [6]. When customers and developers are not co-
ensures that all the team members should be familiar with the related, then the feedback between them is not timely enough
project code. This practice enables any programmer to which may become an obstacle. So, XP practices when
change the code in the system at any time. It works like adopted result in a shortcut communication channel [6].
open-source programming [4].
XP implements reverse engineering practices while
40-Hour Work:- It is the practice in XP which ensures developing the software model [5]. The developers
that the team members in a project should work the hours comprehend the source code of the old system and deliver its
that they can sustain quality [1]. The important thing is to features to the customer. The customer validates the
recognize the time agreeable by all the team members for the specification set and the developers again revise the features
number of hours that have to put in for a week. After every and start building the system according to the XP practices
week, the work done will be reviewed [3]. [6]. In the designing of some software models, there are
On-Site Customer:- To ensure that the developers have separate developers for reverse engineering phase and for
a proper understanding of the desired project and all the implementation that is the forward engineering phase,
requirements are being met, a single customer from the separate developers are present. Reverse engineering group
customer team is always available to answer all the questions shares documents and specifications with the forward
of the developers, resolve disputes and set small scale engineering group and consultation between the two groups
priorities all the time [2]. happen [6].
Coding Standards:- For ensuring collective ownership XP practices have also been implemented in university
so that any programmer can change the code in the system at projects among the students [8]. In some of the projects,
any time, the practice of collective ownership is implemented JCVS (Java Concurrent Version System) tool is used for
[6]. XP mandates the use of coding standards. The providing a standard for coding and providing collective
programmers must follow a common coding standard so that ownership. The JCVS tool leads to a more consistent and
all the code appears to have been written by one person [4]. relaxed method of coding. By containing all code in one
server and accessing the server for the most recent version,
all programmers can get to know the recent release.
VI. LIFE-CYCLE OF XP
The iterative life-cycle followed in XP goes through For maintaining the documents of the project system and
the analysis, planning, designing, implementation and the extracting stories, automatic generation tools are used which
delivery phase [1]. All these phases are executed following record the insights during the analysis phase and then the
grouping of similar ideas is done to derive a proper
the practices of XP. Initially, stories are created that give the
description of the system [2].
estimate, release plan, iteration duration, etc. In the analysis
phase, the stories are analyzed by the developer to see if the
The customers have ample knowledge regarding product agility. Hence RUP could be improvised by adopting agility
requirements and background. The bidirectional feature of XP as mentioned in [24] and XP could
communication between customers and the development incorporate certain RUP principles to strengthen the
team is essential as it allows developers to gain adequate theoretical foundation.
insight regarding the requirements of the project so that they
The requirement changes often lead to a considerable
can develop a high-quality product. Hence XP
amount of rework in the software development process.
communication is divided as internal communication among
Extreme programming helps to reduce this rework by
the project members, communication between the customers
forecasting the changes based on business and technical
and communication between developers and customers been
perspective using enhancing story card and adjusting the
discussed in [22].
planning game i.e. whenever the customer presents a story,
The XP bidirectional communication module involves the developers analyze the stories and break them up into
formal (includes conferences) as well as informal various features and organize them into components. These
communication (which includes team discussion, customer components are then assigned risk, cost, schedule and
discussion). But sometimes customers may specify likeliness of getting changed discussed in [25]. Thereby
requirements in abrupt manner i.e, there could be a case components with minimum chances of getting changed were
when they specify the requirements in a fuzzy manner implemented first, except few times where there exists
leading to requirement deficient condition or sometimes dependency among the components and therefore those
may over expect from the developers resulting in providing components are developed sequentially.
excessive requirements which in real sense would not be
Security is a matter of concern while developing a
possible to satisfy in the given time frame of the project.
web-based application as these applications are highly prone
This problem could be solved by introducing the two
to vulnerabilities. The most popular threats include Cross-
dimensional characteristic model in XP that analyzes the
Site Scripting and Structured Query Language Injection as
satisfactory situation of customers leading to the
discussed in [21]. It becomes important to incorporate
developments of a high-quality product with the best
certain security measures while adopting any software
features. It can be achieved by comparing the customer‟s
development methodology. Extreme programming could be
requirements and developer needs. The customer
improved by tightening security controls all over the
requirements could further be classified as Expectation, No
development stages.
Opinion, Bear and No Way, whereas the developer needs
could be classified as Expectation, Possible, Reluctantly and The improved model thereby involves both the
Refuse. Both the sides then reach a consensus to fix the development team and the business representatives in the
requirements that need develop and thereby eliminating the early phase that helps to identify security threats and to
undesirable needs. work over it at the early stages in the development lifecycle.
This way they define security requirement and acceptance
The demand modules of XP serves as a base to improve
testing requirement within the company policies. Misuse
the product quality and increasing the customer awareness
cases along with use cases are introduced in the model that
of the project along with reducing the risk factor involved in
is being carried out from the requirement and design stage
the project development. The demand module comprises of
as it gives a proper insight regarding how will the system be
concept stage, prospect stage, requirement stage high-
exposed to threats. It also emphasizes on following secure
quality requirement stage and tool stage. The concept stage
coding standards that enforce secure naming convention,
performs preliminary analysis to identify the main objective
remarks, and security infrastructure. Pair programming also
of the project eliminating the problem of deficient
helps to review code by double checking the areas that are
requirement. In the prospect stage simple planning is done
prone to vulnerabilities. There is an iterative risk assessment
using all the key records to get the characteristics of the
during the entire lifecycle that keeps track of the security
product thereby designing the work process and managing
issues as few of the threats may go undetected in the early
the flood requirements. The requirement stage focuses on
phases.
combining the use cases modeled by developers and stories
being prepared by customers and analyze the data to avoid Various other applications of XP are as follows:
frequent changes. In the high requirement stage where both
customers requirement and developer need to meet a A. Extreme Programming Development through Dialog
consensus followed by tool stage, where defects are being The two primary roles in XP are customer and programmer.
tracked and version control is looked upon. This leads to The customer is responsible for identifying the
enforce a better insight for the developer to understand the features (known as stories) that the programmer must
requirements and functionality clearly. implement, providing detailed acceptance tests for those
The efficiency of the various software methodologies stories and assigning priority to them. On the other hand,
could be enhanced by incorporating XP principles within programmers are responsible for estimating how long it will
their life cycle. One of them includes the Rational Unified take to implement those stories [10].
Process (RUP) which is a process oriented development
methodology that focuses more over on the process control With this division of responsibility in place, a project plan
and spending a significant amount of time to meet the represents a dialog between the customer and the
process requirements. In contrast to XP, it does not pay programmers. The protocol of that dialog is also clear. The
much attention to the developing program and improving its customer tells the programmers what stories he or she wants
in the next iteration. The programmers add up the estimates The best results were achieved when the project was for
for those stories and tell the customer whether they are 9 block days and each iteration was of 2 days. Also, the
possible [10]. The customer can remove or swap stories but team size played a vital role, so a team of 8 students was
cannot get more in the iteration than the programmers best. It is difficult to efficiently enforce test-first
12

estimate is possible. The programmers can tell the customer development when supervising a larger group of students.
how long something will take, but cannot select stories to be So, a small group shows a better result than the large one.
implemented. By tweaking the properties of the XP lab, we could
Thus, there are several layers of dialog in an XP project improve the overall learning outcome over the years. The
[10]. The customer has an ongoing dialog with the XP lab has been a very successful class in the computer
programmers, the programmers have an ongoing dialog with science curriculum so far.
each other, and the test cases have an ongoing dialog with
D. Industrial Extreme Programming implementation
the program. In this way, the programmer and customer
(IXP) in Rational Unified Process (RUP) on Agile
learn to trust each other.
Development theme
B. Extreme Usability (XU) in Software Engineering
Education
Rational Unified Process (RUP) is a case-driven and
In software engineering, usability is a degree to which architecture-centric based IBM Theory. The main purpose
software can be used by specified consumers to achieve of RUP is to ensure that the resulting software has high-
quantified objectives with effectiveness, efficiency, and quality as the user‟s need. It also ensures that software is
satisfaction in a quantified context of use. Extreme Usability produced within time and cost specified. RUP life cycle is
(XU) is such that all best practices of Usability Engineering divided into 4 different phases: Inception, Collaboration,
(UE) are kept in XP during planning games, with a Construction, and Transition. In each phase there are 9
restriction of the usability aspects in next iteration and the processes, they are :
equal treatment of Usability and Functionality [11]. Business Modeling, Requirements, Analysis and Design,
A practice of XP, which is often difficult to achieve in a Implementation, Test, Deployment, Configuration and
realistic setting, is the customer-on-site because of the heavy Change Management, Project Management, Environment.
time-restraints this poses on the customer [10]. In XU, this Industrial Extreme Programming (IXP) is a
difficulty could be transformed into an advantage by development of the failed Extreme Programming (XP)
allowing different customers to take part in different which is intended for large scale software development [23].
iterations, if not releases, thus solving two problems at once: Implementation of Industrial Extreme
Programming (IXP) in Rational Unified Process (RUP) is
 From the point of view of standard XP, the done for every process of RUP. Additions or modification
requirement that the same customer has to be are done on the basis of the workflow of RUP practices
present all the times can be relaxed, thus possibly offered by IXP. IXP supported by RUP is a better scope for
achieving a better overall coverage of customer software development which can be used for large scale
time in the team. software development providing structured and applicable
 From the point of view of Usability Engineering, methods [12].
the usability of the real system can be tested all
times on several different real end users, one at a VIII. QUALITY CONTROL IN XP
time, but at any stage in greater depth with the The biggest challenge in XP is maintaining quality
possibility of redesigning the user interaction with control over various iterations. Reworking on the code in
the state of the system, for a cost that can be different iterations can lead to an unmaintainable mess. But
accurately specified. XP has different means to have control over quality. First,
XP demands simplicity from the programmers- they must
The combination of Extreme Programming (XP) and leave the code in the simplest possible state that passes all
Usability Engineering (UE) which leads to a new method: the acceptance test. Thus, when the code is reworked from
Extreme Usability (XU), is very promising, especially for iteration to iteration, it is also continually reduced to the
Software Engineering education [11]. simplest state programmer can find. Second, programmers
are not allowed to work on code alone, the programmers
C. XP Labs Design in Universities team up in pairs. Finally, before adding code to the system,
Planning Game, which is one of the 12 practices in XP the programmers must write a failing unit test that the new
help students to learn how to divide requirements into User code must make successful. This ensures that as the program
Stories and how to prioritize and estimate the costs of those grows, a copious suite of tests grows with it. These tests
stories [6]. A preparation class conveys the principles of keep the quality of the software high and give the
agile methods and XP practices to the students. Afterward, a programmers the courage they need to continually rework
multi-day block course is conducted, which is the main part the code into its simplest form—an operation known as
of the lab. The students have to develop an application for a refactoring. .
10

customer using the XP practices. The on-site customer is


played by a tutor. Another tutor performs the coach role IX. ADVANTAGES OF XP
[12].  The greatest advantage of XP is that it allows
software development companies to save their cost
and time required for project realization. XP
eliminates unproductive activities to reduce the To cope up with this problem, XP sets up an oral
cost and frustration of everyone involved. XP communication between the development and maintenance
allows developers to focus on coding. team immediately after the completion of the project as
 The Simplicity of code. With different iterations stated in [26]. It also requires skilled programmers to
over time, refactoring of code is done i.e, incorporate frequent changes in the project and to ensure
developers are restricted to write code in the that the simple design is maintained. XP is not well suited
simplest form and after every iteration, the code for mission-critical or safety-critical applications as large
becomes more simple. scale projects would not find it possible to arrange stand up
 XP reduces the risks related to programming and meetings on a regular basis and having an oral handoff
project failure. The customer gets what he or she seems to be difficult.
wants at the end. Although extreme programming is a good
 Constant feedback after every iteration from software development practice, yet there are some of the
customers helps programmers to proceed in the problems that can be faced by the developers. The timing
right direction. issues can be faced among the programmers who are
 XP helps in increasing employee satisfaction and involved in pair programming [8]. When standard data
retention. The breakdown of the project into structures are used, then there is no such requirement of
subcomponents and constant feedback helps having two people involved for the same portion of code.
employees in completing the project within Due to the practice of pair programming, the management
deadline without overtime. might have to face the cost issues and expenses of two
 This approach creates working software faster. instead of one for a particular work. Even with some of the
Regular testing at the development stage ensures drawbacks that can be present in XP, XP still outperforms
detection of all bugs, and the use of customer- the traditional models of software development. It provides
approved validation tests to determine the better efficiency and better system and software
successful completion of a coding block ensures understanding.
implementation of only what the customer wants
and nothing more. REFERENCES

X. XP AND DATA WAREHOUSE [1] J.Choudhari and Dr. U.Suman, Iterative Maintenance Life cycle using
Extreme Programming, in International Conference on Advances in
Some of the practices of XP can be used in the data Recent Technologies in Communication and Computing in 2010.
warehouse to enhance the efficiency of the data warehouse [2] T. Goto, K.Tsuchida and T.Nishino, EPISODE:An iterative
systems. programming method for innovative software based on system
designs in 3rd International Conference on Advanced Applied
The data warehouse focuses on the subject of the Informatics in 2014.
decision to be taken. By subject, we mean that the [3] B.Xu, Towards high quality software development with extreme
information should be completely present for a particular programming methodolgy:Practices from real software projects.
problem. The XP practice of planning game and continuous [4] A.English, Extreme Programming: It‟s worth a look.
interaction and feedback between the customer and [5] A.V Deurson, Program Comprehension risks and oppurtunities in
developer can be a helpful practice to implement in the data extreme programming.
warehouse. By interacting among the stakeholders and [6] Yang Xiohu, X.Bin,H.Zhijun, Extreme Programming in global
specifying the problem statement clearly, the data warehouse software development.
can be more helpful in providing clear information and [7] F.Maurer and S.Martel, Extreme Programming : A rapid development
hence, support in managing the decisions. for web-based applications.
[8] J.Kivi, D.Haydon, J.Hayes, R.Schmeider, G.Succi, Extreme
Programming: A university team design experience.
XI. CONCLUSION [9] S.Alsheri and L.Benedicenti, Prioritising CRC Cards as a simple tool
Extreme Programming is hence categorized by short in extreme programming in IEEE Canadian Conference of Electrical
and Computer Engineering (CCECE) in 2013.
iterative cycles, incremental planning, evolutionary design
[10] Robert C Martin, Extreme Programming development through
and its ability to response to the changing business needs. It Dialog, soapbox
strongly practices oral communication among stakeholders. [11] 1
Andreas Holzinger, 1Maximilian Errath, 1Gig Searle, Bettina
It encourages unit testing of each functional unit before the Thurnher2, Wolfgang Slany,1Institute for Medical Informatics,
integration has to be done. It encourages the programmers to Statistics & Documentation, Medical University Graz, 2 Institute of
Software Technology and Interactive Systems, Vienna University of
follow a coding standard and work in pairs while coding. Technology, 3 Institute for Software Technology, Graz University of
This is mainly done to achieve better results. XP is a Technology, From Extreme Programming and Usability
software development model which emphasizes on better Engineering to Extreme Usability in Software Engineering Education
building and understanding of the system. (XP+UEoXU)
Extreme programming does not follow the traditional [12] Putu Edy Suardiyana Putra, Arlisa Yuliawati, Petrus Mursanto,
Industrial Extreme Programming Practice‟s Implementation in
approach of maintaining voluminous documents for Rational Unified Process on Agile Development Theme, ICACSIS,
requirement specification rather it follows to maintain 2012
source code well documented. But in reality, the [13] [13] Yang Yong, Bosheng Zhou, Evaluating Extreme Programming
documentation plays a vital role as the complete product Effect through System Dynamics Modelling, Beihang University,
Beijing
knowledge resides in the software requirement specification
rather than merely on a development team‟s intelligence. [14] [14] Brian Spears, The Bold New Extreme Programming-Now in its
Ninth Year, Agile Conference, 2009
[15] [15] Angela Martin, James Noble, Robert Biddle, Programmers are [24] Xiaobo Wu, Chang Ge, “The Research on Necessity and Plan for
from Mars, Customers are from Venus: A practical guide for Using Extreme Programming in Rational Unified Process”
customers on XP projects. [25] Xu Bin, Yang Xiaohu, He Zhijun, Srinivasa R. Maddineni, “Extreme
[16] Sallyan Bryant, Double Trouble: Mixing qualitative and quantitative Programming in reducing the rework of requirement change”
methods in the study of eXtreme Programming [26] Colin J. Neill, ”The Extreme Programming Bandwagon: Revolution
[17] Kai Stapel, Daniel Lubke, Eric Knauss, Best Practices in eXtreme or Just Revolting? ” , in IEEE Computer Society, 2003
programming Course Design, Leibniz Universitat Hannover [27] Sara Shahzad, “Learning From Experience: The Analysis of an
[18] James Newkirk, Introduction to Agile Processes and Extreme Extreme Programming Process”, in Sixth International Conference on
Programming, Chicago, USA Information Technology: New Generations, 2009
[19] Pooja Sharma, Nitasha Hasteer, “Analysis of Linear Sequential and [28] Zahid Hussain, Martin Lechner, Harald Milchrahm, Sara Shahzad,
Extreme Programming Development Methodology for a Gaming Wolfgang Slany, Martin Umgeher, Thomas Vlk, “Optimizing
Application”, in international Conference on Communication and Extreme Programming”, in Proceedings of the International
Signal Processing, 2016. Conference on Computer and Communication Engineering, 2008
[20] Feng Ji, Todd Sedano, “Comparing Extreme Programming and [29] H. Kiwan, Y. L. Morgan, Luigi Benedicenti,”Two mathematical
Waterfall Project Results”, modeling approaches for extreme programming”,in 26th IEEE
[21] Bala Musa S., Norita Md Norwawi,Mohd Hasan Selamat, Khaironi Canadian Conference Of Electrical And Computer Engineering
Yetim Sharif, “Improved Extreme Programming Methodology with (CCECE),2013
Inbuilt Security”, in IEEE Symposium on Computers & Informatics, [30] Elmuntasir Abdullah, El-Tigani B. Abdelsatir,”Extreme Programming
2011 Applied in a Large-scale Distributed System”, in International
[22] Zhai Li-li., Hong Lian-feng, Sun Qin-ying,”Research on Requirement Conference on Computing, Electrical and Electronic Engineering
for High-quality Model of Extreme Programming”, in International (ICCEEE), 2013
Conference on Information Management, Innovation Management
and Industrial Engineering, 2011
[23] Ramlall Poonam, Chuttur M. Yasser,”An Experimental Study to
Investigate Personality Traits on Pair Programming Efficiency in
Extreme Programming”, in 5th International Conference on Industrial
Engineering and Applications, 2018

View publication stats

You might also like