EXTREME PROGRAMMING (XP) EXPLAINED
Jefferies (2001) suggests that:
‘Extreme Programming is a discipline of software development based on values of simplicity, communication, feedback and courage. It works by bringing the whole team together in the presence of simple practices with enough feedback to enable the team to see where they are and to tune the practices to their unique station.
In simple terms, XP is step by step criterion that is used to analyze and upgrade the functional worth of a software program and its propensity to adjust to the ever-changing needs of the person or organization it was developed for also realizing that the primary mandate of the software will change depending on the new specifications imposed by the client. Extreme programming(XP) renders to supply a much more intricate, iterative and consistently persistent issuing out of completed tasks throughout the cycle of developing project henceforth granting the customer and affiliates of the developing team to revise and follow through on what has been accomplished and to give a rough idea of what is left to be done. It is, in terms of classification, a light weight methodology that relies on small groups of developers who code a client’s specifications and test the code to see if at all what they have done follows suit to what they wanted it to accomplish. XP has been factored to function on projects that can be taken up by a team of more than two programmers, usually more than 2 but not exceeding 10.
HOW ACTIVITIES ARE CARRIED OUT IN XP
XP makes use of extreme values that serve as a base on which the whole of the XP horizon lies upon. It boost up the confidence of those involved with the project with respect to the direction in which the project is headed and gives them a clear indication that their involvement, contribution and opinions are equally critical and much needed as anyone’s. Caution is taken towards building a successful and perfectly functional software system project at the same time paying attention to system failures as they occur. With this process, everyone involved has a role to play in extracting the best results which are attained through continuous relaying of information, respect, being supportive and giving feedback well in time between members of a team.
Extreme programming rules assist XP in aligning propositions which suggest that it is unable to cater for other disciplines that are considered to be very important. These disciplines include:
I. Project planning which involves recording user specifications and splitting it into separate processes of the same project where a single planning of a process starts each separate one.
II. Project Management which encompasses fixing XP when it has malfunctioned
III. Project design which implements solutions that employ the use of Class Register Collaborators to cut down the project’s risk without invoking functionality on it at an early stage.
IV. Coding and testing; the unit test must first be coded as per the chosen standards. All code must also undergo and pass unit tests whenever a bug is identified in it so that it can be liberated.
According to Turkey, France and Rumpe (in press) as cited by Erikson et al (2005), Extreme Programming’s values, practices and activities are interrelated, with a relationship structure as follows: Underlying the principles and practices are the basic assumptions that support the XP process. They go on to conduct a more thorough examination of the XP process and connect it to the core beliefs. Expressed in the Agile manifesto.