Josh
Inside the Machine
Originally posted by Josh Brown:
When I'm watching/working with/pairing with another, it's very easy for me to get distracted by the way they do things. Little things bother me, like someone not using keyboard shortcuts, typing slowly, or spelling things incorrectly. [...] How do you (pair programmers) deal with issues like these?
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Dario Laverde:
In fact of you pair two senior level (seasoned gurus) together, you'll get less productivity than if they were to work separately.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Josh Brown:
I tend to think it would be much much more distracting for me. While I've never done it, ...
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
[OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Originally posted by Jeanne Boyarsky:
The typing speed concept is interesting. While I'm a keyboard person, I don't care whether someone uses the keyboard or the mouse to do things. ...
I have noticed a patience for people who type slow thing. I don't mind hunt and peckers. But every so often you find a hunt and pecker who types really SLOW. It's like they haven't seen the keyboard before. ...
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
SCJP aspirant<br />SCWCD aspirant
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
We all learned a lot of new keyboard shortcuts.
[My Blog]
All roads lead to JavaRanch
Originally posted by Mike Dawson:
If done properly it brings a dynamic all of its own where you can learn.
Originally posted by Damon Black:
I guess it's the "If done properly" clause that's the kicker. In my few years of dealing with it, that's been a rarity. So I wonder, how effective is a discipline that is so easy to do poorly?
That's where I start to see much of the XP/Agile zeitgeist as pie-in-the-sky fantasy. It doesn't help that most of the theory was cooked up by gifted, experienced coders looking to work in a way that was comfortable for them. My guess is that if you assigned several of these guys to a team they could successfully work through (or around) just about any methodology.
The real test is how the average team in the trenches deals with it. My experience with that end of it argues strongly against XP.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Christophe Verre:
I hope you'll not say that this as an advantage of pair programming![]()
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
Originally posted by Christophe Verre:
I hope you'll not say that this as an advantage of pair programming![]()
But it *is*. Seriously.
I can attest to this as well. It's one of the most useful benefits of pairing in my book.Honestly, seeing these shortcuts used repeatedly, and feeling a subtle pressure to use them yourself, helps push you into learning them (when you might not have gone to the trouble otherwise). And I've never heard anyone grumble about it once they adopted the habit.
[ November 01, 2007: Message edited by: Damon Black ]
And I've never heard anyone grumble about it once they adopted the habit.
[My Blog]
All roads lead to JavaRanch
Originally posted by Damon Black:
And I've never heard anyone grumble about it once they adopted the habit.
Author of <a href="http://www.amazon.com/gp/product/0596527675?tag=jranch-20" target="_blank"><i>The Art of Agile Development</i></a>
Originally posted by Damon Black:
I guess it's the "If done properly" clause that's the kicker. In my few years of dealing with it, that's been a rarity. So I wonder, how effective is a discipline that is so easy to do poorly?
Originally posted by Jeff Langr:
I could say that about just about anything, including Java development itself, or RUP, or waterfall.
Originally posted by Damon Black:
So, in your opinion, is there a place in an 'agile' shop for someone who works better in a quiet, focused setting (not pairing)?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Damon Black:
So, in your opinion, is there a place in an 'agile' shop for someone who works better in a quiet, focused setting (not pairing)?
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Jeff Langr:
In all honesty, most "agile" shops don't do pairing, or if they do, they do it infrequently and inconsistently. It's mostly the shops that actually use the word "XP" that are doing the pairing. So I don't think you have to worry too much about places to choose from.
I've written a few articles on pairing; I usually talk about how I came from your position of resistance, but that I grew to really enjoy it and have gotten a lot of benefit out of it.
I would be leery of working in an organization where someone up above (a VP, perhaps) insisted that every team had to pair.
Originally posted by Damon Black:
That's exactly the situation where I used to work. I really do think pairing would be far more useful, and enjoyable, if it was treated as a tool that programmers can use when the need it. To apply it as a mandated practice seems to be a misapplication of the stated values of agile and xp.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Damon Black:
The thing that really gets me, is that when I do have the luxury of working alone, the difference is like night and day. Everything makes sense, I'm calm and focused, and productive, and I actually have fun while I work.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Jeff Langr:
But XP version 1 explicitly expected developers to pair on all production code.
I think the business can and should mandate that code is reviewed rigorously--they need to protect their investment. I don't think most organizations should go as far as mandating the means. That could be through pairing or some other mechanism (Fagan inspections?).
Originally posted by Jeff Langr:
But XP version 1 explicitly expected developers to pair on all production code.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
Note that according to Kent, XP2e describes exactly the same XP as the first edition, just with different words.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Jeff Langr:
My first reaction, which I thought was also bolstered by some of Beck's postings at the time, was that Kent felt that a process should not be so prescriptive.
http://tech.groups.yahoo.com/group/extremeprogramming/message/98303
The new edition of XP Explained doesn't describe a different XP than the first, it explains it more clearly, with the benefit of five years' experience.
http://tech.groups.yahoo.com/group/extremeprogramming/message/106962
The first edition of XP Explained was a first draft. The second edition
intends to cover the same ground more clearly and explicitly so that there
is less room for misinterpretation.
http://tech.groups.yahoo.com/group/extremeprogramming/message/107769
The first edition of XPE is "the" answer (which is absurd but comforting for those who don't like ambiguity). The second edition is [...] a method for finding the answer with hints of previously-valuable directions for exploration.
http://tech.groups.yahoo.com/group/extremeprogramming/message/104327
I think the difference is that in XPE2 I am not offering people the illusion that they aren't responsible for their own choices. After all, if you just copy what I do, then it appears to the twisted that I am responsible for the outcome. That's not now it works out.
http://tech.groups.yahoo.com/group/extremeprogramming/message/128285
I think the second edition presents a more rigorous and demanding process
than the first. The second edition expects you to pay attention to people
and context, not just check off a bullet list of practices.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
Kent: I think the second edition presents a more rigorous and demanding process than the first. The second edition expects you to pay attention to people and context, not just check off a bullet list of practices.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Jeff Langr:
That quote is in alignment with my notion that XP1E is very prescriptive, and XP2E says that things are best dealt with in context. My original point was that, per XP version 1, you had to do pairing or you weren't doing XP.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
... not a flaw of XP itself.
Originally posted by Damon Black:
out of curiosity, what are XP's flaws, in your opinion?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Damon Black:
out of curiosity, what are XP's flaws, in your opinion?
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Originally posted by Jeff Langr:
- the discipline to always write tests first
- removing as much possible duplication in code when refactoring, to keep the code base clean. Most developers, even senior ones, don't do this enough.
- figuring out how to automate acceptance tests
Originally posted by Damon Black:
We managed to test-drive pretty consistently, but often the red-green-refactor cycle devolved to red-green-"next!", especially under time pressure.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
"Computer science is no more about computers than astronomy is about telescopes" - Edsger Dijkstra
Originally posted by Rusty Shackleford:
Constant distractions, noisy environment, people looking over your shoulder. What a mess.
Originally posted by Frank Carver:
Just as an aside, I don't think you can really count these as drawbacks of XP or agile methods. I have been working in software development for about 25 years, for several different companies, with a wide variety of corporate attitudes to software development. I can't think of a single case where I have not had "Constant distractions, noisy environment, people looking over your shoulder". Perhaps your experience has been different.
For me, at least, agile development is an effective way to make use of such an environment, certainly not the cause of it!
"Computer science is no more about computers than astronomy is about telescopes" - Edsger Dijkstra
Originally posted by Rusty Shackleford:
Constant distractions, noisy environment, people looking over your shoulder. What a mess.
Originally posted by Rusty Shackleford:
XP is NOT a natural way to do things. That fact you need a coach is proof of that.
Originally posted by Rusty Shackleford:
If you are constantly communicating, you are distracted by the task at hand.
Originally posted by Rusty Shackleford:
The problem with any process is that it is a one size fits all approach. What makes XP worse is that it is very rigid. One part fails, the project starts spiraling down.
Originally posted by Rusty Shackleford:
A shop that rigidly adheres to any process is not a shop worth working for. Whatever process you use must be tailored to fit the dynamic of the team and work to the strengths of the individual programmers. Otherwise you are just pounding a square block into a round hole.
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Did you see how Paul cut 87% off of his electric heat bill with 82 watts of micro heaters? |