Originally posted by Pradeep Bhat:
Is there any name for programming where three or more get involved?
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 Pradeep Bhat:
Does the above definition apply to documentation ?.
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
one will sit farther away from the monitor, or will feel excluded from a passionate discussion between the others.
Originally posted by Pradeep Bhat:
Does the above definition apply to documentation ?.
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Pradeep Bhat:
Who decides who should pair up ? :roll:
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
In the first days, it might be a good idea to encourage the team to build many different combinations of pairs - for example by using a BVC: http://www.bigvisiblecharts.com/000004.html
I've also heard of a team that uses an alarm-clock. Every pair works together for 55 minutes, then they have a 5 minute break and switch partners.
Originally posted by Sonny Gill:
What I meant there was that if the skill levels are comparable, they will get more overall benefit from pairing up.
unless the objective was to teach the other person in sort of a master-apprentice arrangement.
I am not saying that there wont be any benefit, but will the benefit justify the cost?
There is, I suppose, no definite answer to that, and it has to be decided on a case by case basis.
Ilja, what criteria would you apply to decide which 80% of the code to choose for PP?
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 Pradeep Bhat:
55 minutes? That will mean a person will work x things per day, each thing for 55 minutes. I feel he/she will not do justice to the job.
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 Pradeep Bhat:
Why are documents excluded from 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 Pradeep Bhat:
Does the above definition apply to documentation ?.
Originally posted by Ilja Preuss:
No. That doesn't mean that writing documentation in a pair is a bad idea, though.
Originally posted by Ilja Preuss:
Well, typically you have one person working on a task from beginning to end, and the partner switching regularly.
As a result, you have one person with the knowledge of how all the things fit together, and a partner with a fresh mind and new ideas every hour!
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Lasse Koskela:
Ilja, have you had the lurking problem of having the team split to the "regulars" and the "guest stars", meaning that some people tend to sit in the same place all the time and only a part of the team are switching *places* in addition to partners? Do you feel the need to give explicit attention to preventing that from happening?
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:
Well, typically you have one person working on a task from beginning to end, and the partner switching regularly.
As a result, you have one person with the knowledge of how all the things fit together, and a partner with a fresh mind and new ideas every hour!
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
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 Ilja Preuss:
Originally posted by Sonny Gill:
What I meant there was that if the skill levels are comparable, they will get more overall benefit from pairing up.
I don't even think that sentence makes much sense
Originally posted by Pradeep Bhat:
Is there any name for programming where three or more get involved?
In many situations, the paired programmer need not be programming literate, but problem domain literate. Having the domain expert sitting alongside, the programmer can question the expert immediately regarding something that comes up but isn't apparent until the code itself is being written. To answer several "what if" situations. As a corollary, the expert can have the programmer explain what is being done, and comment on whether the programmer is going down the correct path or has perhaps made a wrong assumption.
Originally posted by Sonny Gill:
I meant to compare the benefits of pair programming in those two different scenarios - 1) comparable skill levels, and 2) big gap in skill levels
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 point is that organizations should grow the cultures that they value, and that those cultures may not be appropriate for everyone. Anyone who says every shop should do XP or RUP or whatever is insane. The reality is that there are always other shops to choose from.
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
When I joined the team three years ago, he would typically get his assignment, look at a blank wall for 3 hours, and then code the solution. Getting him to even notice you while he concentrated required a whole lot of effort. We PP'ed a little bit to get me up to speed, but it certainly wasn't easy and didn't stick as a practice.[/qoute]
sounds like me. Once I really get into coding you can shoot of a gun next to my head and I won't notice.
I also tend to loose track of time. More than once I've been brought out of a coding frenzy after 10 hours or so only because I got seriously hungry.
42
Originally posted by U Patel:
if a piece of work is being designed by two developer or team will be much more effective than looking at the code over the shoulder.
--------------------------------------------------------------------------------
PP is *not at all* about "looking over someones shoulder". That's a very common misconception.
I am lucky enough to have a very good friend working with me in the team. After PP'ing for two consecutive weeks, we recently were on the brink to killing each other.
That's one of the reasons most teams prefer to switch partners several times a day.
42
Originally posted by Jeroen Wenting:
For example in our team we have 3 Java people, switching partners there would be kinda tough.
forcibly working together on the same piece of code constantly (or even most of the time) just won't work for us.
We're too much individuals.
Which brings out the crux: while PP might work for proverbial interchangable code monkeys, and for solving difficult problems together that take more than each single person in a team can do on his own, overall it tends to constrain the creativity of the people involved.
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 Jeroen Wenting:
While PP might work for proverbial interchangable code monkeys, and for solving difficult problems together that take more than each single person in a team can do on his own, overall it tends to constrain the creativity of the people involved.
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Originally posted by Jeroen Wenting:
Even a book about XP by Kent Beck himself that I read mentions it specifically.
One person writes the code while the other looks and intervenes when he sees things go in the wrong direction.
That's specifically what Kent wrote to describe pair programming, and he more or less invented the practice as relates to XP...
(pg. 100, roughly translated back into english by me)
"Pair Programming doesn't mean that one person programs, while the other watches. ... Pair Programming is a dialog between to developers, who try to program (and analyze, design and test) together, and to learn how to improve. It is an conversation happening on many levels, which is aided by a computer, and focused on a computer."
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 Linda Rising:
There are so many principles of XP or the other Agile Methods whose goal it is to get us to work well together. PP is probably at the top of that list. I'm not sure it's necessary to adopt this practice if it doesn't work well for you *and* if you communicate with your team members and do some kind of code review./.../
We are doing it on a four people team, and it works just well.
[OCP 21 book] | [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 Dan Johnsson:
So having a fast feedback cycle by sitting a meter from a collegue, who you constantly exchange id�as with, is not pair programming in letter, but well in spirit.
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 Jeanne Boyarsky:
Ilja,
How do you handle vacation days, meetings, etc? In other words, do you end up programming individually when an odd number of people are around?
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
Books: Pragmatic Unit Testing in Java, Agile Java, Modern C++ Programming with TDD, Essential Java Style, Agile in a Flash. Contributor, Clean Code.
Thanks,
Santosh
Originally posted by Santosh Ram:
From my experience I prefer pair programming (I would call it pair DEBUGGING)only if I am debugging something and I am not able to resolve it for a long time.
With all the Java/J2EE coding practices around I really do not see pair programming as an effective tool in development phase.
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
CAUTION! Do not touch the blades on your neck propeller while they are active. Tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
|