What is Java extreme programming?

L

Leo

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.
 
T

TechBookReport

Leo said:
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.
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
 
J

jmcgill

Leo said:
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.
 
A

Andrew McDonagh

TechBookReport said:
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

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
 
A

Andrew McDonagh

Leo said:
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.

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!
 
R

Roedy Green

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.
 
D

Dave Glasser

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


--
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
 
R

Roedy Green

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 **** 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 ass. You or are not worth it.
 
A

Andrew McDonagh

Roedy said:
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 **** 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 ass. You or are not worth it.

'he shoots, he scores!'
 
A

Andrew McDonagh

Roedy said:
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.

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.
 
T

TechBookReport

Andrew said:
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.
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.
 
B

bugbear

jmcgill said:
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
 
C

Chris Uppal

Luc said:
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,070
Latest member
BiogenixGummies

Latest Threads

Top