Over the past two weeks I've written nearly 600 unit tests using JUnit and plan on doing about 100 or so acceptance tests with HttpUnit which has gotten me to thinking (scary thought).

If you have used or studied Extreme Programming (XP) methodologies, do you like them? Do the methodologies work for you?

Note: The topic of this thread is whether or not you like, dislike or are indifferent to some aspect of XP, which parts you like, what can be improved, what are XP methods, etc. Company and team related discussion goes in the other thread.

Over the past two weeks I've written nearly 600 unit tests using JUnit and plan on doing about 100 or so acceptance tests with HttpUnit which has gotten me to thinking (scary thought).

If you have used or studied Extreme Programming (XP) methodologies, do you like them? Do the methodologies work for you?

Note: The topic of this thread is whether or not you like, dislike or are indifferent to some aspect of XP, which parts you like, what can be improved, what are XP methods, etc. Company and team related discussion goes in the other thread.

Tell me Gadget, Do you know enough about concurrent design to tell me if XP is similar?

Over the past two weeks I've written nearly 600 unit tests using JUnit and plan on doing about 100 or so acceptance tests with HttpUnit which has gotten me to thinking (scary thought).

If you have used or studied Extreme Programming (XP) methodologies, do you like them? Do the methodologies work for you?

Note: The topic of this thread is whether or not you like, dislike or are indifferent to some aspect of XP, which parts you like, what can be improved, what are XP methods, etc. Company and team related discussion goes in the other thread.

Tell me Gadget, Do you know enough about concurrent design to tell me if XP is similar?

Manta

Not really, but I think it is worth discussing anyways....

According to what I have read here.... http://tinyurl.com/dp9lgThey appear to be very different - even polar opposites in many respects.

Here are some of the differences....

Scope: XP is focused on software development whereas CE is multi-disciplinary.

Size: XP is intended for small to medium sized projects; CE appears to be geared toward much larger projects (areospace, dod stuff which probably explains some of the giant flowcharts in the conference rooms).

Progression (for lack of a better word): XP iterations are very different. The customer, which is suppose to have a rep onsite, decides what feature is needed next or provides the most value and the team implements that feature, refactoring if necessary to keep the design 'from smelling'. CE has mulitple concurrent teams that integrate at defined points. This isn't to say that concurrent development doesn't take place in XP. A team can break up the next iteration into modules and work them concurrently. What they don't do is "Paralleling describes a â€œtime overlapâ€

Pretty much. ALthough, some CE/CD systems run continious test simulations during design so that the final project is known viable before a final build starts.

I WOuld Say CE cuts 1000% off the design and planning time while producing a higher quality product. And it cuts down on problems during building bacause many have already been addressed. Also, in the CE/CD I am familier with, anyone (and I mean anyone) involved can make changes at anytime and get a near real time assesment of the eventual outcome to a project on all aspects.

For example, lets say I want to land a rocket vertically because its too big to land it on cheap airbags (Ala MER mission). So I make the change - five minutes later I notice the budget has actually increased. I look and find the reason why. One might think its fuel - or engineering and testing costs - but actually its programming costs.

I call programming - and I say "Hey - whats with programming costs on my mod?" They say - well, - we can land it cheap if you wanna go dumb - but precision landing cost$$$." "Land it dumb', I say. I save 3million in programming and 10 mil on not having to design a bigger airbag system.

Its a five minute job. One that used to take days or weeks. Its modular, but all personel are in constant contact - and are always allowed to listen in.

Applied to programming I envision the same type of thing - modularity. Only you get to see how someone elses changes might effect your own - and in fact, you can test concurrently.

I imagine XP produces that same huge spread sheets the CE/CD does. But really, if you are involved they are very understand able.

Further, (maybe like XP) there is a "feel" to the beast. It pulses - things seem laud and unproductive. Then for about 5 minutes the chatter stops and, if you have a master screen to look at, little pices of the flowchart start to change at once. A timeline appears, a table appears with possible conflicts or missing data flashing. They slowly stop flashing. The room starts chattering again and it starts over.

I imagine XP produces that same huge spread sheets the CE/CD does. But really, if you are involved they are very understand able.

Actually, the XP guys try to keep charting, models, documentation and all other non-coding and non-testing down to a minimum. An example of this is the use of hand drawn Big Visible Charts (BVC) instead of fancier solutions.

MantaBase wrote:

Further, (maybe like XP) there is a "feel" to the beast. It pulses - things seem laud and unproductive. Then for about 5 minutes the chatter stops and, if you have a master screen to look at, little pices of the flowchart start to change at once. A timeline appears, a table appears with possible conflicts or missing data flashing. They slowly stop flashing. The room starts chattering again and it starts over.

I had though XP was similar.

Manta

In some respects, I think that they are similiar. If someone in an XP environment introduces code that causes errors, you're going to know about it and be able to fix it quickly. CD has many more layers, but the goal that problems should surface quickly is the same.

However, we're also talking about projects at probably the two extreme ends in terms of scale. XP is suited, designed in fact, for small software projects like a management/computing solution for a small hotel chain. It would be an utter failure for a large inter-displicanary project like a Mars lander. Occasionally opponents of XP point out how it would fail in these cases somewhat ignoring that it was never intended for this type of project in the first place.

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum