Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / May 2006

Tip: Looking for answers? Try searching our database.

What is Java extreme programming?

Thread view: 
Leo - 10 May 2006 12:25 GMT
Dear All,

In two Java job interviews, interviewers asked me if I know extreme
programming. I don't.

What is Java extreme programming? Is it marketable skill?

Thank you.
TechBookReport - 10 May 2006 16:36 GMT
> Dear All,
>
[quoted text clipped - 4 lines]
>
> Thank you.

It's using the extreme programming methodology to Java development.
Aside from pair programming, it uses the same core set of development
techniques as most of the other agile methodologies:

unit testing - jUnit in the case of Java
automated builds - Ant
prototyping
light in terms of design artefacts (i.e. none of the heavyweight RUP
modelling)

If you need pointers to books then take a look at the Software
Methodologies page at TechBookReport
(http://www.techbookreport.com/SoftwareIndex.html).

HTH

Signature

TechBookReport Java http://www.techbookreport.com/JavaIndex.html

Andrew McDonagh - 10 May 2006 19:19 GMT
>> Dear All,
>>
[quoted text clipped - 20 lines]
>
> HTH

Minor correction. xp doesn't use prototyping, it uses evolutionary
design so that every iteration ends with an application that has fully
working and tested features (known as Running Tested Features - RTF).

Now in the early iterations of large projects, this will mean the
application is not deployable, but those features that are there do work.

In an XP project, we aim to reach a Minimum Marketable Feature set as
early as possible. When we have enough RTFs for the users to be able to
start making use of the application.

For more details see:

http://www.xp123.com/xplor/xp0202/xp-one-page.PDF
http://www.extremeprogramming.org/map/project.html
http://www.xprogramming.com/index.htm

Andrew
Roedy Green - 10 May 2006 20:34 GMT
>Minor correction. xp doesn't use prototyping, it uses evolutionary
>design so that every iteration ends with an application that has fully
>working and tested features (known as Running Tested Features - RTF).

I think the idea is this:

1. customers really don't know what they want, but they are very good
at detecting what they DON'T want. So it is best to give them
something to knock up against as early as possible.

2. The more experience users have with an app, the smarter they are at
designing what they really want.

Similarly there is a principle in attacking difficult problems where
you have no idea how to solve the whole thing. You simply solve some
piece of it, or create a tool you think might be useful for the
solution. When you are done you are smarter and less mentally
cluttered with detail. You have a new black-box tool to think about
the problem with. You are smarter, and better able to tackle the
remaining problem. You have carved a piece of it off and put it in a
black box where you don't have to think about it.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Andrew McDonagh - 10 May 2006 21:24 GMT
>> Minor correction. xp doesn't use prototyping, it uses evolutionary
>> design so that every iteration ends with an application that has fully
[quoted text clipped - 17 lines]
> remaining problem. You have carved a piece of it off and put it in a
> black box where you don't have to think about it.

Yes this description is very near to what we do.  I'd qualify it some
with talk about:

1) Adapting to Change instead of having a Change Control process.
    As XP employs evolutionary design techniques the cost of change is low.

2) Adapting the Plan rather than following the plan.
    Hopefully, we all know the only constant is change. So instead of
trying to limit it and plan long periods of time of work, we provide a
broad over all Release Plan where we state very clearly to all concerned
that its a best guess. We only plan in detail the iteration we are about
to start.  As iterations are usually 1, 2 or 4 weeks long, its  more
likely that our estimates will be accurate as we know the current design
and state of the code base, plus the details of the feature is fresh in
ours and the customer's mind.
TechBookReport - 11 May 2006 11:29 GMT
>>> Minor correction. xp doesn't use prototyping, it uses evolutionary
>>> design so that every iteration ends with an application that has
[quoted text clipped - 34 lines]
> and state of the code base, plus the details of the feature is fresh in
> ours and the customer's mind.

I suppose I should have also mentioned the very high degree of customer
involvement in XP/Agile, far more than in a more traditional development
process.

Signature

TechBookReport Java http://www.techbookreport.com/JavaIndex.html

John Gagon - 17 May 2006 07:32 GMT
> >Minor correction. xp doesn't use prototyping, it uses evolutionary
> >design so that every iteration ends with an application that has fully
[quoted text clipped - 17 lines]
> remaining problem. You have carved a piece of it off and put it in a
> black box where you don't have to think about it.

My biggest problem with extreme programming is getting the company to
involve the customer/client in the development process. Sometimes, in
the first place, the customer is separated from development by tiers of
customer service donut heads, tech support donut heads, server closet
junkies, and finally "development". Sometimes, even in a small company,
there are protocols to follow when dealing with the customer and
obliging them to commit a resource (sometimes an unknowledgable one who
is no better and probably has to call in to the mother ship to get any
information anyway) this can seem very unprofessional.

Real Business Analysts are much better at going to the customer and
analyzing their needs and they should have some degree of software
development knowledge. Sometimes, having the developer go and be a
business analyst has worked a bit....especially if they can stay for
longer than a 2-3 day trip. Having them responsible for the "user
stories" and having artifacts delivered on a daily basis is crucial
IMHO. So anyhow, it can often be very tricky trying to interface with
customers. Sometimes there is no customer and just a bunch of market
research and an in house visionary feeding the business
concept/requirements etc etc.

Sometimes, it is "too visionary" and it has to be negotiated to make
business sense as well as make sense to the original core vision as
something useful in the business sense.

John Gagon
Chris Smith - 17 May 2006 15:52 GMT
> My biggest problem with extreme programming is getting the company to
> involve the customer/client in the development process. Sometimes, in
> the first place, the customer is separated from development by tiers of
> customer service donut heads, tech support donut heads, server closet
> junkies, and finally "development".

Sure.  That element of XP is clearly written with in-house software
development in mind.  It makes sense to involve someone from the
department within your company that will be using the software, but it
makes less sense to ask a customer for the same committment.  It
certainly can seem odd.  That's not an unconsidered problem, though.  
There are a few ways to deal with it.

1. Hire someone with significant experience in the field, and assign
them the job title of customer liaison.  When they are not working with
the development team, they can be assigned to provide consulting and
support services to people who ARE your customers, thus building their
knowledge of the customer sphere.  In essence, you create a "customer"
who isn't subject to the problems of real customers.

2. Recruit real customers into the process by giving them free licenses
to your software.  This works best if you're doing the kind of software
where you expect to have a lot of customers and not charge large amounts
for each one.  Make it clear that you want them to work with your
development team to improve the software.

#1 appeals to me.  However, I unfortunately can't share any experience,
as the environment I work in is too small to justify that kind of
expenditure.  Heck, at the moment we're even too small -- by a margin of
one programmer -- to do pair programming. :)

Signature

www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Roedy Green - 17 May 2006 18:59 GMT
>. Sometimes, even in a small company,
>there are protocols to follow when dealing with the customer and
>obliging them to commit a resource (sometimes an unknowledgable one who
>is no better and probably has to call in to the mother ship to get any
>information anyway) this can seem very unprofessional.

I worked on a team developing a on-line banking system for a credit
union.

We would interview the manager who it turned out had a totally
different model in his head of how things worked from how they really
did.

One big problem was getting them to tell us about exceptions to the
rule.  They never seemed to get it that even if something happened
only once a month we had to know about it. They could not just "handle
it manually" by the seat of their pants when the problem arose.  We
had to be sure there was some way to handle it, even if not a fully
convenient way..

After weeks of this, I went to the manager and said, "This is not
working.  I would like to be trained as a teller."

After a couple of days as a teller I finally discovered how things
really worked and I incidentally came up with a list of things that
should be automated.  I asked "Why did you not mention these
time-consuming tasks before?"  "Because it never occurred to us you
could sort things in more than one order."

They were trying to automate things easy for humans but difficult for
computers, while ignoring the things impossible for humans but a snap
for computers. You need a programmer type familiar with the problem
domain to even nail down the purpose of some computer system.

In my early career, this feature of computing was its huge appeal.  I
could go into some new field, grill the experts about anything I
pleased (nobody every questioned my need to know whatever I asked.
Computer folk were a high priesthood.) and slake my curiosity, then
encapsulate what I had learned in program that would use that
knowledge long after I had forgotten it.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Thomas Weidenfeller - 10 May 2006 16:37 GMT
> In two Java job interviews, interviewers asked me if I know extreme
> programming. I don't.

You apparently also don't know Google.

Signature

The comp.lang.java.gui FAQ:
ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq
http://www.uni-giessen.de/faq/archiv/computer-lang.java.gui.faq/

jmcgill - 10 May 2006 18:21 GMT
> Dear All,
>
> In two Java job interviews, interviewers asked me if I know extreme
> programming. I don't.
>
> What is Java extreme programming? Is it marketable skill?

"Extreme Programming" is a project management style.  It combines a
strategy of test-driven development with short iterations.  The term
means different things to different people.  Some people say "XP" and
they have a very formal notion of what that means.  Others say "XP" and
they mostly mean, pair-programming, short dev cycles, and unit tests.

To me, the most important part of the process is the test-driven
approach.  Ideally, you never write a line of code that does not already
have a unit test that fails.  In XP, everything you write, directly fits
some requirement, and is written to make some test that already exists,
pass.

There are quite a few other elements that "XP" refers to.  The customer
is on-site, and participating in the continuous testing and integration.
 If you don't actually have your customer in your office, you have
someone on your team that plays customer.

Another element that's univerally present in XP projects is collective
code ownership.  Everything is coded to a single set of standards, and
anyone on the project is expected to take ownership of anything, at any
time.

XP works best when all contributors are peers in terms of their skills,
abilities, insights, and passion for their work.  In some shops, that is
a realistic approach, but it's certainly not true everywhere.
bugbear - 11 May 2006 11:47 GMT
> XP works best when all contributors are peers in terms of their skills,
> abilities, insights, and passion for their work.  In some shops, that is
> a realistic approach, but it's certainly not true everywhere.

It's certainly not generally achievable. If you're trying to
do (e.g.) 3D visualisation on data extracted via data mining,
you've got a lot better chance of finding a data-mining guru
and an (e.g.) openGL guru than you have of finding
2 (count them, two) people with both skills ("peers")

  BugBear
Andrew McDonagh - 11 May 2006 19:14 GMT
>> XP works best when all contributors are peers in terms of their
>> skills, abilities, insights, and passion for their work.  In some
[quoted text clipped - 8 lines]
>
>   BugBear

I've seen any problems with different levels of expertise on an XP team.

If anything, having differing levels helps!

It stops the 'super-duper' developers from over engineering and it helps
train newer developers.

We normally end up with a design that is right for the application -
KISS, rather than some framework laden monster.
Chris Uppal - 11 May 2006 20:00 GMT
> We normally end up with a design that is right for the application -
> KISS, rather than some framework laden monster.

Offhand I don't see any /intrinsic/ mechansm to stop XP-ish processes producing
under-engineered pond-scum.

Not to suggest that you -- or anyone -- are producing pond-scum, but I doubt
whether the /presence/ of good design can properly be attributed to a
methodology which -- at least formally -- gives little weight to it.

   -- chris
jmcgill - 11 May 2006 20:17 GMT
> Offhand I don't see any /intrinsic/ mechansm to stop XP-ish processes producing
> under-engineered pond-scum.

I thought the whole point of XP was to arrive quickly at "good enough is
done" and leaving "good enough" in a state that can be maintained and
development can continue.
Andrew McDonagh - 11 May 2006 20:43 GMT
>> Offhand I don't see any /intrinsic/ mechansm to stop XP-ish processes
>> producing
[quoted text clipped - 3 lines]
> done" and leaving "good enough" in a state that can be maintained and
> development can continue.

True - but Good Enough does not mean poorly designed - as is often the
case when over eager developers start applying XP (or any other
methodology ).

Good Enough means it satisfies not only all of the Stories required of
the current version of the system. It also means the design is easy to
change.

The Design MUST support easy change, because the whole underlying ethos
of XP's design, is one of Evolutionary Design. Not Iterative Design as
some think.

If the design is not good enough, then we wont be able to quickly create
the next Story - this is the true test of the design.

For instance, I'm currently working on a Web app for our company. We are
95% finished and yet we still haven't put in User Roles (aka User
Permissions). We may not even do it - as currently the Customers have
been happy to forgo it. However, the set of  Stories along the lines of
: 'As a BlarPerson I Can't Edit the Thingy-me-bob, Because I'm not
allowed' are still on the Release Plan.  It just keeps getting pushed
further into the future because at present more important Stories offer
better business value to the Customers.

Now, should they decide in the last week that 'actually you know guys,
we really need those User Roles stories'. This wont be a problem for us.
The way the design has evolved since the beginning of the project, means
that whilst we never put ANY type of framework in place to support User
Roles, the design can easily accommodate it.
Dave Glasser - 12 May 2006 02:44 GMT
Andrew McDonagh <news@andmc.com> wrote on Thu, 11 May 2006 20:43:29
+0100 in comp.lang.java.programmer:

>For instance, I'm currently working on a Web app for our company. We are
>95% finished and yet we still haven't put in User Roles (aka User
[quoted text clipped - 10 lines]
>that whilst we never put ANY type of framework in place to support User
>Roles, the design can easily accommodate it.

This sounds like a typical enterprise project in maintenance mode.
Andrew McDonagh - 12 May 2006 19:47 GMT
> Andrew McDonagh <news@andmc.com> wrote on Thu, 11 May 2006 20:43:29
> +0100 in comp.lang.java.programmer:
[quoted text clipped - 15 lines]
>
> This sounds like a typical enterprise project in maintenance mode.

and yet its a completely new (Green Field) project, started only 5 weeks
ago.
Dave Glasser - 12 May 2006 20:33 GMT
Andrew McDonagh <news@andmc.com> wrote on Fri, 12 May 2006 19:47:34
+0100 in comp.lang.java.programmer:

>> Andrew McDonagh <news@andmc.com> wrote on Thu, 11 May 2006 20:43:29
>> +0100 in comp.lang.java.programmer:
[quoted text clipped - 18 lines]
>and yet its a completely new (Green Field) project, started only 5 weeks
>ago.

So it's a small (95% complete in 5 weeks) project that's winding down
into maintenance mode. I don't see what's so special about what you're
describing. Things like extensible architectures and  prioritizing
requirements are just good, common-sense practices, and are in no way
unique to XP.

Signature

Check out QueryForm, a free, open source, Java/Swing-based
front end for relational databases.

http://qform.sourceforge.net

If you're a musician, check out RPitch Relative Pitch
Ear Training Software.

http://rpitch.sourceforge.net

Andrew McDonagh - 13 May 2006 09:51 GMT
> Andrew McDonagh <news@andmc.com> wrote on Fri, 12 May 2006 19:47:34
> +0100 in comp.lang.java.programmer:
[quoted text clipped - 26 lines]
> requirements are just good, common-sense practices, and are in no way
> unique to XP.

You seemed to have missed the point, we aren't winding down at all.  We
are developing today, exactly like we have every day of the project.

Its true that things like extensible architectures can be good common
sense practices. However, the fundamental difference with an XP project,
is that we never spend any time designing, testing or implementing these
architectures.  You will not find on the Release plan, things like
Create GUI Framework, Create MetaData Driven Dialog framework,  Create
DAO layer, Create Threading Model, etc.

Instead, these architectures evolve out of the code themselves, as we
continue to add more features to the code base. One of the fundamental
practices of TestDrivenDevelopment is to 'remove duplication'.  Couple
this with XPs 'DoTheSimplistThingThatCouldPossiblyWork' and
'YouAintGonnaNeedIt', we end up with very simple designs that naturally
evolve into extensible architectures.
Dave Glasser - 13 May 2006 14:34 GMT
Andrew McDonagh <news@andmc.com> wrote on Sat, 13 May 2006 09:51:38
+0100 in comp.lang.java.programmer:

>> Andrew McDonagh <news@andmc.com> wrote on Fri, 12 May 2006 19:47:34
>> +0100 in comp.lang.java.programmer:
[quoted text clipped - 29 lines]
>You seemed to have missed the point, we aren't winding down at all.  We
>are developing today, exactly like we have every day of the project.

You seemed to have missed what I meant by "winding down into
maintenance mode" it doesn't mean that development stops. I know two
people who work full-time developing new features for a project that's
been in maintenance mode since July '02.

>Its true that things like extensible architectures can be good common
>sense practices. However, the fundamental difference with an XP project,
>is that we never spend any time designing, testing or implementing these
>architectures.  You will not find on the Release plan, things like
>Create GUI Framework, Create MetaData Driven Dialog framework,  Create
>DAO layer, Create Threading Model, etc.

So? I've never seen those things as individual line items on a project
plan either.

>Instead, these architectures evolve out of the code themselves, as we
>continue to add more features to the code base. One of the fundamental
>practices of TestDrivenDevelopment is to 'remove duplication'.  Couple
>this with XPs 'DoTheSimplistThingThatCouldPossiblyWork' and
>'YouAintGonnaNeedIt', we end up with very simple designs that naturally
>evolve into extensible architectures.

You still don't get it, I'm afraid. "Simple designs that naturally
evolve into extensible architectures" are not the exclusive province
of XP. Your logic seems to be:

1. "I have been involved in several software development projects that
used XP."

2. "Those projects were successful and resulted in an extensible and
maintainable code base."

3. "Therefore, for a project to be successful and have an extensible
and maintainable code base, you must use XP."

Signature

Check out QueryForm, a free, open source, Java/Swing-based
front end for relational databases.

http://qform.sourceforge.net

If you're a musician, check out RPitch Relative Pitch
Ear Training Software.

http://rpitch.sourceforge.net

Andrew McDonagh - 11 May 2006 20:32 GMT
>> We normally end up with a design that is right for the application -
>> KISS, rather than some framework laden monster.
[quoted text clipped - 7 lines]
>
>     -- chris

Strange, I take your last sentence to mean 'xp does give much weight to
design'  Am I right?

If not...eh?

If so, I'd have to clarify that XP not only requires a design, it
mandates it. However, its not like other processes where Design is a
specific period or point within the methodologies life cycle. In XP, we
continuously design through out the entire life cycle.

From the moment we capture a feature request (known as a Story) from
the Customer, we are thinking about how we'd design that part of the
system, given all of the usual suspect variables (e.g. what current
architecture we have, what the code base  is like, what other Stories
are to be done that Iteration and most importantly of all - how would we
test it). At the end of the Story gathering we'd have enough ideas for a
design for that part to be able to accurately estimate how long that
particular story would take to make. By Make, I mean write an hook in
the executable Automated Acceptance Test (that the customer helped
specify) &  TestDrivenDevelop the Story. TestDrivenDevelopment is a
Design process not a testing process - it just happens to use Unit Tests
to document the design instead of things like UML, etc

At the end of this, we have a fully Running Tested Feature - designed
not just from the outset but continually during its creation.

Maybe its this lack of 'do design now, then do this, then do that...'
which is why people can mistakenly think XP holds little weight for design.

So how does this stop pond-scum?

It doesn't - no methodologies (XP, RUP, Etc) can .

People stop pond-scum.

People who are disciplined enough to follow design, development and
process techniques which help aim them in a good direction.

In the case of XP, this good direction is to have a Testable Design,
rather than Designed For Test.
Chris Uppal - 15 May 2006 14:26 GMT
[me:]
> > Not to suggest that you -- or anyone -- are producing pond-scum, but I
> > doubt whether the /presence/ of good design can properly be attributed
> > to a methodology which -- at least formally -- gives little weight to
> > it.

> Strange, I take your last sentence to mean 'xp does give much weight to
> design'  Am I right?

Is there a 'not' missing from that sentence ?

Anyway, to clarify.  What I mean is that XP seems to be built on the assumption
that the programmers are capable of applying, and will in fact apply, good
design principles at all times.  It doesn't, to me, seem to contain anything
which directly encourages, or requires, that (although it undoubtedly allows
/room/ for good design in a way that some other methodologies don't).

I'm not trying to suggest that XP is uniquely vulnerable to bad design (I have
no opinion one way or the other).  My point is that, at least from where I sit,
it appears that you can't do XP without the talent or the attention to detail
or the grasp of the big-picture which would enable you to produce good software
using other methodologies.  It seems to me that if a piece of software produced
by XP is well-designed, then you can only attribute that quality to XP if you
are comparing against another methodology that actively /impedes/ good
design --  which would be stacking the deck IMO ;-)

(And, again, I'm not suggesting that there may not be other qualities -- even
more important ones -- which /are/ attributable to XP)

>  From the moment we capture a feature request (known as a Story)

Just BTW.  I find this abuse of the word "story" /really/ aggravating.  "Story"
is one of the most wonderful and powerful words in the English language.
Stories have excitement, joy, or sadness, change and development.  Stories have
meaning and arc.  The drab little descriptions used in XP don't deserve the
word "story", not by a long way.

   -- chris
Bent C Dalager - 15 May 2006 14:37 GMT
> (...)
>  My point is that, at least from where I sit,
>it appears that you can't do XP without the talent or the attention to detail
>or the grasp of the big-picture which would enable you to produce good software
>using other methodologies.
> (...)

Isn't part of the point that pair programming will cause the required
talent/attention to detail to seep into the programming team and so
turn even untalented team members into useful XPers?

If so, then you probably only need to start with a small team of
talented XP diehards and gradually add rookies for assimilation.

Kind of like how you build large synthetic diamonds by starting with a
tiny seed diamond and then just adding carbon under pressure to make
it grow :-)

Cheers
    Bent D
Signature

Bent Dalager - bcd@pvv.org - http://www.pvv.org/~bcd
                                   powered by emacs

Chris Uppal - 15 May 2006 14:47 GMT
> If so, then you probably only need to start with a small team of
> talented XP diehards and gradually add rookies for assimilation.
>
> Kind of like how you build large synthetic diamonds by starting with a
> tiny seed diamond and then just adding carbon under pressure to make
> it grow :-)

And then at some convenient time in the project, you grind up all the team
members and seed a new team around each lump ;-)

"Extreme" indeed...

   -- chris
Andrew McDonagh - 15 May 2006 14:48 GMT
> [me:]
>>> Not to suggest that you -- or anyone -- are producing pond-scum, but I
[quoted text clipped - 6 lines]
>
> Is there a 'not' missing from that sentence ?

Doh!  yes the 'not'  is missing

> Anyway, to clarify.  What I mean is that XP seems to be built on the assumption
> that the programmers are capable of applying, and will in fact apply, good
[quoted text clipped - 23 lines]
>
>     -- chris
Dale King - 15 May 2006 18:17 GMT
> [me:]
>>> Not to suggest that you -- or anyone -- are producing pond-scum, but I
[quoted text clipped - 6 lines]
>
> Is there a 'not' missing from that sentence ?

I think saying that XP gives little weight to good design is a gross
mischaracterization. XP definitely highly values good design. The
question is how do arrive at that good design. Do you arrive at it by
doing a big upfront design before you write any code. That rarely
arrives at a good design. XP says that the best design is going to be
arrived at iteratively. Design is balancing tradeoffs. The best way to
find out the tradeoffs is by doing a little work, see what can be
improved and refactor it. There is no way to foresee all the tradeoffs
ahead of time. What looks good on paper often is not good in practice.

XP also does not put a value on some formal design documentation. These
are universally out of date and of very little value. It doesn't say you
can't use UML for instance, but only use it if there is real value to be
gained.

> Anyway, to clarify.  What I mean is that XP seems to be built on the assumption
> that the programmers are capable of applying, and will in fact apply, good
[quoted text clipped - 10 lines]
> are comparing against another methodology that actively /impedes/ good
> design --  which would be stacking the deck IMO ;-)

Your argument here seems to fall apart. Does XP require good programmers
that can recognize good design? Of course it does. Any methodology does.
 XP does not require every one of the programmers to be top notch. With
pair programming the expertise of the better programmers is more evenly
distributed through out the project and it provides a way for the weaker
programmers to be exposed to an learn good design. Refactoring provides
ways to correct bad designs.

Your statement that XP requires programmers "to be capable of applying
good design principles at all times" is particularly puzzling. To me XP
explicitly recognizes that no one is capable of applying good design
principles at all times. In fact what is a good design principle is not
even fixed. As requirements change what is a good design changes as
well. What used to be good design is no longer good design with new
requirements.

It seems to me that big upfront design methodologies are the ones that
require perfection in good design because you have to get it right up
front as there is less chance to change it later. XP lets you reconsider
and modify the design throughout the development life cycle.

Signature

 Dale King

Roedy Green - 10 May 2006 18:29 GMT
>In two Java job interviews, interviewers asked me if I know extreme
>programming. I don't.
>
>What is Java extreme programming? Is it marketable skill?

see http://mindprod.com/jgloss/extremeprogramming.html
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Andrew McDonagh - 10 May 2006 19:24 GMT
>> In two Java job interviews, interviewers asked me if I know extreme
>> programming. I don't.
>>
>> What is Java extreme programming? Is it marketable skill?
>
> see http://mindprod.com/jgloss/extremeprogramming.html

wow you have surpassed yourself!

a link to your site where the page is nothing but 3 listings of xp books
and links to various book sellers - a potential money earning page I
suppose, but not very useful for the op.
Roedy Green - 10 May 2006 20:35 GMT
>> see http://mindprod.com/jgloss/extremeprogramming.html
>
[quoted text clipped - 3 lines]
>and links to various book sellers - a potential money earning page I
>suppose, but not very useful for the op.

You missed the main link to http://www.extremeprogramming.org/
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Andrew McDonagh - 10 May 2006 20:57 GMT
>>> see http://mindprod.com/jgloss/extremeprogramming.html
>> wow you have surpassed yourself!
[quoted text clipped - 4 lines]
>
> You missed the main link to http://www.extremeprogramming.org/

So why not post that link instead of your revenue generating one?
Roedy Green - 10 May 2006 20:54 GMT
>a link to your site where the page is nothing but 3 listings of xp books
>and links to various book sellers - a pote

You have a lot of nerve, day after day sniping away at me like some
catty drag queen, expecting me to both do all the work of maintaining
the java glossary AND funding it totally out of my own not very deep
pockets.

The last royalty check I got for book sales was $137 in 2005-06.  You
know what that works out to an hour?  It is a negative amount when you
factor in the costs.  What are you, a communist?  Why do you think
everyone but you should work for free and spend their money to serve
an ungrateful c.nt like you?  Who the hell you do you think you are,
Queen Elizabeth?

I have had it with you.  I don't care how intelligent you are, you are
a royal pain in the a.s.  You or are not worth it.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Andrew McDonagh - 10 May 2006 20:58 GMT
>> a link to your site where the page is nothing but 3 listings of xp books
>> and links to various book sellers - a pote
[quoted text clipped - 13 lines]
> I have had it with you.  I don't care how intelligent you are, you are
> a royal pain in the a.s.  You or are not worth it.

'he shoots, he scores!'
Chris Uppal - 11 May 2006 10:38 GMT
> [.. the usual...]
>
> 'he shoots, he scores!'

;-)

   -- chris
Luc The Perverse - 11 May 2006 14:42 GMT
>> [.. the usual...]
>>
>> 'he shoots, he scores!'
>
> ;-)

You aren't condoning this person's behavior, are you?

--
LTP

:)
Chris Uppal - 11 May 2006 16:06 GMT
> You aren't condoning this person's behavior, are you?

Since you ask, yes.

(Assuming that by "this person" you mean Andrew rather than Roedy.)

   -- chris
Chris Uppal - 11 May 2006 20:30 GMT
I wrote:

> > You aren't condoning this person's behavior, are you?
>
> Since you ask, yes.

This has been bugging me; the verb "condone" doesn't seem quite right.  I think
a more precise term would be "applaud".

   -- chris
Andrew McDonagh - 11 May 2006 20:33 GMT
> I wrote:
>
[quoted text clipped - 5 lines]
>
>     -- chris

:-)
Kent Paul Dolan - 21 May 2006 13:02 GMT
> 'he shoots, he scores!'

Indeed. There are some Usenetters entry into whose killfiles is
actively sought.

FWIW

xanthian.
Chris Smith - 17 May 2006 04:54 GMT
> The last royalty check I got for book sales was $137 in 2005-06.  You
> know what that works out to an hour?  It is a negative amount when you
> factor in the costs.  What are you, a communist?

So I've been thinking about how to say this clearly.  I think there's a
valid point here besides alleged communism of members of the newsgroup.

The Java Glossary, for better or worse, acts as a kind of FAQ in these
newsgroups.  When a thread is answered by linking to an entry in the
Java Glossary, there's an implicit statement there: "Don't try to
continue the conversation; you've been answered, and I'm done with it."  
It's rather difficult to quote and respond to content from the Glossary
in a nice format, so that's likely to stop right there.  The placing of
the response on a web site implies a kind of finality... and whether
intended or not, a mild rebuke for posting the question onto a
discussion group in the first place, since you obviously didn't think it
was worth discussing.

There are times when this is reasonable.  Nobody tends to mind when the
topic is about how to solve a NoClassDefFoundError, since that's not a
particularly interesting conversation to begin with.  Some topics, such
as pointing out that Java is not JavaScript, may well benefit greatly
from that kind of finality since the conversation is unlikely to go
anywhere interesting.  However, if the thread is about doing XP in Java,
that kind of finality is misleading and deprives the group of
discussion.  When the content of the Java Glossary page is especially
sketchy, as it was in this case, it starts to look like an outright
insult.  This newsgroup is for discussion of all kinds, not strict Q&A.  
Members of this newsgroup gain something from talking to each other that
couldn't be gained from reading a lot of static content somewhere.  
Posting links to the Glossary certainly seems like an attempt to stop
that discussion.

Hence, I don't think the grievance relates to money at all.  The
financial gain doesn't help, of course -- but it's only a problem
because the response was harmful in the first place.  The Glossary even
seems to be a useful resource to many people.  However, I do prefer to
see people participating in the community here instead of being
redirected elsewhere.

I forget where I first saw this, but I think it's a fairly reasonable
statement: "Efficiency is the opposite of community."

No offense intended to anyone: this all just seemed worth saying.

Signature

Chris Smith

John Gagon - 17 May 2006 07:19 GMT
> > The last royalty check I got for book sales was $137 in 2005-06.  You
> > know what that works out to an hour?  It is a negative amount when you
[quoted text clipped - 40 lines]
>
> No offense intended to anyone: this all just seemed worth saying.

I certainly like the Glossary for its comprehensiveness. It is however
replete with a lot of other content. The Glossary shouldn't however
monopolize the role of being a FAQ. This is not a group about chicken
pox where there are limited numbers of answers. Indeed, with Java,
there are all kinds or resources out there. e.g.: Javaworld, The Server
Side, Java Best Practices, On Java, ProgrammingTutorials.com, etc etc.
I know that other links do make it here. Everyone has the right to
express their preferred resources. But if there is an ulterior motive,
I find that something to be frowned upon. Many resources are the kind
that do one thing and one thing well. However, appropriatness of
information and getting an answer to the question or a useful comment
to the discussion is priority. If someone disagrees with the
appropriateness of a particular resource, they can post one of their
own IMHO and that will say most of what needs to be said in such a
situation where it is a common question/frequently asked. It would be
nice if there was a community FAQ for java somewhere. Perhaps someone
can create a site for that.

John Gagon
Chris Smith - 17 May 2006 16:24 GMT
> I certainly like the Glossary for its comprehensiveness. It is however
> replete with a lot of other content. The Glossary shouldn't however
> monopolize the role of being a FAQ.

Does it?  Andrew Thompson maintained a FAQ for a while, and there's also
JINX where I have put a lot of information that I think should be
documented from this group.  For a while Peter van der Linden maintained
a FAQ in actual Q&A format, but I haven't seen it mentioned recently and
it's likely out of date or gone.  Of course, anyone else is welcome to
put something together.

If your complaint is about the political and social content of Roedy's
web page, then that's your issue to deal with, whether by staying on the
Glossary pages or by not using the resource if it really bothers you.  
It doesn't make the Java Glossary any worse of a resource.

> Indeed, with Java, there are all kinds or resources out there. e.g.:
> Javaworld, The Server Side, Java Best Practices, On Java,
> ProgrammingTutorials.com, etc etc.

Sure, and if someone started replying to every post with links to those
resources, the exact same complaints would apply.  This is a discussion
forum.  While it may be useful to know about all of those resources,
they don't serve the same need as this group either.  I've occasionally
found JavaWorld articles quite helpful, for instance, but this group
should no more become a pointer to JavaWorld than a pointer to the Java
Glossary.  I'd prefer to see someone's opinion than a link to a resource
that Google could have found just as well.

> It would be nice if there was a community FAQ for java somewhere.
> Perhaps someone can create a site for that.

That's supposed to be the JINX wiki.  Jon Skeet first created it a
couple years ago, and I've attempted to reincarnate it after the first
server died and the content was lost.  http://riters.com/JINX

Signature

www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Roedy Green - 17 May 2006 19:17 GMT
>Sure, and if someone started replying to every post with links to those
>resources, the exact same complaints would apply.

A poster is looking for information. The best place to view my
information is in a web browser.  It is formatted and hyperlinked.
It would be asinine to convert it back to raw text just to give the
illusion I had just dashed it off the top of my head and to save
someone the effort of a mouse click.

I am quite ill and constantly seek to create maximal effect for
minimal energy output.  Your suggestion would take a lot of extra work
and would reduce my effectiveness.  So I am not about to use it.

I post the URLs  almost reflexively, "I recall I have an entry on
that. Give him the URL.  It might help."

The "finality" and my desire to stop discussion is your illusion. I am
simply tossing some more sources of information into the ring. I don't
have anywhere near the energy for discussion or exposition I once did.
Perhaps you are taking my lack of participation as a desire to silence
the discussion.

In other newsgroups people use URLs all the time, and if people want
to discuss that material they quote it.  What is stopping you from
doing that if you disagree with something in the glossary?

I get many emails each day with suggestion to improve the glossary.
You could do that too. It strange how people tend to presume every
omission or error is deliberate.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Luc The Perverse - 17 May 2006 21:37 GMT
>>Sure, and if someone started replying to every post with links to those
>>resources, the exact same complaints would apply.
[quoted text clipped - 25 lines]
> You could do that too. It strange how people tend to presume every
> omission or error is deliberate.

Personally I wouldn't care if you were "advertising" your site.  I feel my
life is a little better because I found it.   (

It wouldn't have happened if you only posted links intermittently.

I disagree with Chris that there is any problem in posting a link.

--
LTP

:)
Roedy Green - 18 May 2006 03:44 GMT
On Wed, 17 May 2006 14:37:20 -0600, "Luc The Perverse"
<sll_noSpamlicious_z_XXX_m@cc.usu.edu> wrote, quoted or indirectly
quoted someone who said :

>I disagree with Chris that there is any problem in posting a link.

I went to a heck of a lot of work to format that information in
tables,  to hyperlink it up the yin yang,  to colourise the source
code and in some entries to provide diagrams, to use icons to help
find what you are looking for rapidly and warn you of gotchas.

Why would I want you to view that work in degraded form? I might as
well have composed the Java glossary in raw ASCII text like a
traditional FAQ.

Obviously there are a million things to be improved (and I welcome
those suggestion and implement as many as I have energy for), but the
main criticism seems to be it was wrongful of me to compose the
glossary in the first place and improper for me to point people to
sections of it that may help them.

I was trying to do the world a favour.  Because of HIV likely cutting
my life short, I desperately want to do something important and good
as a legacy.  From my point of view I did the planet a favour.  It is
so infuriating to have my gift thrown back in my face as if it were
some selfish criminal act.

Until you have done something similar, you have absolutely no idea how
much work is entailed.  Look how many people abandoned
FAQ-like projects even smaller than the glossary.  Why?

1.  It is so darn much work.

2. The rewards have to come from knowing you are doing the right
thing, not from praise or money.

3. You have to put up with people doing their best to rain on your
parade and attack you personally. You have to put up with endless
petty personal criticism as if every error or piece of stale
information were deliberate malice..

Everyone once in a while, e.g. after one of Chris Smith's bitchy
snipes, I say to myself "f.ck EM". If they are going to be such
shitheads, I'll just close down the glossary. Why should I put in time
attempting to help people who actively despise me and my work? But
that is exactly what Chris wants.  The "f.ck em" also sounds too much
like Mom and her "I worked my fingers to the bone" trip.  I am not
asking for thanks, just laying off the generic barbs.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Luc The Perverse - 18 May 2006 05:41 GMT
> 3. You have to put up with people doing their best to rain on your
> parade and attack you personally. You have to put up with endless
> petty personal criticism as if every error or piece of stale
> information were deliberate malice..

Your main page has over a million hits.   Negative people/people who have a
problem/objection just seem to be a little more outspoken.  With a million
hits, I imagine there are a lot of silent "pleased" visitors.

You violate the status quo on many levels - with your religious and
political beliefs and your sexual orientation.   Simply discussing a
controversial topic is enough to piss many people off.

You got up and fought a battle for homosexuals and you probably made
significant progress at, presumably, some cost to you.

I don't know what I'm trying to say - I don't have a point.

On a more personal note, I certainly hope things improve with your health.
A university professor in my homestate of Utah believes that she has found a
way to design molecules which target and bind specific virii and believes a
similar method could be used to also attack [specific] fungi, bacteria and
protozoa.   Her primary interest is curing AIDS, and some prelim lab work
looks like she might be getting close.

--
LTP

:)
Roedy Green - 18 May 2006 06:11 GMT
On Wed, 17 May 2006 22:41:23 -0600, "Luc The Perverse"
<sll_noSpamlicious_z_XXX_m@cc.usu.edu> wrote, quoted or indirectly
quoted someone who said :

>Your main page has over a million hits.   Negative people/people who have a
>problem/objection just seem to be a little more outspoken.  With a million
>hits, I imagine there are a lot of silent "pleased" visitors.

Of course, you are right.  I don't that often write someone a general
note of thanks. The emails I send are usually a typo or a suggested
rewording.  

If somebody uses the glossary and then comes back again, that is a
tacit vote of confidence that they found my work useful.

I expect the knives to come out over the things I say on the other
parts of the website, and the venom in response has never bothered me
in the least.  You can read some of the spicier stuff at
http://mindprod.com/feedback/peace.html  In my early gay lib work I
got about 300 abusive phone calls, and a average of 3 death threats a
day.   Yet suddenly I become ultra sensitive about a rather mild
personal attack every month or so on the glossary.  Illogical!

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Luc The Perverse - 18 May 2006 07:12 GMT
> On Wed, 17 May 2006 22:41:23 -0600, "Luc The Perverse"
> <sll_noSpamlicious_z_XXX_m@cc.usu.edu> wrote, quoted or indirectly
[quoted text clipped - 19 lines]
> day.   Yet suddenly I become ultra sensitive about a rather mild
> personal attack every month or so on the glossary.  Illogical!

Oh I like that link!  I will have to check it out in more detail tomorrow.

Wait a minute.   A LINK!   HOW DARE YOU??!!!  j/k

Not really too illogical - you expect people to get upset if you tell them
that they are wrong, you don't expect criticism for giving people a gift.

--
LTP

:)
Jeffrey H. Coffield - 19 May 2006 03:06 GMT
>  I am not
> asking for thanks, just laying off the generic barbs.

You may not be asking, but for myself, thank you.

Your examples have helped me many times and your input into
advancing usable knowledge is greatly appreciated.

Jeff Coffield
Chris Uppal - 18 May 2006 12:38 GMT
>  This is a discussion forum.

One significant advantage of which, when compared to essentially static web
pages, is that posts are subject to public peer review and debate.

(And just don't get me started on "blogs" -- I suspect that some here are
closet bloggers and I might easily cause offence)

   -- chris
Andrew McDonagh - 18 May 2006 19:12 GMT
>>  This is a discussion forum.
>
[quoted text clipped - 5 lines]
>
>     -- chris

Yes please dont start on blogs....   what with me too, we'd never finish
pissing the bloggers off!
Roedy Green - 18 May 2006 19:35 GMT
On Thu, 18 May 2006 12:38:28 +0100, "Chris Uppal"
<chris.uppal@metagnostic.REMOVE-THIS.org> wrote, quoted or indirectly
quoted someone who said :

>One significant advantage of which, when compared to essentially static web
>pages, is that posts are subject to public peer review and debate.

The biggest theoretical problem is the link can go away, or the
referenced text can change.  With newsgroup postings you have a
permanent record of the precise debate.  One if of the nicest features
of newsgroup debates as you can settle definitively charges of the
form "but you said...".

With the Agent browser, a link is much easier to deal with than
someone who quotes everything, relevant or not.  Some of these debates
could melt away with technology to make referencing links faster and
if quoting were  handled so attributions were automatic and you had
windows to control just how much volume you were prepared to look at
in a quote.  For me,  rarely is more than a  few lines of a quote
needed to put the comment in context.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Luc The Perverse - 18 May 2006 21:27 GMT
> For me,  rarely is more than a  few lines of a quote
> needed to put the comment in context.

I agree.  I check NGs at least daily - so it isn't like I have forgotten
what a discussion was about - I merely need a reminder.

Although I don't know how we got started talking about this ^^

--
LTP

:)
Roedy Green - 19 May 2006 20:20 GMT
On Thu, 18 May 2006 14:27:55 -0600, "Luc The Perverse"
<sll_noSpamlicious_z_XXX_m@cc.usu.edu> wrote, quoted or indirectly
quoted someone who said :

>I agree.  I check NGs at least daily - so it isn't like I have forgotten
>what a discussion was about - I merely need a reminder.
>
>Although I don't know how we got started talking about this ^^

Chris was chastising me for using links.  I then pointed out it
depends on your tool which is awkward, a link, excessive quoting,
attribution.
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Chris Smith - 19 May 2006 21:05 GMT
> Chris was chastising me for using links.  I then pointed out it
> depends on your tool which is awkward, a link, excessive quoting,
> attribution.

Me?  I wasn't chastising you.  I regret the misunderstanding, if what I
said was taken that way.  I would prefer to see significant posts to the
newsgroup instead of links, but you are free to do what you like.  I
merely pointed out that it's more likely the links, and not the partner
fees from online bookstores, that bother people.  If you want to know
who was bothered, I'd suggest you look further up the thread.

Signature

www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Andrew McDonagh - 20 May 2006 11:07 GMT
>> Chris was chastising me for using links.  I then pointed out it
>> depends on your tool which is awkward, a link, excessive quoting,
[quoted text clipped - 6 lines]
> fees from online bookstores, that bother people.  If you want to know
> who was bothered, I'd suggest you look further up the thread.

Hands up...it was me that experienced annoyance of Roedy's link.

I wasn't offended by it - just annoyed.

I wasn't offended by the fact he posted a link to his site.

I wasn't offended by Roedy's reply.

However, I was annoyed that as an answer to the OPs question, Roedy
posted a link to his a PAGE of his site, where the page contained a very
short and mostly WRONG description of what XP is, plus one additional
link to http://www.extremeprogramming.org/

Aside from that, it contained a whole suite of links to various book shops.

So my point was, if thats all it contains, then it would be better to
simply post the http://www.extremeprogramming.org/ link instead or have
the page redirect the user to http://www.extremeprogramming.org/.

Roedy's site does contain a lot of useful info for newbies, no one,
including myself denies this.  But pages like this damage his reputation
(at least in my eyes) as it comes across as being a money generating
link scheme instead of a useful resource.

Andrew
(Your favourite (psuedo) commie ;-) )
Roedy Green - 19 May 2006 20:19 GMT
On Thu, 18 May 2006 18:35:54 GMT, Roedy Green
<my_email_is_posted_on_my_website@munged.invalid> wrote, quoted or
indirectly quoted someone who said :

>The biggest theoretical problem is the link can go away, or the
>referenced text can change.  With newsgroup postings you have a
>permanent record of the precise debate.  One if of the nicest features
>of newsgroup debates as you can settle definitively charges of the
>form "but you said...".

The big advantage of a link is freshness.  If I put information on a
web page I can correct, update, freshen  at any time, and anyone
finding my post in groups.google.com linking to it will be taken to
the freshest information.  If I had inserted the information inline,
they would get stale information. I may have even elsewhere repudiated
it utterly, but they would still see it as valid.
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Luc The Perverse - 18 May 2006 21:26 GMT
>>  This is a discussion forum.
>
[quoted text clipped - 4 lines]
> (And just don't get me started on "blogs" -- I suspect that some here are
> closet bloggers and I might easily cause offence)

What have you got against blogs?

I use blogs as a disorganized way to record things on my mind.  My readers
find my blogs entertaining (although I would prefer if they found them
thought provoking)

--
LTP

:)
Chris Uppal - 19 May 2006 11:44 GMT
[me:]
> > (And just don't get me started on "blogs" -- I suspect that some here
> > are closet bloggers and I might easily cause offence)
>
> What have you got against blogs?

I said /DON'T/ get me started !

;-)

   -- chris
Andrew McDonagh - 10 May 2006 19:28 GMT
> Dear All,
>
[quoted text clipped - 4 lines]
>
> Thank you.

Here's a tip for you - if you dont know extreme programming (XP), then
please dont try and bluff your way through it the next time you have an
interview and they mention it.

Its so easy for us to tell those that have used it versus those that
have only read about it.

We'd prefer it if you were clear 'I've read about it but I've never done
it so cant say much about it'

my 2 cents as being someone who routinely interviews for XP Java developers.

Andrew
PS:  If there are any XP experienced Java developers  in the Essex area
of the UK, looking for new job, let me know!
Dave Glasser - 10 May 2006 20:42 GMT
Leo <xxx@nospam.com> wrote on Wed, 10 May 2006 11:25:17 +0000 in
comp.lang.java.programmer:

>Dear All,
>
>In two Java job interviews, interviewers asked me if I know extreme
>programming. I don't.
>
>What is Java extreme programming? Is it marketable skill?

Here's an interesting perspective on extreme programming:

http://www.hacknot.info/hacknot/action/showEntry?eid=11

Signature

Check out QueryForm, a free, open source, Java/Swing-based
front end for relational databases.

http://qform.sourceforge.net

If you're a musician, check out RPitch Relative Pitch
Ear Training Software.

http://rpitch.sourceforge.net

joseph_daniel_zukiger@yahoo.com - 13 May 2006 12:09 GMT
> Leo <xxx@nospam.com> wrote on Wed, 10 May 2006 11:25:17 +0000 in
> comp.lang.java.programmer:
[quoted text clipped - 9 lines]
>
> http://www.hacknot.info/hacknot/action/showEntry?eid=11

Don't have time to dig into your net presence, but I'm going to comment
on that page.

While I agree with the necessity of saying many of the things that are
said in that, the charge of "cultism" it levels seems to me to ignore
some facts of life:

] Sense of higher purpose

Is this evil? Is it inherently bad to seek or hope for, or believe in,
a higher purpose?

Sure, using such an assertion of higher purpose as a basis of
discrimination tends to evil, but is the problem in the assertion or
the application?

] Loaded language

It seems to me I can find loaded language in anything, including the
page linked. I'm not sure it's possible to promote or defend any point
of view without resorting to language that is at least potentially
loaded. (The list I am critiquing is, in and of itself, an example of
language that has become loaded.)

Moreover, what is the difference between "loaded language" and mere
differences in assumptions concerning semantics, other than the
question of what is in vogue today?

Is there an way to avoid the problem of semantics?

(This last question is particularly relevant in any forum devoted to
computer languages.)

] Creation of an exclusive community

Again, is this necessarily evil? (Do you see the loaded language in use
here?)

Anytime you have a non-universal context, those who participate in the
context will become, by definition, something of an exclusive
community.

They do not, of course, have to form an exclusionary community.
Enforcing an exclusiveness is usually counter-productive, in addition
to being an exercise in prejudice.

] Persuasive leadership

Is there evil inherent in either persuasion or leading, or even in
doing both at the same time?

Isn't the problem in the direction of the leading, the form or methods
of leadership, the techniques and methods of persuasion?

Truth itself can't be evil, but can sometimes be viewed as cruel
persuasion by some suddenly exposed to some aspect with which they have
not been previously familiar.

Yeah, trying to persuade people against their will can cause problems,
and attempting to lead people to disbelieve what is true is just plain
bad. But those are not the only uses of persuasive leadership.
(Debating whether to point out that arguing against argumentation is an
exercise in reflexive counterfuge.)

] Revisionism

Again, is it inherently evil?

As an engineer, I have been taught to celebrate the principle of
step-wise refinement.

But, looking at the bottom line, I do not know any mortals who know
every truth there is.

It may be possible to know every practical truth within a small
context, but when one leaves that context, some of the truths of the
small context lose relevance, some shift in their expression or
application. And there will be other truths which were not known or
applicable in the small context. The truths themselves may not change,
but our view and understanding of them does.

There is absolute truth, but it is very difficult for us to get such a
perfect view that our view never needs revision. Even if I can imagine
living a thousand years, I can be pretty sure there's going to be
plenty of unknowns left.

Put in the negative, if absolute truth could be known to a degree
beyond revision by people who have a life expectancy of less than a
hundred years, what use would absolute truth be, even to the one person
capable of comprehending it all in such a short time, much less to the
rest of the human race, and to any other intelligent beings that might
exist somewhere?

] Aura of sacred science

Granted that most people are familiar with the semantic of the phrase
currently in vogue, I should note that the original meaning of "sacred"
is not so much something limited to the use of a high priesthood, but
simply the assertion of limits and the reminder of the evils of misuse.

There are things which we, as a society, limit to the use of those
trained in their uses (and often we overset the limits, even in modern
times). But there have always been sacred things ordinary people use,
being cautioned not to misuse them.

Science is definitely something we should be careful to use
appropriately rather than misuse.

One very inappropriate misuse of science is the assertion that science
itself is beyond the common man, but, as I said, most people are
familiar with that sense these days.

In times past, "sacred freedom" meant that we should defend our freedom
and not abuse it, nor abuse others with it. In those times, I think
"sacred science" meant almost the opposite of what it is assumed to
mean now.

Not meaning to dump on anyone, but this method of analysis by listing
the "occult" attributes of some feature of society is one of my pet
peeves.
Dave Glasser - 13 May 2006 14:38 GMT
joseph_daniel_zukiger@yahoo.com wrote on 13 May 2006 04:09:06 -0700 in
comp.lang.java.programmer:

>> Leo <xxx@nospam.com> wrote on Wed, 10 May 2006 11:25:17 +0000 in
>> comp.lang.java.programmer:
[quoted text clipped - 12 lines]
>Don't have time to dig into your net presence, but I'm going to comment
>on that page.

Ouch. I didn't realize that my posting a link to an unflattering
article on XP would result in someone "digging into my net presence."

>Not meaning to dump on anyone, but this method of analysis by listing
>the "occult" attributes of some feature of society is one of my pet
>peeves.

The article used the word "cult", not "occult." There's a big
difference.

Signature

Check out QueryForm, a free, open source, Java/Swing-based
front end for relational databases.

http://qform.sourceforge.net

If you're a musician, check out RPitch Relative Pitch
Ear Training Software.

http://rpitch.sourceforge.net

joseph_daniel_zukiger@yahoo.com - 14 May 2006 11:04 GMT
> joseph_daniel_zukiger@yahoo.com wrote on 13 May 2006 04:09:06 -0700 in
> comp.lang.java.programmer:
[quoted text clipped - 18 lines]
> Ouch. I didn't realize that my posting a link to an unflattering
> article on XP would result in someone "digging into my net presence."

Sorry, I didn't intend that to sound threatening. I just wanted to say
I was too lazy to figure out if that page was yours or whether it
reflected your pov on either of the subjects.

> >Not meaning to dump on anyone, but this method of analysis by listing
> >the "occult" attributes of some feature of society is one of my pet
> >peeves.
>
> The article used the word "cult", not "occult." There's a big
> difference.

Point taken, however, there are an awful lot of people who don't bother
to try to distinguish between "cult" and "occult". (Ergo, the word
"cult" itself can be loaded language, which means that attributing the
use of loaded language to cults is something of a semantic whirlpool.)

I didn't find the page informative, pro, con, or explanatory. My
impression is, "Okay, someone had a bad experience with XP and/or some
of the people who claim to practice it." Other than that, I come away
no wiser about XP.

And, as far as making parallels about cults, I come away thinking,
according to that point of view, society is nothing more than a large
collection of cults. I can't think of any social institution that can't
be pegged as a cult according to that method of analysis.

That's my opinion. YMMV.
Chris Uppal - 15 May 2006 15:05 GMT
> > http://www.hacknot.info/hacknot/action/showEntry?eid=11
> [...]
> While I agree with the necessity of saying many of the things that are
> said in that, the charge of "cultism" it levels seems to me to ignore
> some facts of life:

I don't know what the author's motivations were, there seems to be a certain
amount of over-statement.   But once you've stripped that out, there seems to
be a fairly interesting and even sensible message remaining.   The thrust of
the article is not to say "XP is a cult" (still less that "XP is an evil
cult"), but to point out that XP -- considered purely as a /social/ phenomenon,
shares many of the self-reinforcing features that are found in cults and other
strong social groupings (both good and bad).

That's to say that -- whatever the technical merits or demerits of the
movement -- it is /also/ a social phenomenon.  And, what's more, it has these
self reinforcing features which operate independently of the technical content.

And why is that relevant to the rest of us ?  Because if we want to evaluate
the technical qualities of XP, we should be careful to (try to) allow for the
social mechanisms which, in part, maintain it.  For instance, we should be wary
of deducing that XP must be good because few people try it (/really/ try it, I
mean) and decide it's not for them.  (I don't know if that is actually true,
this is just an invented example).  It could be that those (hypothetical)
people's reasons were entirely objective, but it is also possible that they
were partly or completely swayed by the sociological factors.

   -- chris
Roedy Green - 16 May 2006 04:09 GMT
On Mon, 15 May 2006 15:05:57 +0100, "Chris Uppal"
<chris.uppal@metagnostic.REMOVE-THIS.org> wrote, quoted or indirectly
quoted someone who said :

> Because if we want to evaluate
>the technical qualities of XP, we should be careful to (try to) allow for the
>social mechanisms which, in part, maintain it

You are being too kind to XP.  Imagine designing a project by starting
with the XP API and using that as a set of abstractions to think with.
Then do the same thing with the Java API.  You can't help but have a
cleaner design with Java.

XP has is its roots in DOS with Windows  real 80286 mode and 64K
segments, that gradually evolved layer upon layer with a considerable
amount of compatibility. Java got a much more recent clean start and
had the advantage of going multiplatform, which tends to shave off
quirky warts.

Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Dale King - 16 May 2006 04:36 GMT
> On Mon, 15 May 2006 15:05:57 +0100, "Chris Uppal"
> <chris.uppal@metagnostic.REMOVE-THIS.org> wrote, quoted or indirectly
[quoted text clipped - 14 lines]
> had the advantage of going multiplatform, which tends to shave off
> quirky warts.

Umm, Roedy, the XP being discussed here was extreme programming not
Windoze XP.

Signature

 Dale King

Roedy Green - 16 May 2006 20:15 GMT
>Umm, Roedy, the XP being discussed here was extreme programming not
>Windoze XP.

oops. Never mind.
Signature

Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.

Andrew McDonagh - 16 May 2006 21:28 GMT
>> Umm, Roedy, the XP being discussed here was extreme programming not
>> Windoze XP.
>
> oops. Never mind.

We didn't - it was a nice relief to a dull day :)
jmcgill - 16 May 2006 04:41 GMT
> On Mon, 15 May 2006 15:05:57 +0100, "Chris Uppal"
> <chris.uppal@metagnostic.REMOVE-THIS.org> wrote, quoted or indirectly
[quoted text clipped - 5 lines]
>
> You are being too kind to XP.  

Um, I think somewhere a discussion about XP (eXtreme Programming) turned
into a discussion about XP (Windows XP).

Totally different things.
Kent Paul Dolan - 21 May 2006 13:38 GMT
> ] Revisionism

> Again, is it inherently evil?

Absolutely.

> As an engineer, I have been taught to celebrate the principle of
> step-wise refinement.

Sorry, that is not even close to what the quoted paper meant by
"revisionism". It detailed quite clearly the _intellectually dishonest_
citing as an example of the initial success of XP a project which
was, in fact, a flop.

The "revisionism" there is _historical revisionism_, rewriting
history to make it be the way you wish it had been, instead of
the way it was, to support come current agenda of yours,
something extremely popular in the Soviet Union in the days
of Joseph Stalin, something done long past by the then
Christian church to throw away all but a few of the existing
descriptions of the life of Christ, to retain only that set (as
"Gospels") that agreed with their then current politics.

Given that XP advocates need this kind of lying to attract and
retain adherents, I wouldn't have characterized XP as a cult,
but, even less favorably, as a religion.

FWIW

xanthian.
Kent Paul Dolan - 21 May 2006 13:09 GMT
> Here's an interesting perspective on extreme programming:

> http://www.hacknot.info/hacknot/action/showEntry?eid=11

Yes, that's quite a bit closer to my gut evaluation of XP, a
technology for those who cannot handle CMM level 3.

XP is great for one up, throwaway projects, I suppose, and
since that represents lots of software produced in the real
world, whether by intention or not, it has a place in the
software industry,

I cannot conceive, though, of accepting employment in a
situation where maintenance of code created by XP was
part of the workload.

xanthian.
Andrew McDonagh - 21 May 2006 13:19 GMT
>> Here's an interesting perspective on extreme programming:
>
[quoted text clipped - 7 lines]
> world, whether by intention or not, it has a place in the
> software industry,

You should take a look at...

http://www.sei.cmu.edu/publications/articles/paulk/xp-from-a-cmm-perspective.html

It shows where and how XP matches against each level.

> I cannot conceive, though, of accepting employment in a
> situation where maintenance of code created by XP was
> part of the workload.
>
> xanthian.

Why?  Code that is completely covered with automated Acceptance and Unit
tests is not good enough for your maintenance?

Not to mention the design docs that most teams will create if required.
The Magpie - 21 May 2006 14:09 GMT
> I cannot conceive, though, of accepting employment in a
> situation where maintenance of code created by XP was
> part of the workload.

Neither could I until we tried it at the firm I was working with. Our
productivity went up by