tag:blogger.com,1999:blog-22586791.post-1161147183354130082006-10-17T21:52:00.000-07:002006-10-17T21:49:02.339-07:00<span style="font-weight: bold;font-family:arial;font-size:100%;" >My dime on pair programming</span><br /><p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">After reading Steve’s/Ravi Mohans blog about Agile Methodology, I can’t hold onto my horses.</span></p><p class="MsoNormal" style="text-indent: 0.5in;font-family:arial;"><span style="font-size:100%;">Recently I did the interiors of my new house which costed me a lot. I was thinking, what if my carpenters were to do pairing? Would I hire a carpenter who does pairing? Answer is absolutely <b style="">no</b>. If we go by the definition, quality of my interiors should be better if they were to do pairing. I don’t know about the quality but no way in hell I would agree to pay 2 people for doing the same thing. I never believed that pairing would produce better quality code. Reason for me to say that is, if you even put 4 idiots like me, quality of the code would not be any better; in fact it would be worse hahhahaha… All these advocates of pairing should think through this analogy. What if they are getting operated and the surgeon says, to increase the quality of the surgery I would like to pair and you would have to bear the cost (I can’t stop laughing). How much confidence will they have going to the OT?</span></p> <p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;"> </span><span style="font-size:100%;"> I see following problems with pairing;</span></p><p class="MsoNormal" style="margin-left: 1in; text-indent: -0.25in;font-family:arial;"><!--[if !supportLists]--><span style="font-size:100%;">1.<span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span><!--[endif]--><span style="font-size:100%;">Its basically highway robbery</span></p> <p class="MsoNormal" style="margin-left: 1in; text-indent: -0.25in;font-family:arial;"><!--[if !supportLists]--><span style="font-size:100%;">2.<span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span><!--[endif]--><span style="font-size:100%;">Kills Individual thinking ability of a Programmer/Human Brain – Concerns me a lot as it might create parasites.</span></p><p class="MsoNormal" style="font-family:arial;"><span style="font-size:100%;">Pairing can be applied when you want to mentor people or you don’t want to create critical single point of failures/Share Knowledge.</span></p><p face="arial" class="MsoNormal"> </p><p style="font-family: arial;" class="MsoNormal"><span style="font-size:100%;">When I think about it, for the kind of people Thoughtworks or Google hires, quality of the software will be same regardless of whether they use pairing or not. One of the funniest advantages of pairing I read was that, people can’t goof off while pairing. What if both of them are goof balls, will we switch to 3 some (hahaha, don’t take the other meaning you perverts...)</span></p> <p style="font-weight: bold;font-family:arial;" class="MsoNormal"><span style="font-size:100%;">My Conclusion</span></p><span style=";font-family:arial;font-size:100%;" ><span style=""> </span>One of the agile manifestos says “People over Processes” and there are books which talk about agile as a Process, what an irony. It’s really not about the process its all about people. If you have good people you will get good output regardless of the industry. If you have great people to mentor these good ones, you will endup having great results.</span>Knoreply@blogger.com