File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Agile and Other Processes and the fly likes Web sites for Extreme Programming (XP) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Web sites for Extreme Programming (XP)" Watch "Web sites for Extreme Programming (XP)" New topic
Author

Web sites for Extreme Programming (XP)

Timothy Chen Allen
Ranch Hand

Joined: Mar 16, 2003
Posts: 161
I am interested in learning about XP. I mainly am interested in learning if it is something I could use in my current work. I'm a web developer in using Perl, XML and (yuck) ASP, and am trying to branch out to Java.
Before investing in a book about XP, I'd like to see some web pages which are accurate about XP, and perhaps XP applied to Java. Does anyone know of any?
Thanks in advance.


Timothy Chen Allen
Learn Spanish in Washington, DC
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Have you checked out XP Links at xprogramming.com?


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Tim Allen:
I am interested in learning about XP. I mainly am interested in learning if it is something I could use in my current work. I'm a web developer in using Perl, XML and (yuck) ASP, and am trying to branch out to Java.

None of those technical things you mentioned are indicators against XP, IMO. In fact, social circumstances are much more important in this respect.
Can you tell us more about this? Are you working in a colocated team? How is communication with the customer working? How big are the projects (team size)?
And what are you searching for in XP - why are you interested in it?


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Timothy Chen Allen
Ranch Hand

Joined: Mar 16, 2003
Posts: 161
Originally posted by Ilja Preuss:

None of those technical things you mentioned are indicators against XP, IMO. In fact, social circumstances are much more important in this respect.
Can you tell us more about this? Are you working in a colocated team? How is communication with the customer working? How big are the projects (team size)?
And what are you searching for in XP - why are you interested in it?

Our company is in transition. Recently we ended our contract with our primary software provider (a big ERP company). We have a small team of programmers (I'm one of them) which has provided pretty consistent revenue to the company doing web development and database design/front ends.
Since 90% of our revenue is about to dry up, management has suddenly gotten interested in the second, but more consistent source of revenue-- us programmers.
Until now, we have only had a few team projects (two since I joined the company). Since we are really just getting started, I am independently investigating methodologies to pitch to management. If we can learn to use XP, for example, it might give us an edge as a team.
So I am trying to learn enough about XP myself to see if it is something we can use. If someone in the company doesn't investigate it, we almost certainly will end up doing every project the way we have until now-- throwing everyone available at the project without any plan.
As for your questions: We have a team of five programmers-- not all will be on the same project at once, and if there are more projects, management will probably hire more. Until now, our programmers have gone to the client site to gather information from the IT team (not directly from the client: see below) and then have come back to the office to program. You'll have to explain to me what a colocated team is.
One thing to keep in mind: I'm in Spain. Spanish business does not have the concept of a programmer/analyst (if there's a company in Barcelona that does, I want to know about it). Programmers generally are not supposed to speak to the client: management see this as the functional analyst's job. So most client-team communications have to pass through a (useless) layer of analysts.
The usual pattern here is for an analyst to go on site, do the analysis, provide a report on the analysis to the programming team, and that is the end of communication with the client until the product is in it's beta version.
I know that's insane. That's why I'm trying to learn about methodologies like XP to see if there is a better way.
Thanks in advance-
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by Tim Allen:

One thing to keep in mind: I'm in Spain. Spanish business does not have the concept of a programmer/analyst (if there's a company in Barcelona that does, I want to know about it). Programmers generally are not supposed to speak to the client: management see this as the functional analyst's job. So most client-team communications have to pass through a (useless) layer of analysts.
The usual pattern here is for an analyst to go on site, do the analysis, provide a report on the analysis to the programming team, and that is the end of communication with the client until the product is in it's beta version.

XP advocates close communication with the client ("on-site customer"), which on the other hand would improve your chances to get the right product out, but on the other hand it may prove difficult from a cultural perspective -- if the customer really doesn't want to participate or if the management just won't let the customer see the programmers.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Lasse Koskela:
XP advocates close communication with the client ("on-site customer"), which on the other hand would improve your chances to get the right product out, but on the other hand it may prove difficult from a cultural perspective -- if the customer really doesn't want to participate or if the management just won't let the customer see the programmers.

Yes. In those cases you will need to install a "surrogate" Customer. Not having someone with the ability and authorization to make business decisions at the developers disposal will vastly increase risk - wether you are doing XP or not...
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112

So I am trying to learn enough about XP myself to see if it is something we can use. If someone in the company doesn't investigate it, we almost certainly will end up doing every project the way we have until now-- throwing everyone available at the project without any plan.

Then you might try to sell XP through its planning aspect.

As for your questions: We have a team of five programmers-- not all will be on the same project at once, and if there are more projects, management will probably hire more.

Sounds like a good size to start with XP.
You'll have to explain to me what a colocated team is.

XP advices to let the whole team work in one room. Ideally that would also include some business persons, the "Customer".

One thing to keep in mind: I'm in Spain. Spanish business does not have the concept of a programmer/analyst (if there's a company in Barcelona that does, I want to know about it).

I would advice you to get in contact with other Spaniards, for example via http://www.agile-spain.com/ or http://groups.yahoo.com/group/extremeprogramming/
Programmers generally are not supposed to speak to the client: management see this as the functional analyst's job. So most client-team communications have to pass through a (useless) layer of analysts.

If you can't change that, those analysts are your XP Customers. But even than, you should expect resistance from them, as their job would very likely change much if you wanted to do XP.

The usual pattern here is for an analyst to go on site, do the analysis, provide a report on the analysis to the programming team, and that is the end of communication with the client until the product is in it's beta version.

Well, with XP the product would be in beta after two weeks of development...

I know that's insane. That's why I'm trying to learn about methodologies like XP to see if there is a better way.

From all you tell I would think that you could benefit from XP, but that it could be hard to get all the necessary people on board.
Good luck - and don't hesitate to ask further questions!
samrat.barve samrat.barve
Greenhorn

Joined: Apr 16, 2003
Posts: 2
u might find this useful
http://www.extremeprogramming.org/
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
I always send people to Alistair Cockburn. He's not strictly XP, but has done extensive interviews with projects that worked or didn't work, and gives a very balanced overview of various agile methods. He has some books on Crystal, his own synthesis of all this stuff. And the best "use case" book ever.


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16054
    
  21

Originally posted by Tim Allen:

Since 90% of our revenue is about to dry up, management has suddenly gotten interested in the second, but more consistent source of revenue-- us programmers.

Uh-oh.
I'm not very familiar with the Spanish economy, but so far as I know, Spain pays roughly Western Euopean wages. Which means I'd expect Spanish programmers to command salaries at least double what their counterparts in Eastern Europe can.
XP is no "silver bullet". For all the years of searching, no "silver bullet" has ever been found that allows high-quality software to be generated rapidly by unskilled personnel.
However, the current silver bullet candidate is job exportation - taking the work and sending it to places where the cost of labor is so much lower that the delays, cultural, and communications problems involved are erased by the sheer dollar (or Peso, if you prefer) savings.
A setup where the programmers are isolated from the customers is a prime candidate for offshoring (the term I use to refer to outsourcing outside one's own country, since it's usually more accurate in the U.S.).
I was reading an article on XP just yesterday by one of its leading proponents. If I recall correctly, XP does not claim to produce code more rapidly or more cheaply, but realizes its greatest benefit from the higher quality.
Unfortunately, quality isn't an overriding consideration in much of today's world. Too many businesses opt for cheap instead.


Customer surveys are for companies who didn't pay proper attention to begin with.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Tim Holloway:
However, the current silver bullet candidate is job exportation - taking the work and sending it to places where the cost of labor is so much lower that the delays, cultural, and communications problems involved are erased by the sheer dollar (or Peso, if you prefer) savings.
A setup where the programmers are isolated from the customers is a prime candidate for offshoring (the term I use to refer to outsourcing outside one's own country, since it's usually more accurate in the U.S.).

I think there is a big difference between a short geographical distance and a rather huge geographical, cultural and language "distance".
I would also think that *decreasing* the distance would actually be more effective in reducing costs than increasing it, but I might be wrong.
I was reading an article on XP just yesterday by one of its leading proponents. If I recall correctly,

Well, if you'd provide a link, we could check wether you recall correctly...
XP does not claim to produce code more rapidly or more cheaply, but realizes its greatest benefit from the higher quality.

Not only higher quality, but also from paying more attention to what the customer really needs and when, and by close collaboration and rapid feedback.
Unfortunately, quality isn't an overriding consideration in much of today's world. Too many businesses opt for cheap instead.

Interestingly, though it was not the main goal of XP, most XP teams discover that return of investment is drastically increased by the application of XP - not despite its emphasis on quality, but *because of* it! http://c2.com/cgi/wiki?QualityIsFree
[ May 07, 2003: Message edited by: Ilja Preuss ]
Charles Dupin
Ranch Hand

Joined: Oct 18, 2002
Posts: 94
I am new to XP, how would you define XP in few words.
Thanks
Charles.


Charles.<br />(SCJD2)
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Charles Dupin:
I am new to XP, how would you define XP in few words.
Thanks
Charles.

Charles, please start a new thread for this topic. Thanks.
Charles Dupin
Ranch Hand

Joined: Oct 18, 2002
Posts: 94
Done
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Web sites for Extreme Programming (XP)