Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Web sites for Extreme Programming (XP)

 
Timothy Chen Allen
Ranch Hand
Posts: 161
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Lasse Koskela
author
Sheriff
Posts: 11962
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you checked out XP Links at xprogramming.com?
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
 
Timothy Chen Allen
Ranch Hand
Posts: 161
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 11962
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
u might find this useful
http://www.extremeprogramming.org/
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Tim Holloway
Saloon Keeper
Pie
Posts: 18094
48
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 94
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am new to XP, how would you define XP in few words.
Thanks
Charles.
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 94
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Done
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic