YOUR FEEDBACK
More on the Software Assembly Question - Do Design Patterns Help?
Yanic wrote: Hi, > UML and MDA are being changed to be more data and doc...


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


i-Technology Opinion: Why Use Extreme Programming?
It's Not Just Another Development Methodology

Digg This!

Page 1 of 5   next page »

Extreme Programming (XP) has been an accepted form of software development for about eight years now. Many of the concepts found in this lightweight method of development have been implemented into the software shops without even the awareness that they were XP techniques. XP takes many of its fundamentals from other iterative development methodologies, including RAD and JAD. However, unlike those methodologies, which are more of a rapid prototyping approach, XP creates individual components that can be quickly developed and integrated into a larger software system. This article is written with the intent to help software developers understand the key concepts of this methodology and to provide a framework for implementing these processes into a business.

History
XP was created by Kent Beck and Ward Cunningham back in 1996, during a development project at Daimler Chrysler. Beck and Cunningham felt it was time for a better development process because the standard waterfall method left too many gaps and resulted in far too few successful implementations. The fundamental goals of XP were to increase communication, simplify the development process, and obtain feedback from the customer to ensure that requirements were met. XP was one of the first development processes that fell into the realm of iterative programming. This form of development changed the way developers think about the software life cycle because it provided a means to quickly demonstrate requirements with a functional application. Iterative programming both enables and requires modular design. This process can transform a large development effort into a smaller, task-oriented endeavor. This can be crucial when dealing with a project that must support changing customer requirements. The waterfall method typically requires too much time and results in a completed development project that is outdated by the time it is released. XP was created to give the customer a method by which to prioritize the requirements for software, thereby enabling the best bang-for-the-buck approach.


Page 1 of 5   next page »

About Troy Holmes
My name is Troy Holmes, I live in Northern Virginia. I have been working in the IT industry for 14 years currently working as a J2EE architect using Websphere 5.0. I have completed several large scale J2EE applications using both BEA and WebSphere. I am a certified Java Programmer, currently preparing for SCWCD and SCJA. I have been working in the java environment for 5 years. I am proficient in Java, C++, Power builder, VB, Unix Shell. I have more then 5 years experience in Oracle and 2 years experience in Informix. My professional background ranges from System Administrator to System Architect.

Dave Rooney wrote: First off, I agree completely with the comments that XP wasn't "one of the first iterative" processes. For a good history of iterative development, have a look at the article from Craig Larman and Vic Basili at: http://www2.umassd.edu/SW PI/xp/articles/r6047.pdf Secondly, my background is in business systems which likely has an influence on my views about agile development and XP. ] In 1-2-3 how XP is different from Rational Unified Process (RUP)? 1) XP focuses on one main artifact - the executable software that actually delivers business value to the Customer. 2) Testing at all levels is formalized into the process, and various frameworks are freely available. 3) For the price of one seat of Rational Enterprise Suite, you can buy a pretty big pile of index cards! ;) ] So, IMHO, what XP actually has int...
read & respond »
Infernoz wrote: Agreed classic XP sucks. As I think they say in XP (ironically), if something 'stinks' it probably needs refactoring e.g. pair programming, frequent unit testing *, frequent refactoring, customer representative on-site, no real design etc... * BTW how do you test the test cases and is this recursive? What about the test case development cost, including extra test case costs, from refactoring? Consultants and business analysts should damn well do their jobs and get workable specifications from customers, it's cheaper and more maintainable overall to develop a flexible, well formed design than to rush out brittle, naive XP code and try to understand/refactor the mess, at much greater cost later on. I like pre-release testing too, however I prefer to input real user data rather than contrived data since re...
read & respond »
Jack C. Holt wrote: I have chime in here: Not knowing much about XP up to a couple of days ago when I read this article, I was excited but wary about its principles. However, I have new found a wonderful and utterly readable book that has brought me back to my senses. It is called "Extreme Programming Refactored: the Case Against XP", by Matt Stephens and Doug Rosenberg from Apress (ht tp://www.softwarereality. com/ExtremeProgrammingRef actored.jsp). It does a wonderful job of analyzing XP's shortcomings and why they are shortcomings. I am an avid proponent of automated testing and am constantly searching for ways to improve customer/developer communication and lessen the onerous weight of written design documents, but almost anything to an extreme can cause problems. Even water will kill if drunk constantly!
read & respond »
Deke G. wrote: The Chrysler debacle is held up by XP proponents as a shining example of why XP works. However, the project was cancelled by Chrysler in February 2000 because it wasn't delivering - it was a payroll system that was only paying about 1/3 of the employees. XP itself says, "At the end of the day, if the program doesn't run and make money for the client, you haven't done anything." Chrysler decided they hadn't done anything. Ask an XP proponent about that failure, and you'll get a lot of spiritual-sounding mumbo-jumbo and trite phrases. One good one is from Beck himself: "XP is an emotional experience." Thanks, but I have a life outside work to provide my emotional experiences. I've read a lot on XP from people on both sides of the argument, and I've noticed that XP's proponents use much more spin a...
read & respond »
Gregory Smith wrote: Mostly good article - except ... "XP is one of the few methodologies that actually strives to deliver high quality code that meets the customer's expectations" I cannot think of one software methodology that makes a contrary claim. Don't all methodologies of note that strives to deliver high quality code and meet the customer's expectations? Otherwise, is it even a viable methodology? Can anyone name a serious methodology that looks to skip either quality or customer satisfaction?
read & respond »
pat wrote: One more thing: I am *not* directing the comments above to the author, but rather to the editors who chose to publish this fine, if outdated article.
read & respond »
pat wrote: Please, not another article rehashing the same, tired old XP sales pitch. As one commenter said, this would have been novel four years ago. What are we going to have next, another article about JUnit? While this was written well enough, it does not provide a balanced view of the pro *and* the cons of XP and where it is and is not applicable. Anyway, XP and JUnit seem to be two topics that people write about when they have nothing else important to say.
read & respond »
mARK wrote: Methodology is the study of methods. XP is a development *method*.
read & respond »
Steve wrote: I struggle with XP. When it first came out it rubbed me completely the wrong way. I read a number of articles and Becks small book entitled "Extreme Programming Explained". A few years later, and based on my more traditional view of structured analysis and development, I find one thing true: do what works for you. In my humble but deadly accurate opinion Use Cases (and "Use" is not short for "Usability" I would like to clarrify) and UML ar the most helpful and misunderstood tools of the trade today and I highly recommend that programmers just slow down enough to strap on those well honed tools. Having said that, the reason XP doesn't really work is two "reality based" fundamentals: 1. Companies sponsoring projects are looking to contain cost. This is a large downfall of XP since based on it's vagu...
read & respond »
Sridhar Pandurangiah wrote: Dave, There is no harm in developers writing user stories but its better the users write it themselves, because this helps them crystalise their thoughts and precisely state the problem that needs to be addressed. Regards, Sridhar Pandurangiah
read & respond »
Oleg Kirshon wrote: Sridhar, First, I'd like to thank you for addressing precisely what I was asking. I appreciate your digest, specific and from what I know - full answer. From my observations on how UML appeared and matured as a methodology (engineering culture) an effort that RUP had undertaken was to give a perspective on how to use UML in practice. RUP and UML both have mutual references and one supports the other. An Actor as a UML entity is present to facilitate the fact that Events in the system being initiated in a timeline. Further, statefull classes rely on Events as a vehicle that drives Class through it's lifecycle from State to State. Actor often present in Sequence diagrams. Most importantly, RUP introduced the concepts of iteration and incrementation as guiding principles of the project process. O...
read & respond »
Sanmao wrote: The topic is very limited, current trends for software engineering is towards the 'Agile', but not 'why XP'. XP is one of agile ways. If you talk this topic 4 years ago, might be the perfect timing. I'd rather read an article 'Why Agile?'.
read & respond »
Lieven Doclo wrote: XP discredited because of Chrysler? One of the examples of how XP could be used to save a project WAS Chrysler, or so I have read... http://www.xprogramming.c om/publications/dc9810cs. pdf
read & respond »
Deke G. wrote: I thought XP had been thoroughly discredited following the Chrysler debacle. Around my company, nobody mentions XP if they want to be taken seriously.
read & respond »
Eduard Lukschandl wrote: I have been practising a method I call RAPID (RApid Prototyping and Incremental Development) since the early eighties and as we used to write the user“s manual one step ahead of design and coding we always fulfilled the customer“s expectations. So, IMHO, what XP actually has introduced are 2 things: -1- pair programming -2- daily meetings Both are social aspects, and it was not possible to convince anyone of their benefits to the development process. I remember a study made by IBM in the late seventies about the importance of the social aspects when assigning a team for a development project. My conclusion was, and later experience confirmed, that it is not easy to get a bunch of notoriously individualistic programmers to work together much more than through interfaces. (One could compare pair-progr...
read & respond »
Dave Conner wrote: Good and insightful summary - thanks. I've read quite a few articles on XP and other modern methodolgies, and yours was among the best organized...I was about to cancel my subscription to JDJ, but I might read it again. I had a quick question - would you say that users always write user stories? We've had projects where developers wrote stories while interviewing customers... this technique seems to work pretty well.
read & respond »
Sridhar Pandurangiah wrote: Oleg, To answer your question I should first mention that RUP the Rational Unified Process is a product. It is shipped along with the Rational Suite and is a set of process,artifacts and guidelines based on UP. It is UP or Unified Process that is the Process. UP is different from XP in several ways. I'll mention a few of them 1. There are no daily stand up meetings 2. The concept of actors in UP is not found in XP 3. In XP code is written to pass a pre defined set of test cases. In UP you write the code and then test it. 4. There is no pair programming in UP, XP recommends pair programming Phases of XP ------------ Planning - User stories, release plan, small release, measure velocity, iterate, plan iteration, move people, stand up meeting, Fix XP Designing - System metaphor, CRC cards, Spike solut...
read & respond »
Oleg Kirshon wrote: So, In 1-2-3 how XP is different from Rational Unified Process (RUP)?
read & respond »
LATEST LINUX STORIES
Kevin Hoffman's Review of Iron Man
I took the advice of a friend of mine and steered clear of the 'normal' movie theaters and went a little out of the way to go to a DLP movie theater. The experience of comparing a regular movie theater to a DLP movie theater is like comparing standard def analog TV with a 1080i HDTV si
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
Verizon Becomes a Counter-Android Linux Convert
Verizon Wireless is snubbing Google's Linux-based Android initiative to go with the LiMo Foundation's mobile Linux spec for its next wave of mobile phones expected next year. Along with Verizon, Mozilla signed up - giving the consortium its first major open source ISV - and a key one f
Adaptec Launches New Series 2 RAID Controller For Linux Users
Adaptec unveiled a new family of entry-level Unified Serial RAID controllers. The new low-profile Series 2 RAID controllers, built on the same Adaptec dual core RAID-on-Chip (ROC) architecture used in its successful Series 5 RAID controllers, provide significant performance enhancement
JavaOne 2008: Sun Challenges Linux
Sun's mule train has finally pulled into Indiana after three years on the road. Indiana is the Linux-friendly Fedora-like OpenSolaris project meant to move the Solaris-shy Linux community off Linux and on to Solaris tempted by Solaris widgetry like the highly scalable, rollback-easy, 1
Curl Announces Support for Ubuntu for Enterprise RIA Platform
Curl announced it has released the availability of an Ubuntu Installer for the Curl Rich Internet Application (RIA) platform. Curl is a Rich Internet Application platform that competes with Adobe AIR/Flex, Silverlight, and Ajax. Curl has been shipping with Linux support for RedHat 9, S
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE