Extreme programming: Difference between revisions

Content deleted Content added
Fix typos
Tag: Reverted
Revert changes that added no information and were partly grammatically nonsense.
Line 3:
[[Image:Extreme Programming.svg|thumb|Planning and feedback loops in extreme programming]]
{{Software development process}}
'''Extreme programming''' ('''XP''') is a [[software development methodology]] intended to improve programming code, and [[software quality]], and the mobile responsiveness in synchronized to PC XP methodology ways for to changing customer requirements. As a type of [[agile software development]],<ref name="Informatics85">"Human Centred Technology Workshop 2006 ", 2006, PDF, [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.2140&rep=rep1&type=pdf Human Centred Technology Workshop 2006 ]</ref><ref name=UPenn49/><ref name=USFCA601/> it advocates frequent [[Software release life cycle|releases]] in short development cycles, intended to improve quick code development and productivity and introduce checkpoints at which new customer requirements can be adopted.
 
Other elements of extreme programming include: programming [[Pair programming|in pairs]] or doing extensive [[code review]], [[unit testing]] of all code, [[You aren't gonna need it|not programming features until they are actually needed]], a flat management structure, code simplicity and clarity, expecting changes in the customer's requirements as time passes and the problem is better understood, and frequent communication with the customer and among programmers.<ref name="UPenn49">[http://www.cis.upenn.edu/~matuszek/cit591-2003/Lectures/49-design-patterns.ppt UPenn-Lectures-design-patterns "Design Patterns and Refactoring", University of Pennsylvania, 2003] {{Webarchive|url=https://web.archive.org/web/20100802073814/http://www.cis.upenn.edu/%7Ematuszek/cit591-2003/Lectures/49-design-patterns.ppt |date=August 2, 2010 }}.</ref><ref name="USFCA601">[http://www.cs.usfca.edu/~parrt/course/601/lectures/xp.html USFCA-edu-601-lecture Extreme Programming].
Line 52:
 
=== Activities ===
XP describes four basic activities that are performed within the software development process: coding, testing, listening, and designing, and release of software program. Each of those activities is described below.
 
==== Coding ====
The practitioners and also the advocates of XP make the point that the main in XP is code itself, they argue that the only truly important product of the system development process is code – software instructions that a computer can interpret. Without code, there is no working product.
 
Coding can be used to figure out the most suitable solution. Coding can also help to communicate thoughts about programming problems. A programmer dealing with a complex programming problem, or finding it hard to explain the solution to fellow programmers, might code it in a simplified manner and use the code to demonstrate what they mean. Code, say the proponents of this position, is always clear and concise and cannot be interpreted in more than one way. Other programmers can give feedback on this code by also coding their thoughts.